sp_add_log_shipping_secondary_primary (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。此存储过程执行以下操作:
- 为指定的主服务器和主数据库生成一个辅助 ID。
- 执行下列操作:
- 使用提供的参数为 log_shipping_secondary 的辅助 ID 添加一个条目。
- 为禁用的辅助 ID 创建一个复制作业。
- 将 log_shipping_secondary 条目中的复制作业 ID 设置为复制作业的作业 ID。
- 为禁用的辅助 ID 创建一个还原作业。
- 将 log_shipping_secondary 条目中的还原作业 ID 设置为还原作业的作业 ID。
权限
只有 sysadmin 固定服务器角色的成员才可以运行此过程。
示例
此示例阐释如何使用 sp_add_log_shipping_secondary_primary 存储过程为辅助服务器上的主数据库 AdventureWorks 设置信息。
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