將數(shù)據(jù)庫(kù)附加到服務(wù)器。
sp_attach_db [ @dbname = ] 'dbname'
,
[ @filename1 = ] 'filename_n' [ ,...16 ]
[@dbname =] 'dbname'
要附加到服務(wù)器的數(shù)據(jù)庫(kù)的名稱(chēng)。該名稱(chēng)必須是唯一的。dbname 的數(shù)據(jù)類(lèi)型為 sysname,默認(rèn)值為 NULL。
[@filename1 =] 'filename_n'
數(shù)據(jù)庫(kù)文件的物理名稱(chēng),包括路徑。filename_n 的數(shù)據(jù)類(lèi)型為 nvarchar(260),默認(rèn)值為 NULL。最多可以指定 16 個(gè)文件名。參數(shù)名稱(chēng)以 @filename1 開(kāi)始,遞增到 @filename16。文件名列表至少必須包括主文件,主文件包含指向數(shù)據(jù)庫(kù)中其它文件的系統(tǒng)表。該列表還必須包括數(shù)據(jù)庫(kù)分離后所有被移動(dòng)的文件。
0(成功)或 1(失?。?/P>
無(wú)
只應(yīng)對(duì)以前使用顯式 sp_detach_db 操作從數(shù)據(jù)庫(kù)服務(wù)器分離的數(shù)據(jù)庫(kù)執(zhí)行 sp_attach_db。如果必須指定多于 16 個(gè)文件,請(qǐng)使用帶有 FOR ATTACH 子句的 CREATE DATABASE。
如果將數(shù)據(jù)庫(kù)附加到的服務(wù)器不是該數(shù)據(jù)庫(kù)從中分離的服務(wù)器,并且啟用了分離的數(shù)據(jù)庫(kù)以進(jìn)行復(fù)制,則應(yīng)該運(yùn)行 sp_removedbreplication 從數(shù)據(jù)庫(kù)刪除復(fù)制。
只有 sysadmin 和 dbcreator 固定服務(wù)器角色的成員才能執(zhí)行本過(guò)程。
下面的示例將 pubs 中的兩個(gè)文件附加到當(dāng)前服務(wù)器。
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
相關(guān)文章