搜尋本站文章

2009-10-29

附加(attach)包含 FILESTREAM 的資料庫,以 AdventureWorks2008 範例資料庫為例


在 AdventureWorks2008 範例資料庫內包含了 FILESTREAM 資料類型。
若使用 SSMS 管理工具,直接採取卸離(Detach),再附加(attach) 資料庫的作法,可能在執行附加(attach)作業時,遇到以下的錯誤訊息:

訊息 5120,層級 16,狀態 105,行 1
無法開啟實體檔案 "C:\SQLDB\AdventureWorks2008_2.Documents"。作業系統錯誤 2: "2(系統找不到指定的檔案。)"。
訊息 5105,層級 16,狀態 14,行 1
發生檔案啟動錯誤。實體檔案名稱 'C:\SQLDB\AdventureWorks2008_2.Documents' 可能不正確。請診斷並校正其他錯誤,然後重試一次作業。
訊息 1813,層級 16,狀態 2,行 1
無法開啟新資料庫 'AdventureWorks2008'。CREATE DATABASE 已經中止。







這可能是因為,目前 SSMS 管理工具尚未提供附加包含 FILESTREAM 的資料庫的功能,但您可以利用以下的範例碼來執行附加(attach)作業:

/*
1. 在  FILEGROUP [DocumentFileStreamGroup] CONTAINS FILESTREAM  DEFAULT 這句話的意思是指:
設定用來存放 FILESTREAM 的預設檔案群組:[DocumentFileStreamGroup]

2. ( NAME = N'FileStreamDocuments', FILENAME = N'C:\SQLDB\AdventureWorks2008_2.Documents' ), 這句話是指:
NAME :是設定包含 FILESTREAM 的邏輯檔案名稱。
FILENAME :設定包含 FILESTREAM 的實體資料夾之路徑。
--
CONTAINS FILESTREAM
指定檔案群組會將 FILESTREAM 二進位大型物件 (BLOB) 儲存在檔案系統中。

DEFAULT
指定具名的檔案群組必須是資料庫中的預設檔案群組。
--
在本範例中,是將資料庫的實體檔案存放在:C:\SQLDB 資料夾。
包含 FILESTREAM 的實體資料夾之路徑,則是為於:C:\SQLDB\AdventureWorks2008_2.Documents 資料夾。
*/
USE [master]
GO
CREATE DATABASE [AdventureWorks2008] ON
( FILENAME = N'C:\SQLDB\AdventureWorks2008.mdf' ),
FILEGROUP [DocumentFileStreamGroup] CONTAINS FILESTREAM  DEFAULT
( NAME = N'FileStreamDocuments', FILENAME = N'C:\SQLDB\AdventureWorks2008_2.Documents' ),
( FILENAME = N'C:\SQLDB\AdventureWorks2008_1.ldf' )
FOR ATTACH
GO


參考資料:
啟用 Enable FILESTREAM ,下載安裝 AdventureWorks2008 範例資料庫(Installing Sample Databases)
http://sharedderrick.blogspot.com/2009/06/enable-filestream-adventureworks2008.html

SQL Server 2008 線上叢書 (2009 年 7 月) CREATE DATABASE (Transact-SQL)
http://technet.microsoft.com/zh-tw/library/ms176061.aspx

2009-10-28

新手學 SQL Server 2008 「以原則為基礎的管理(Policy-Based Management,PBM)」(4):技術文章


在前一篇:「新手學以原則為基礎的管理(3)」文章中,我們討論了手動評估原則、檢視執行評估作業後的歷史紀錄、增加違反原則的錯誤訊息之可讀性、利用「類別目錄」分類管理各個原則主題等等。

在本期文章中,我們將繼續介紹相關主題:如何檢視原則的健全狀態、匯出與匯入原則、匯入與使用「SQL Server最佳作法」以及排程定期評估指定的原則等主題。

完整的文章,請參考:第92期之二《新手學以原則為基礎的管理(4)》





相關參考資料:
新手學 SQL Server 2008 「以原則為基礎的管理(Policy-Based Management,PBM)」(1):技術文章
http://sharedderrick.blogspot.com/2009/03/sql-server-2008-policy-based.html

新手學 SQL Server 2008 「以原則為基礎的管理(Policy-Based Management,PBM)」(2):技術文章
http://sharedderrick.blogspot.com/2009/03/sql-server-2008-policy-based_18.htm

新手學 SQL Server 2008 「以原則為基礎的管理(Policy-Based Management,PBM)」(3):技術文章
http://sharedderrick.blogspot.com/2009/06/sql-server-2008-policy-based.html

更多相關的技術文章,請參考:DB World 資料庫專家電子雜誌
http://www.dbworld.com.tw/