다음을 통해 공유


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]
[, [ @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
    로그 전달 구성의 주 데이터베이스의 ID입니다. primary_id는 uniqueidentifier이며 NULL일 수 없습니다.

  • [ [ @backup_compression = ] backup_compression_option
    로그 전달 구성에서 백업 압축을 사용할 것인지를 지정합니다. 이 매개 변수는 SQL Server 2008 Enterprise 이상 버전에서만 지원됩니다.

    0 = 사용 안 함. 로그 백업을 압축하지 않습니다.

    1 = 사용. 항상 로그 백업을 압축합니다.

    2 = 백업 압축 기본값 서버 구성 옵션의 설정을 사용합니다. 기본값입니다.

반환 코드 값

0(성공) 또는 1(실패)

결과 집합

없음

주의

sp_add_log_shipping_primary_database는 주 서버의 master 데이터베이스에서 실행되어야 합니다. 이 저장 프로시저는 다음 기능을 수행합니다.

  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 
,@backup_compression = 0
GO