搜尋本站文章

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