sp_copysubscription (Transact-SQL)

适用于:SQL ServerAzure SQL 托管实例

重要

不推荐使用可附加的订阅功能,未来的版本中将删除该功能。 在新的开发工作中不要使用此功能。 对于使用参数化筛选器分区的合并发布,建议您使用分区快照的新功能,这些功能可简化大量订阅的初始化。 有关详细信息,请参阅 Snapshots for Merge Publications with Parameterized Filters。 对于未分区的发布,可以使用备份来初始化订阅。 有关详细信息,请参阅 初始化事务订阅(不使用快照)中手动初始化订阅。

复制具有请求订阅但无推送订阅的订阅数据库。 仅可复制单个文件数据库。 此存储过程在订阅服务器的订阅数据库中执行。

Transact-SQL 语法约定

语法

  
sp_copysubscription [ @filename = ] 'file_name'  
    [ , [ @temp_dir = ] 'temp_dir' ]  
    [ , [ @overwrite_existing_file = ] overwrite_existing_file]  

参数

[ @filename = ] 'file_name' 指定完整路径(包括文件名)的字符串,数据文件) (.mdf 的副本将保存到该路径。 文件名nvarchar (260) ,没有默认值。

[ @temp_dir = ] 'temp_dir' 包含临时文件的目录的名称。 temp_dirnvarchar (260) ,默认值为 NULL。 如果为 NULL,将使用 Microsoft SQL Server默认数据目录。 该目录应有足够的空间可容纳具有保持所有组合的订阅服务器数据库文件大小的文件。

[ @overwrite_existing_file = ] 'overwrite_existing_file' 可选布尔标志,指定是否覆盖 @filename中指定的同名的现有文件。 overwrite_existing_file,默认值为 0。 如果 为 1,则覆盖 @filename指定的文件(如果存在)。 如果 为 0,则如果文件存在,则存储过程将失败,并且该文件不会被覆盖。

返回代码值

0 (成功) 或 1 (失败)

备注

sp_copysubscription 用于所有类型的复制,以将订阅数据库复制到文件,作为在订阅服务器上应用快照的替代方法。 必须将数据库配置为仅支持请求订阅。 具有相应权限的用户可制作订阅数据库的副本,然后将订阅文件 (.msf) 用电子邮件发送、复制或传输到另一个订阅服务器,这样它就可以作为订阅附加到该订阅服务器上。

要复制的订阅数据库的大小必须小于 2 GB。

sp_copysubscription 仅支持具有客户端订阅的数据库,并且不能在数据库具有服务器订阅时执行。

权限

只有 sysadmin 固定服务器角色的成员才能执行 sp_copysubscription

另请参阅

备用快照文件夹位置
系统存储过程 (Transact-SQL)