SP_attach_db 用法如下:
EXEC SP_attach_db @dbname = N'目標數據庫名', //這是你要引入后的數據庫名。
@filename1 = N'源數據庫DATA文件完整路徑及文件名.MDF', //指明源數據庫的數據文件
@filename2 = N'源數據庫LOG文件完整路徑及文件名.LDF' //指明源數據庫日志文件
注:最后一行不要加逗號。
《參見T-SQL 存儲過程和表引用》 清華大學出版社
Top
sp_attach_db
將數據庫附加到服務器。
語法
sp_attach_db [ @dbname = ] 'dbname'
, [ @filename1 = ] 'filename_n' [ ,...16 ]
參數
[@dbname =] 'dbname'
要附加到服務器的數據庫的名稱。該名稱必須是唯一的。dbname 的數據類型為 sysname,默認值為 NULL。
[@filename1 =] 'filename_n'
數據庫文件的物理名稱,包括路徑。filename_n 的數據類型為 nvarchar(260),默認值為 NULL。最多可以指定 16 個文件名。參數名稱以 @filename1 開始,遞增到 @filename16。文件名列表至少必須包括主文件,主文件包含指向數據庫中其它文件的系統表。該列表還必須包括數據庫分離后所有被移動的文件。
返回代碼值
0(成功)或 1(失敗)
結果集
無
注釋
只應對以前使用顯式 sp_detach_db 操作從數據庫服務器分離的數據庫執行 sp_attach_db。如果必須指定多於 16 個文件,請使用帶有 FOR ATTACH 子句的 CREATE DATABASE。
如果將數據庫附加到的服務器不是該數據庫從中分離的服務器,並且啟用了分離的數據庫以進行復制,則應該運行 sp_removedbreplication 從數據庫刪除復制。
權限
只有 sysadmin 和 dbcreator 固定服務器角色的成員才能執行本過程。
示例
下面的示例將 pubs 中的兩個文件附加到當前服務器。
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'