SQL Server 2000 資料庫分離與附加

2021-04-09 00:13:30 字數 3418 閱讀 7517

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

**allint

檔案的數字識別符號。

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

sqlserver2000 匯入資料

在sql查詢分析器內輸入 sp attach db advnet d advnet advnet data.mdf d advnet advnet log.ldf 然後執行 執行前 沒有advnet資料庫 如果已經有該名的資料庫,必須先刪除該資料庫 執行後 建立了advnet資料庫,以 d advn...

SQL Server 2000 資料型別

資料型別 在 microsoft sql server 中,每個列 區域性變數 表示式和引數都有乙個相關的資料型別,這是指定物件可持有的資料型別 整型 字元 money 等等 的特性。sql server 提供系統資料型別集,定義了可與 sql server 一起使用的所有資料型別。下面列出系統提供...

SQLSERVER2000技術規格

sqlserver2000技術規格 系統技術規格 每個伺服器最多可以允許16個sqlserver例項 每個例項可擁有 2147483467 個鎖 資料庫技術規格 sqlserver的資料庫大小1048516tb 每個資料庫可擁有的檔案組數32767 每個資料庫可擁有的檔案組數256 檔案大小 資料檔...