分享方式:


sp_copysubscription (Transact-SQL)

適用於:SQL Server Azure SQL 受控執行個體

複製提取訂閱的訂用帳戶資料庫,但沒有發送訂閱。 只能複製單一檔案資料庫。 這個預存程式會在訂閱資料庫的訂閱者端執行。

重要

SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 對於使用參數化篩選進行分割的合併式發行集,我們建議使用分割快照集的新功能,以簡化大量訂閱的初始化。 如需詳細資訊,請參閱 使用參數化篩選建立合併式發行集的快照集。 對於未分割的發行集,您可以使用備份來初始化訂閱。 如需詳細資訊,請參閱 不使用快照集初始化交易式訂閱中手動初始化訂閱。

Transact-SQL 語法慣例

語法

sp_copysubscription
    [ @filename = ] N'filename'
    [ , [ @temp_dir = ] N'temp_dir' ]
    [ , [ @overwrite_existing_file = ] overwrite_existing_file ]
[ ; ]

引數

[ @filename = ] N'filename'

字串,指定儲存資料檔複.mdf本的完整路徑,包括檔名。 @filename為 nvarchar(260),沒有預設值。

[ @temp_dir = ] N'temp_dir'

包含暫存盤的目錄名稱。 @temp_dir為 nvarchar(260),預設值為 NULL。 如果 NULL為 ,則會使用 SQL Server 預設資料目錄。 目錄應該有足夠的空間來保存合併所有訂閱者資料庫檔案大小的檔案。

[ @overwrite_existing_file = ] overwrite_existing_file

選擇性布爾值旗標,指定是否要覆寫@filename中所指定相同名稱的現有檔案。 @overwrite_existing_file為 bit,預設值為 0

  • 如果1為 ,則會覆寫@filename指定的檔案,如果檔案存在則為 。
  • 如果 0為 ,則預存程式會在檔案存在且不會覆寫檔案時失敗。

傳回碼值

0 (成功) 或 1 (失敗)。

備註

sp_copysubscription 用於所有類型的複寫,將訂閱資料庫複製到檔案,作為在訂閱者端套用快照集的替代方案。 資料庫必須設定為只支援提取訂閱。 具有適當許可權的使用者可以建立訂閱資料庫的複本,然後傳送電子郵件、複製或將訂閱檔案 (.msf) 傳輸至另一個訂閱者,然後該檔案可以附加為訂用帳戶。

要複製的訂閱資料庫大小必須小於 2 GB。

sp_copysubscription 僅支援具有用戶端訂用帳戶的資料庫,而且資料庫具有伺服器訂閱時無法執行。

權限

只有系統管理員固定伺服器角色的成員才能執行 sp_copysubscription