sp_add_log_shipping_secondary_primary (Transact-SQL)

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

主题链接图标 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,无默认值,且不能为 NULL。

  • [ @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 存储过程为辅助服务器上的 master 数据库 AdventureWorks2012 设置信息。

EXEC master.dbo.sp_add_log_shipping_secondary_primary 
@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks' 
,@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

请参阅

参考

系统存储过程 (Transact-SQL)

概念

关于日志传送 (SQL Server)