sp_add_log_shipping_primary_database (Transact-SQL)
设置日志传送配置(包括备份作业、本地监视记录及远程监视记录)的 master 数据库。
语法
sp_add_log_shipping_primary_database [ @database = ] 'database',
[ @backup_directory = ] 'backup_directory',
[ @backup_share = ] 'backup_share',
[ @backup_job_name = ] 'backup_job_name',
[, [ @backup_retention_period = ] backup_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']
[, [ @backup_threshold = ] backup_threshold ]
[, [ @threshold_alert = ] threshold_alert ]
[, [ @threshold_alert_enabled = ] threshold_alert_enabled ]
[, [ @history_retention_period = ] history_retention_period ]
[, [ @backup_job_id = ] backup_job_id OUTPUT ]
[, [ @primary_id = ] primary_id OUTPUT]
[, [ @backup_compression = ] backup_compression_option ]
参数
[ @database= ] 'database'
日志传送主数据库的名称。 database 的数据类型为 sysname,无默认值,且不能为 NULL。[ @backup_directory= ] 'backup_directory'
主服务器上备份文件夹的路径。 backup_directory 的数据类型为 nvarchar(500),无默认值,且不能为 NULL。[ @backup_share= ] 'backup_share'
主服务器上备份目录的网络路径。 backup_share 的数据类型为 nvarchar(500),无默认值,且不能为 NULL。[ @backup_job_name= ] 'backup_job_name'
主服务器上用于将备份复制到备份文件夹中的 SQL Server 代理作业的名称。 backup_job_name 的数据类型为 sysname,且不能为 NULL。[ @backup_retention_period= ] backup_retention_period
在主服务器上的备份目录中保留日志备份文件的时间长度(分钟)。 backup_retention_period 的数据类型为 int,无默认值,且不能为 NULL。[ @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'
访问监视服务器时所用帐户的密码。[ @backup_threshold= ] backup_threshold
从上一次备份到引发 threshold_alert 错误之前的时间长度(分钟)。 backup_threshold 的数据类型为 int,默认值为 60 分钟。[ @threshold_alert= ] threshold_alert
超过备份阈值时引发的警报。 threshold_alert 的数据类型为 int,默认值为 14,420。[ @threshold_alert_enabled= ] threshold_alert_enabled
指定超过 backup_threshold 时是否引发警报。 默认值零 (0) 表示警报被禁用,将不会引发警报。 threshold_alert_enabled 的数据类型为 bit。[ @history_retention_period= ] history_retention_period
历史记录的保留时间长度(分钟)。 history_retention_period 的数据类型为 int,默认值为 NULL。 如果不指定值,则使用值 14420。[ @backup_job_id= ] backup_job_id OUTPUT
与主服务器上的备份作业相关联的 SQL Server 代理作业 ID。 backup_job_id 的数据类型为 uniqueidentifier,且不能为 NULL。[ @primary_id= ] primary_id OUTPUT
日志传送配置的 master 数据库 ID。 primary_id 的数据类型为 uniqueidentifier,且不能为 NULL。[ @backup_compression= ] backup_compression_option
指定日志传送配置是否使用备份压缩。 只有 SQL Server 2008 Enterprise(或更高版本)支持此参数。0 = 禁用。 从不压缩日志备份。
1 = 启用。 始终压缩日志备份。
2 = 使用查看或配置 backup compression default 服务器配置选项的设置。 此为默认值。
返回代码值
0(成功)或 1(失败)
结果集
无
注释
必须从主服务器上的 master 数据库运行 sp_add_log_shipping_primary_database。 此存储过程可执行以下功能:
生成一个主 ID,并使用提供的参数在 log_shipping_primary_databases 表中为主数据库添加一个表项。
为被禁用的 master 数据库创建一个备份作业。
将 log_shipping_primary_databases 表项中的备份作业 ID 设置为该备份作业的作业 ID。
使用提供的参数,在主服务器上的 log_shipping_monitor_primary 表中添加一个本地监视记录。
如果监视服务器与主服务器不同,则使用提供的参数在监视服务器上的 log_shipping_monitor_primary 表中添加一个监视记录。
权限
只有 sysadmin 固定服务器角色的成员才可以运行此过程。
示例
此示例将在日志传送配置中添加 AdventureWorks2012 数据库作为主数据库。
DECLARE @LS_BackupJobId AS uniqueidentifier
DECLARE @LS_PrimaryId AS uniqueidentifier
EXEC master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks'
,@backup_directory = N'c:\lsbackup'
,@backup_share = N'\\tribeca\lsbackup'
,@backup_job_name = N'LSBackup_AdventureWorks'
,@backup_retention_period = 1440
,@monitor_server = N'rockaway'
,@monitor_server_security_mode = 1
,@backup_threshold = 60
,@threshold_alert = 0
,@threshold_alert_enabled = 0
,@history_retention_period = 1440
,@backup_job_id = @LS_BackupJobId OUTPUT
,@primary_id = @LS_PrimaryId OUTPUT
,@overwrite = 1
,@backup_compression = 0
GO