SQL Server 2000 資料庫分離與附加

來源:互聯網
上載者:User

sp_detach_db
從伺服器分離資料庫,並可以選擇在分離前在所有的表上運行 UPDATE STATISTICS。

文法
sp_detach_db [ @dbname = ] 'dbname'
    [ , [ @skipchecks = ] 'skipchecks' ]

參數
[@dbname =] 'dbname'

要分離的資料庫名稱。dbname 的資料類型為 sysname,預設值為 NULL。

[@skipchecks =] 'skipchecks'

skipchecks 的資料類型為 nvarchar(10),預設值為 NULL。如果為 true,則跳過 UPDATE STATISTICS。
如果為 false,則運行 UPDATE STATISTICS。對於要移動到唯讀媒體上的資料庫,此選項很有用。

傳回碼值
0(成功)或 1(失敗)

結果集

注釋
使用 sp_attach_db 或 sp_attach_single_file_db 保留並重新附加分離檔案。檔案也可以移動並附加到其它伺服器上。

許可權
只有 sysadmin 固定伺服器角色的成員才能執行 sp_detach_db。

樣本
下面的樣本分離 pubs 資料庫,並將 skipchecks 設為 true。
EXEC sp_detach_db 'pubs', 'true'

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'

sp_attach_single_file_db
將只有一個資料檔案的資料庫附加到當前伺服器。

文法
sp_attach_single_file_db [ @dbname = ] 'dbname'
    , [ @physname = ] 'physical_name'

參數
[@dbname =] 'dbname'

要附加到伺服器的資料庫的名稱。dbname 的資料類型為 sysname,預設值為 NULL。

[@physname =] 'phsyical_name'

據庫檔案的實體名稱,包括數路徑。physical_name 的資料類型為 nvarchar(260),預設值為 NULL。

傳回碼值
0(成功)或 1(失敗)

結果集

注釋
當使用 sp_attach_single_file_db 將資料庫附加到伺服器時,它建立一個新的記錄檔並執行額外的清除工作,從新附加的資料庫中刪除複製。

僅對以前使用顯式 sp_detach_db 操作從伺服器分離的資料庫執行 sp_attach_single_file_db。

許可權
只有 sysadmin 和 dbcreator 固定伺服器角色的成員才能執行本過程。

樣本
下面的樣本分離 pubs,然後將 pubs 中的一個檔案附加到當前伺服器。

EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
   @physname = 'c:/Program Files/Microsoft SQL Server/MSSQL/Data/pubs.mdf'

sp_helpfile
返回與當前資料庫關聯的檔案的實體名稱及特性。使用此預存程序確定附加到伺服器或從伺服器分離的檔案名稱。

文法
sp_helpfile [ [ @filename = ] 'name' ]

參數
[@filename =] 'name'

是當前資料庫中任意檔案的邏輯名稱。name 的資料類型為 sysname,預設值為 NULL。如果不指定 name,會列出當前資料庫中所有檔案的特性。

傳回碼值
0(成功)或 1(失敗)

結果集

列名 資料類型 描述
name sysname 邏輯檔案名稱。
fileid smallint 檔案的數位識別碼符。
filename nchar(260) 物理檔案名稱。
filegroup sysname 檔案所屬的組。為便於分配和管理,可以將資料庫檔案分成檔案組。記錄檔不屬於檔案組。
size nvarchar(18) 檔案大小。
maxsize nvarchar(18) 檔案可達到的最大值。此欄位中的 UNLIMITED 值表示檔案可以一直增大直到磁碟滿為止。
growth nvarchar(18) 檔案的增量。表示每次需要新的空間時給檔案增加的空間大小。
usage varchar(9) 檔案用法。資料檔案只能用於 data only,而記錄檔只能用於 log only

許可權
執行許可權預設賦予 public 角色。

樣本
下面的樣本返回有關 pubs 中的檔案的資訊。

USE pubs
EXEC sp_helpfile
 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.