sp_add_log_shipping_secondary_primary (Transact-SQL)

为指定的主数据库设置主服务器信息,添加本地和远程监视器链接,并在辅助服务器上创建复制作业和还原作业。

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

语法

sp_add_log_shipping_secondary_primary
 [ @primary_server = ] 'primary_server', 
[ @primary_database = ] 'primary_database',
[ @backup_source_directory = ] 'backup_source_directory' , 
[ @backup_destination_directory = ] 'backup_destination_directory'
[ @copy_job_name = ] 'copy_job_name'
[ @restore_job_name = ] 'restore_job_name'
[, [ @file_retention_period = ] 'file_retention_period']
[, [ @monitor_server = ] 'monitor_server']
[, [ @monitor_server_security_mode = ] 'monitor_server_security_mode']
[, [ @monitor_server_login = ] 'monitor_server_login']
[, [ @monitor_server_password = ] 'monitor_server_password']
[, [ @copy_job_id = ] 'copy_job_id' OUTPUT ]
[, [ @restore_job_id = ] 'restore_job_id' OUTPUT ]
[, [ @secondary_id = ] 'secondary_id' OUTPUT]

参数

  • [ @primary_server = ] 'primary_server'
    日志传送配置中 Microsoft SQL Server 数据库引擎的主实例的名称。primary_server 的数据类型为 sysname,不能为 NULL。

  • [ @primary_database = ] 'primary_database'
    主服务器中的数据库的名称。primary_database 的数据类型为 sysname,无默认值。

  • [ @backup_source_directory = ] 'backup_source_directory'
    存储主服务器中的事务日志备份文件的目录。backup_source_directory 的数据类型为 nvarchar(500),其值不能为 NULL。

  • [ @backup_destination_directory = ] 'backup_destination_directory'
    备份文件复制到的辅助服务器上的目录。backup_destination_directory 的数据类型为 nvarchar(500),其值不能为 NULL。

  • [ @copy_job_name = ] 'copy_job_name'
    要创建的 SQL Server 代理作业使用的名称,此代理作业用于将事务日志备份复制到辅助服务器。copy_job_name 的数据类型为 sysname,其值不能为 NULL。

  • [ @restore_job_name = ] 'restore_job_name'
    辅助服务器上的 SQL Server 代理作业的名称,此作业用于将备份还原到辅助数据库。restore_job_name 的数据类型为 sysname,其值不能为 NULL。

  • [ @file_retention_period = ] 'file_retention_period'
    保持历史记录的时间长度(分钟)。history_retention_period 的数据类型为 int,默认值为 NULL。如果未指定值,则使用值 14420。

  • [ @monitor_server = ] 'monitor_server'
    监视服务器的名称。Monitor_server 的数据类型为 sysname,无默认值。

  • [ @monitor_server_security_mode = ] 'monitor_server_security_mode'
    连接到监视服务器时所使用的安全模式。

    1 = Windows 身份验证。

    0 = SQL Server 身份验证。

    monitor_server_security_mode 的数据类型为 bit,且不能为 NULL。

  • [ @monitor_server_login = ] 'monitor_server_login'
    用于访问监视服务器的帐户的用户名。

  • [ @monitor_server_password = ] 'monitor_server_password'
    用于访问监视服务器的帐户的密码。

  • [ @copy_job_id = ] 'copy_job_id' OUTPUT
    与辅助服务器上的复制作业关联的 ID。copy_job_id 的数据类型为 uniqueidentifier,其值不能为 NULL。

  • [ @restore_job_id = ] 'restore_job_id' OUTPUT
    与辅助服务器上的还原作业关联的 ID。restore_job_id 的数据类型为 uniqueidentifier,其值不能为 NULL。

  • [ @secondary_id = ] 'secondary_id' OUTPUT
    日志传送配置中辅助服务器的 ID。secondary_id 的数据类型为 uniqueidentifier,其值不能为 NULL。

返回代码值

0(成功)或 1(失败)

结果集

注释

必须从主服务器上的 master 数据库运行 sp_add_log_shipping_secondary_primary。此存储过程执行以下操作:

  1. 为指定的主服务器和主数据库生成一个辅助 ID。

  2. 执行下列操作:

    1. 使用提供的参数为 log_shipping_secondary 的辅助 ID 添加一个条目。

    2. 为禁用的辅助 ID 创建一个复制作业。

    3. log_shipping_secondary 条目中的复制作业 ID 设置为复制作业的作业 ID。

    4. 为禁用的辅助 ID 创建一个还原作业。

    5. log_shipping_secondary 条目中的还原作业 ID 设置为还原作业的作业 ID。

权限

只有 sysadmin 固定服务器角色的成员才可以运行此过程。

示例

此示例阐释如何使用 sp_add_log_shipping_secondary_primary 存储过程为辅助服务器上的主数据库 AdventureWorks2008R2 设置信息。

EXEC master.dbo.sp_add_log_shipping_secondary_primary 
@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks2008R2' 
,@backup_source_directory = N'\\tribeca\LogShipping' 
,@backup_destination_directory = N'' 
,@copy_job_name = N'' 
,@restore_job_name = N'' 
,@file_retention_period = 1440 
,@monitor_server = N'ROCKAWAY' 
,@monitor_server_security_mode = 1 
,@copy_job_id = @LS_Secondary__CopyJobId OUTPUT 
,@restore_job_id = @LS_Secondary__RestoreJobId OUTPUT 
,@secondary_id = @LS_Secondary__SecondaryId OUTPUT 
GO