本文僅討論實作方式,並未包含:效能、安全等主題的討論。
若在建立資料庫時,選擇是建立到網路硬碟時,將遇到以下的錯誤訊息:
訊息 5110,層級 16,狀態 2,行 1 檔案 "\\10.0.1.8\d$\DBNetDB01.mdf" 所在的網路路徑不支援資料庫檔案。 訊息 1802,層級 16,狀態 1,行 1 CREATE DATABASE 失敗。某些列出的檔案名稱無法建立。請檢查相關的錯誤。
若是確認要在網路硬碟(例如:NAS,Network Attached Storage) 上建立資料庫,請啟用追蹤旗標 1807 。
啟用追蹤旗標 1807 會略過檢查,並允許您使用網路資料庫檔案設定 SQL Server。
因為網路錯誤有損害資料庫完整性的風險,以及使用網路檔案共享來儲存資料庫也可能影響效能。
建議:
您利用存放區域網路 (SAN)、iSCSI 型網路或本機連接的磁碟來儲存 SQL Server 資料庫檔案,因為這個組態可使 SQL Server 效能和可靠性最佳化。
依預設,不會對 SQL Server 啟用使用網路資料庫檔案 (儲存在具備網路功能的伺服器或網路連接的儲存體上)。
實作練習
適用版本:
SQL Server 7、2000、2005、2008
準備工作
請先設定、確認執行個體的「SQL Server 服務帳戶」,對於遠端的網路硬碟具備寫入的權限。
工作1:啟用追蹤旗標 1807
工作2:建立資料庫在 UNC 網路硬碟。
請參考以下的範例碼:
-- 啟用追蹤旗標 1807 。 DBCC TRACEON (1807) GO -- 列出所有針對目前工作階段而啟用的追蹤旗標。 DBCC TRACESTATUS; GO -- 建立資料庫,已啟用追蹤旗標 1807。 CREATE DATABASE [NetDB01] ON PRIMARY ( NAME = N'NetDB01', FILENAME = N'\\10.0.1.8\c$\NetDB01.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = N'NetDB01_log', FILENAME = N'\\10.0.1.8\c$\NetDB01_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%) GO -- 停用指定的追蹤旗標 1807 DBCC TRACEOFF(1807) GO -- 列出所有針對目前工作階段而啟用的追蹤旗標。 DBCC TRACESTATUS; GO -- 檢查資料庫的檔案 SELECT * FROM NetDB01.sys.database_files -- 對此資料庫新增資料表與資料 SELECT * INTO NetDB01.dbo.TransactionHistory FROM AdventureWorks2008.Production.TransactionHistory
請參考下圖所示:
參考資料:
說明 SQL Server 對網路資料庫檔案的支援
Description of support for network database files in SQL Server
http://support.microsoft.com/kb/304261
每個資料庫管理員都應知道的磁碟機快取與 SQL Server 並用說明
Description of using disk drive caches with SQL Server that every database administrator should know
http://support.microsoft.com/kb/234656/
沒有留言:
張貼留言