搜尋本站文章

2017-03-10

[MySQL]:查詢資料庫的存放路徑 datadir

若要查詢 MySQL 資料庫的資料存放路徑,可以使用以下的方式:



示範環境

  • MySQL Community Server 5.7.17
  • Windows Server 2016

預設的資料目錄:
C:\ProgramData\MySQL\MySQL Server 5.7\Data




-- 使用 @@datadir


SELECT @@datadir;







-- 使用 show variables

show variables where variable_name LIKE '%dir';






檢視 my.ini檔案的內容





預設 my.ini 的檔案路徑是:
"C:\ProgramData\MySQL\MySQL Server 5.7\my.ini"







參考資料

5.4.2 mysql_install_db — Initialize MySQL Data Directory
https://dev.mysql.com/doc/refman/5.7/en/mysql-install-db.html#option_mysql_install_db_datadir

Table 4.1 Option Files Read on Windows Systems
https://dev.mysql.com/doc/refman/5.6/en/option-files.html

2017-03-07

[SQL Server]:啟用「讀取認可快照(READ_COMMITTED_SNAPSHOT)」


關聯式資料庫為了確保資料一致性,使用:交易與鎖定等機制來處理。
若是為了:

  1. 防止交易讀到尚未認可的資料修改 (中途讀取)。
  2. 將鎖定爭用的情況降到最低。

在SQL Server 2005中提供了:

  1. 「讀取認可快照(READ_COMMITTED_SNAPSHOT)」
  2. 「快照集隔離(SNAPSHOT isolation)」


若要啟用「讀取認可快照(READ_COMMITTED_SNAPSHOT)」,可以使用以下的方式:

  • SSMS管理工具:指定資料庫的屬性
  • T-SQL 陳述式:ALTER DATABASE...SET READ_COMMITTED_SNAPSHOT ON




-- 01_SSMS_啟用讀取認可快照





T-SQL 陳述式:ALTER DATABASE...SET READ_COMMITTED_SNAPSHOT ON

啟用「讀取認可快照(READ_COMMITTED_SNAPSHOT)」


-- 01_查詢伺服器上各個資料庫的「讀取認可快照」、「快照集隔離」之狀態
SELECT name N'資料庫', snapshot_isolation_state N'快照集隔離交易狀態',
 snapshot_isolation_state_desc N'快照集隔離交易狀態的描述',
 is_read_committed_snapshot_on N'啟用讀取認可快照'
FROM sys.databases
ORDER BY 4 DESC
GO

-- 02_啟用特定資料庫的「讀取認可快照」
USE master
GO
ALTER DATABASE DB01
    SET READ_COMMITTED_SNAPSHOT ON
 WITH ROLLBACK IMMEDIATE;
GO

-- 03_查詢伺服器上各個資料庫的「讀取認可快照」、「快照集隔離」之狀態
SELECT name N'資料庫', snapshot_isolation_state N'快照集隔離交易狀態',
 snapshot_isolation_state_desc N'快照集隔離交易狀態的描述',
 is_read_committed_snapshot_on N'啟用讀取認可快照'
FROM sys.databases
ORDER BY 4 DESC
GO

-- 04_關閉:特定資料庫的「讀取認可快照」
USE master
GO
ALTER DATABASE DB01
    SET READ_COMMITTED_SNAPSHOT OFF
 WITH ROLLBACK IMMEDIATE;
GO

-- 05_查詢伺服器上各個資料庫的「讀取認可快照」、「快照集隔離」之狀態
SELECT name N'資料庫', snapshot_isolation_state N'快照集隔離交易狀態',
 snapshot_isolation_state_desc N'快照集隔離交易狀態的描述',
 is_read_committed_snapshot_on N'啟用讀取認可快照'
FROM sys.databases
ORDER BY 4 DESC
GO




-- 21_TSQL_查詢_讀取認可快照


-- 22_啟用特定資料庫的「讀取認可快照」


-- 23_TSQL_查詢_讀取認可快照






參考資料

在「資料庫鏡像」上,啟用「讀取認可快照(Read Committed Snapshot)」。遭遇錯誤:訊息 1468,層級 16,狀態 4,因為它牽涉到資料庫鏡像工作階段(because it is involved in a database mirroring session)。
http://sharedderrick.blogspot.tw/2010/05/read-committed-snapshot-1468-16.html

Database Engine 中的隔離等級
http://msdn.microsoft.com/zh-tw/library/ms189122.aspx

Database Engine 中資料列版本控制式的隔離等級
http://msdn.microsoft.com/zh-tw/library/ms179599.aspx

啟用資料列版本控制式的隔離等級
http://msdn.microsoft.com/zh-tw/library/ms175095.aspx

