文章編號: 224071 - 上次校閱: 2011年5月14日 - 版次: 15.0 如何使用 SQL Server 中的卸離和附加功能將 SQL Server 資料庫移到新位置
本文曾發行於 CHT224071 在此頁中結論 本文將告訴您,如何變更任何 Microsoft SQL Server 2005、SQL Server 2000 或
SQL Server 7.0 資料庫的資料檔案和記錄檔的位置。 如需有關如何在 SQL Server 2005 中移動系統資料庫的詳細資訊,請參閱《SQL Server 線上叢書》中的<移動系統資料庫>(英文) 主題。如果要檢視這個主題,請造訪下列 Microsoft Developer Network (MSDN) 網站: http://msdn2.microsoft.com/zh-tw/library/ms345408.aspx
(http://msdn2.microsoft.com/zh-tw/library/ms345408.aspx)
其他相關資訊 變更部分 SQL Server
系統資料庫位置的必要步驟與變更使用者資料庫位置的必要步驟是不同的。我們將會另行說明這些特殊案例。 注意 SQL Server 7.0 系統資料庫和 SQL Server 2000 不相容。不要將 SQL Server 7.0 master、model、msdb 或散發資料庫附加到 SQL Server 2000。如果您使用的是 SQL Server 2005,則只能將 SQL Server 2005 資料庫附加到執行個體。本文中的所有範例均假定 SQL Server 是安裝在 D:\Mssql7 資料夾中。此外,這些範例亦假定所有資料檔案和記錄檔均位於預設的 D:\Mssql7\Data 資料夾中。這些範例會將所有資料庫的資料檔案和記錄檔移至 E:\Sqldata 資料夾。 先決條件
移動使用者資料庫下例將會移動名為 mydb 的資料庫。此資料庫包含一個資料檔案 Mydb.mdf 和一個記錄檔 Mydblog.ldf。如果您正在移動的資料庫有更多的資料檔案或記錄檔,請在 sp_attach_db 預存程序中的逗點分隔清單中指定檔案。不論資料庫包含多少檔案,sp_detach_db 程序都不會改變,因為 sp_detach_db 程序不會列出檔案。
922804?
(http://support.microsoft.com/kb/922804/
)
FIX:After you detach a Microsoft SQL Server 2005 database that resides on network-attached storage, you cannot reattach the SQL Server database
請試想以下問題。此外,請考量當資料庫在 SQL Server 2005
中卸離時,套用至該資料庫的權限。如需詳細資訊,請參閱《SQL Server
線上叢書》中「保護資料和記錄檔的安全」的<卸離及附加資料庫>一節。如果要檢視這個主題,請造訪下列 Microsoft Developer Network
(MSDN) 網站:http://msdn2.microsoft.com/zh-tw/library/ms189128.aspx
(http://msdn2.microsoft.com/zh-tw/library/ms189128.aspx)
移動範例資料庫如果要移動 SQL Server 2000 或 SQL Server 7.0 中的 pubs 範例資料庫和 Northwind 範例資料庫,或移動 SQL Server 2005 中的 AdventureWorks 範例資料庫和 AdventureWorksDW 範例資料庫,請依照與移動使用者資料庫相同的程序執行。移動 model 資料庫SQL Server 7.0
SQL Server 2005 和 SQL Server 2000在 SQL Server 2005 和 SQL Server 2000 中,您無法使用 sp_detach_db 預存程序來卸離系統資料庫。當您嘗試執行 sp_detach_db 'model' 陳述式時,收到下列錯誤訊息:伺服器:訊息 7940,層次 16,狀態 1,行
1 無法卸離 master、model、msdb 以及 tempdb 系統資料庫。 注意 在執行這項操作之後,將無法存取任何使用者的資料庫。當您使用此追蹤旗標時,除了下列步驟,不得執行任何作業。如果要新增追蹤旗標 3608 做為 SQL Server 啟動參數,請依照下列步驟執行:
http://msdn2.microsoft.com/zh-tw/library/ms190737.aspx
(http://msdn2.microsoft.com/zh-tw/library/ms190737.aspx)
在加入 -c 選項、-m 選項和追蹤旗標 3608 之後,請依照下列步驟執行:
移動 MSDB 資料庫SQL Server 7.0注意 如果您在移動 msdb 和 model 資料庫時使用此程序,必須先重新附加 model 資料庫,然後再重新附加 msdb 資料庫。請依照下列步驟執行:
伺服器:訊息 3702,層次 16,狀態
1,行 0 無法卸除資料庫 'msdb',因為目前正在使用中。 DBCC 的執行已經完成。如果 DBCC 印出錯誤訊息,請聯絡您的系統管理員。 SQL Server 2005 和 SQL Server 2000如果要移動 MSDB 資料庫,您必須同時啟動 SQL Server 以及 -c 選項、-m 選項和追蹤旗標 3608。追蹤旗標 3608 可防止 SQL Server 復原 master 資料庫以外的資料庫。如果要加入 -c 選項、-m 選項和追蹤旗標 3608,請依照<移動 model 資料庫>一節中的步驟執行。在加入 -c 選項、-m 選項和追蹤旗標 3608 之後,請依照下列步驟執行:
訊息 0,層次 11,狀態 0,行 0
在目前的命令上發生嚴重錯誤。如果有任何結果,都必須捨棄。 在您移動 msdb 資料庫之後,可能會收到下列錯誤訊息: 錯誤 229:EXECUTE 使用權限在物件
'ObjectName'、資料庫 'master'、擁有者 'dbo' 上被拒絕。) 272424?
(http://support.microsoft.com/kb/272424/
)
INF: Object Ownership Chain Checking Across Databases Depends on the Login That Is Mapped to the Object Owners
移動 master 資料庫
移動 tempdb 資料庫您可以使用 ALTER DATABASE 陳述式來移動 tempdb 檔案。
?考 如需詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件: 912397?
(http://support.microsoft.com/kb/912397/
)
The SQL Server service cannot start when you change a startup parameter for a clustered instance of SQL Server 2000 or of SQL Server 2005 to a value that is not valid
274188?
(http://support.microsoft.com/kb/274188/
)
PRB:線上叢書的疑難排解孤兒使用者主題不完整
246133?
(http://support.microsoft.com/kb/246133/
)
如何在 SQL Server 的執行個體之間傳送登入和密碼
168001?
(http://support.microsoft.com/kb/168001/
)
PRB:還原傾印之後發生使用者登入及 (或) 權限錯誤
如需詳細資訊,請參閱下列叢書: Microsoft Corporation Microsoft SQL Server 7.0 System Administration Training Kit Microsoft Press, 2001 Microsoft Corporation MCSE Training Kit:Microsoft SQL Server 2000 System Administration (http://www.microsoft.com/mspress/books/4885.aspx) Microsoft Press, 2001 Microsoft Corporation Microsoft SQL Server 2000 Resource Kit (http://www.microsoft.com/mspress/books/4939.aspx) Microsoft Press, 2001 這篇文章中的資訊適用於:
Microsoft及(或)其供應商不就任何在本伺服器上發表的文字資料及其相關圖表資訊的恰當性作任何承諾。所有文字資料及其相關圖表均以「現狀」供應,不負任何擔保責任。Microsoft及(或)其供應商謹此聲明,不負任何對與此資訊有關之擔保責任,包括關於適售性、適用於某一特定用途、權利或不侵權的明示或默示擔保責任。Microsoft及(或)其供應商無論如何不對因或與使用本伺服器上資訊或與資訊的實行有關而引起的契約、過失或其他侵權行為之訴訟中的特別的、間接的、衍生性的損害或任何因使用而喪失所導致的之損害、資料或利潤負任何責任。 | 其他資源 其他支援網站社群立即取得協助文章翻譯
|






Windows Live
Facebook
Twitter
Linkedin
Digg it
Yahoo
Delicious
StumbleUpon
Yammer
Reddit
Technorati
FriendFeed
Email
回此頁最上方
