sp_copysubscription (Transact-SQL)

重要说明重要提示

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

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

主题链接图标Transact-SQL 语法约定

语法

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

参数

  • [ @filename =] 'file_name'
    指定保存数据文件 (.mdf) 副本的完整路径(包括文件名)。file name 的数据类型为 nvarchar(260),没有默认值。

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

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

返回代码值

0(成功)或 1(失败)

注释

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

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

只对具有客户端订阅的数据库支持 sp_copysubscription,并且在数据库具有服务器订阅时无法执行。

权限

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