How to Enable RCSI for a Database with Database Mirroring
http://blogs.msdn.com/sqlcat/archive/2010/03/16/how-to-enable-rcsi-for-a-database-with-database-mirroring.aspx

SQL Server 中的快照集隔離
https://msdn.microsoft.com/zh-tw/library/tcbchxcb(v=vs.110).aspx

選擇以資料列版本控制為基礎的隔離等級
https://technet.microsoft.com/zh-tw/library/ms188277(v=sql.90).aspx

2017-03-04

[SQL Server]:壓力測試工具 OSTRESS


OSTRESS:可以對 SQL Server 做壓力測試的工具,這是以 ODBC 為基礎的多重執行緒的查詢工具。


  • 可以設定平行執行給定 T-SQL 陳述式的執行緒數目,以及指定此執行緒上應該執行陳述式的次數。
  • OSTRESS 會加快執行緒的速度,並平行執行所有執行緒上的陳述式。
  • 所有執行緒完成執行之後,OSTRESS 會報告所有執行緒完成執行所花費的時間。


這是 Microsoft SQL Server support team 內部所使用的公用程式。

請謹慎使用。





使用 OSTRESS

點選「RML Cmd Prompt」命令提示字元視窗。



範例:

(1) 直接執行指定的 T-SQL 陳述式。

使用參數 Q



ostress.exe -Q"Select @@VERSION"


若未指定結果的輸出目錄,將會放置到該使用者帳戶的預設TEMP資料夾內,例如:C:\Users\Administrator\AppData\Local\Temp\output。


(2) 重複執行指定的 T-SQL 陳述式 100 次。

使用參數:r

ostress.exe –Q"SELECT @@VERSION" -r100


(3) 開啟 50 條並行連接,也就是 50 條執行緒(threads),並且重複執行 100 次。

使用參數:n 、 r。執行完成後,會關閉連線。

ostress.exe –Q"SELECT @@VERSION" -n50 –r100


(4) 開啟 50 條並行連接,也就是 50 條執行緒(threads),重複執行 20 次,並且採取安靜模式,抑制所有查詢輸出。

使用參數:q 、 n 、 r。執行完成後,會關閉連線。

ostress.exe –Q"SELECT @@VERSION" -n50 –r20 -q


(5) 直接執行指定的 T-SQL 陳述式,將結果輸出到c:\temp。

使用參數:o。測試後,使用者權限足夠,系統會自動建立資料夾。

ostress.exe -Q"SELECT @@VERSION" –oc:\temp





OSTRESS 參數說明

提醒事項,有區分大小寫。

-S:要連接之 MicrosoftSQL Server 執行個體的名稱
-E:使用 Windows 驗證進行連接 (預設值),如果使用 SQL Server 驗證,請分別使用 -U 和 -P 選項來指定使用者名稱和密碼

-d:資料庫的名稱
-Q:要執行的 T-SQL 陳述式

-n:處理每個輸入檔案/查詢的連接數目
-r:每個連接執行每個輸入檔案/查詢的反覆運算次數

-q:安靜模式;抑制所有查詢輸出


-- OSTRESS 可用參數






請參考以下的安裝抓圖

示範環境:
作業系統:SQL Server 2016。

抓圖歷程:下載與安裝 RML(Replay Markup Language) 公用程式
https://goo.gl/photos/gpq8ENxACvMY1nQk7



OSTRESS 是由 Microsoft CSS SQL Server 支援小組所開發的命令列工具。
此工具可用來平行執行查詢或執行預存程序。

您可以設定平行執行給定 T-SQL 陳述式的執行緒數目,以及指定此執行緒上應該執行陳述式的次數,ostress 會加快執行緒的速度,並平行執行所有執行緒上的陳述式。
所有執行緒完成執行之後,ostress 會報告所有執行緒完成執行所花費的時間。

安裝 OSTRESS
OSTRESS 會當做 RML 公用程式的一部分來安裝,您無法獨立安裝 OSTRESS。

[SQL Server]:下載與安裝 RML(Replay Markup Language) 公用程式
http://sharedderrick.blogspot.tw/2017/03/sql-server-rmlreplay-markup-language.html



參考資料

記憶體內部 OLTP 的範例資料庫
https://msdn.microsoft.com/zh-tw/library/mt465764.aspx

Cumulative Update 2 to the RML Utilities for Microsoft SQL Server Released
https://blogs.msdn.microsoft.com/psssql/2013/10/29/cumulative-update-2-to-the-rml-utilities-for-microsoft-sql-server-released/

安裝 RML 公用程式和 ostress
https://github.com/Azure/azure-content-zhtw/blob/master/articles/sql-database/sql-database-in-memory.md

