sp_add_log_shipping_primary_database (Transact-SQL)

设置日志传送配置(包括备份作业、本地监视记录及远程监视记录)的主数据库。

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

语法

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]
            

参数

  • [ @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 = Microsoft Windows 身份验证。

    0 = Microsoft 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 时是否引发警报。默认值一 (1) 表示引发警报。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
    日志传送配置的主数据库 ID。primary_id 的数据类型为 uniqueidentifier,且不能为 NULL。

返回代码值

0(成功)或 1(失败)

结果集

备注

必须从主服务器上的 master 数据库运行 sp_add_log_shipping_primary_database。此存储过程可执行以下功能:

  1. 生成一个主 ID,并使用提供的参数在 log_shipping_primary_databases 表中为主数据库添加一个表项。
  2. 为被禁用的主数据库创建一个备份作业。
  3. log_shipping_primary_databases 表项中的备份作业 ID 设置为该备份作业的作业 ID。
  4. 使用提供的参数,在主服务器上的 log_shipping_monitor_primary 表中添加一个本地监视记录。
  5. 如果监视服务器与主服务器不同,则使用提供的参数在监视服务器上的 log_shipping_monitor_primary 表中添加一个监视记录。

权限

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

示例

此示例将在日志传送配置中添加 AdventureWorks 数据库作为主数据库。

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 
GO

请参阅

参考

系统存储过程 (Transact-SQL)

其他资源

日志传送
日志传送表和存储过程

帮助和信息

获取 SQL Server 2005 帮助