Description of the Replay Markup Language (RML) Utilities for SQL Server
https://support.microsoft.com/zh-tw/help/944837/description-of-the-replay-markup-language-rml-utilities-for-sql-server

Download RML Utilities for SQL Server (x64) CU4
https://www.microsoft.com/en-us/download/details.aspx?id=4511

SQL Server Stress Testing
http://www.sqlconsulting.com/news1103.htm

[SQL Server]:下載與安裝 RML(Replay Markup Language) 公用程式
http://sharedderrick.blogspot.tw/2017/03/sql-server-rmlreplay-markup-language.html

2017-03-03

[SQL Server]:下載與安裝 RML(Replay Markup Language) 公用程式

RML(Replay Markup Language) 公用程式,是 Microsoft SQL Server support team 內部所使用的公用程式。

具備幾項功能,例如:可以用來分析 SQL Trace 檔案,產生報表分析、對伺服器作壓力測試等功能。

支援的 SQL Server 版本:
SQL Server 2005、2008、2008 R2、2012、2014。
筆者的測試環境是:SQL Server 2016,亦可安裝與執行。

支援的作業系統:
Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2
筆者的測試環境是:Windows Server Server 2016,亦可安裝與執行。

包含以下的公用程式:

  1. ReadTrace
  2. Reporter
  3. OStress
  4. OStress Replay Control Agent (ORCA)






下載與安裝 RML(Replay Markup Language) 公用程式
https://support.microsoft.com/zh-tw/help/944837/description-of-the-replay-markup-language-rml-utilities-for-sql-server

請參考以下的安裝抓圖

示範環境:
作業系統:Windows Server 2016 Datacenter。

抓圖歷程

下載與安裝 RML(Replay Markup Language) 公用程式
https://goo.gl/photos/4bZTnR41PXf5QNpv9



RML 公用程式,將需要使用到 Microsoft Report Viewer 2008 Redistributable(SP1或更高版本)

Microsoft Report Viewer 2008 SP1 Redistributable - 繁體中文
https://www.microsoft.com/zh-TW/download/details.aspx?id=3841



介紹

Microsoft SQL Server支持團隊使用多個內部寫入的實用程序來簡化與典型客戶支持案例相關的工作。

本文介紹一個實用程序套件,稱為Microsoft SQL Server的重放標記語言(RML)實用程序。

數據庫開發人員和系統管理員可以使用RML Utilities for SQL Server與SQL Server 2000,SQL Server 2005,SQL Server 2008,SQL Server 2008 R2,SQL Server 2012和SQL Server 2014 CTP2配合使用。


更多信息

您可以使用RML實用程序進行SQL Server執行以下任務:

(1)您可以確定應用程序,數據庫,SQL Server登錄名或使用最多資源的查詢。

(2)可以確定在捕獲批處理的跟踪時是否更改了批處理的執行計劃。

此外,您可以使用RML Utilities for SQL Server來確定SQL Server如何執行每個執行計劃。

您可以確定運行速度比以前慢的查詢。

捕獲SQL Server實例的跟踪後,可以使用RML實用程序為SQL Server重新生成跟踪SQL Server的另一個實例的跟踪文件。

如果還在重放期間捕獲跟踪,則可以使用RML實用程序SQL Server將新跟踪文件與原始跟踪文件進行比較。

您可以使用此技術來測試應用更改後SQL Server的行為。

例如,您可以使用此技術來測試SQL Server在執行以下操作後的行為:

(1)安裝SQL Server服務包。
(2)安裝SQL Server修補程序。
(3)更新存儲過程或函數。
(4)更新索引或創建索引。




參考資料

Download RML Utilities for SQL Server (x64) CU4
https://www.microsoft.com/en-us/download/details.aspx?id=4511

Description of the Replay Markup Language (RML) Utilities for SQL Server
https://support.microsoft.com/zh-tw/help/944837/description-of-the-replay-markup-language-rml-utilities-for-sql-server

示範記憶體中 OLTP 的 AdventureWorks 延伸模組
https://msdn.microsoft.com/zh-tw/library/dn511655(v=sql.120).aspx

Cumulative Update 2 to the RML Utilities for Microsoft SQL Server Released
https://blogs.msdn.microsoft.com/psssql/2013/10/29/cumulative-update-2-to-the-rml-utilities-for-microsoft-sql-server-released/

可以用來進行 SQL Server 壓力測試 (Stress Testing) 和效能分析的兩個支援公用程式
https://support.microsoft.com/zh-tw/help/887057/description-of-the-sql-server-performance-analysis-utilities-read80trace-and-ostress

Microsoft Report Viewer 2008 SP1 Redistributable - 繁體中文
https://www.microsoft.com/zh-TW/download/details.aspx?id=3841