sp_add_log_shipping_primary_database(Transact-SQL)

적용 대상:SQL Server

백업 작업, 로컬 모니터 레코드 및 원격 모니터 레코드를 포함하여 로그 전달 구성에 대한 주 데이터베이스를 설정합니다.

Transact-SQL 구문 표기 규칙

구문

sp_add_log_shipping_primary_database
    [ @database = ] 'database'
    , [ @backup_directory = ] N'backup_directory'
    , [ @backup_share = ] N'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 = ] N'backup_directory'

주 서버의 백업 폴더 경로입니다. @backup_directory 기본값이 없는 nvarchar(500)이며, 이 값이 될 NULL수 없습니다.

[ @backup_share = ] N'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 비트이며, 기본값1은 이고NULL, 될 수 없습니다.

[ @monitor_server_login = ] 'monitor_server_login'

모니터 서버에 액세스하는 데 사용되는 계정의 사용자 이름입니다.

[ @monitor_server_password = ] 'monitor_server_password'

모니터 서버에 액세스하는 데 사용되는 계정의 암호입니다.

[ @backup_threshold = ] backup_threshold

@threshold_alert 오류가 발생하기 전 마지막 백업 이후의 시간(분)입니다. @backup_threshold 기본값인 60분으로 int입니다.

[ @threshold_alert = ] threshold_alert

백업 임계값이 초과될 때 발생하는 경고입니다. @threshold_alert int이며 기본값은 14,420입니다.

[ @threshold_alert_enabled = ] threshold_alert_enabled

@backup_threshold 초과할 때 경고가 발생하는지 여부를 지정합니다. 기본값인 0은 경고가 비활성화되고 발생하지 않음을 의미합니다. @threshold_alert_enabled 비트입니다.

[ @history_retention_period = ] history_retention_period

기록이 유지되는 시간(분)입니다. @history_retention_period 기본값NULLint입니다. 값 14420이 지정되지 않은 경우 사용됩니다.

[ @backup_job_id = ] backup_job_id OUTPUT

주 서버의 백업 작업과 연결된 SQL Server 에이전트 작업 ID입니다. @backup_job_id uniqueidentifier 형식의 OUTPUT 매개 변수이며 사용할 수 없습니다NULL.

[ @primary_id = ] primary_id OUTPUT

로그 전달 구성에 대한 주 데이터베이스의 ID입니다. @primary_id uniqueidentifier 형식의 OUTPUT 매개 변수이며 될 수 없습니다NULL.

[ @backup_compression = ] backup_compression_option

로그 전달 구성에서 백업 압축을 사용하는 지 여부를 지정합니다.

반환 코드 값

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

결과 집합

없음.

설명

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

  1. 기본 ID를 생성하고 제공된 인수를 사용하여 테이블 log_shipping_primary_databases 의 주 데이터베이스에 대한 항목을 추가합니다.

  2. 사용하지 않도록 설정된 주 데이터베이스에 대한 백업 작업을 만듭니다.

  3. 항목의 백업 작업 ID를 log_shipping_primary_databases 백업 작업의 작업 ID로 설정합니다.

  4. 제공된 인수를 사용하여 주 서버의 테이블에 log_shipping_monitor_primary 로컬 모니터 레코드를 추가합니다.

  5. 모니터 서버가 주 서버 sp_add_log_shipping_primary_database 와 다른 경우 제공된 인수를 사용하여 모니터 서버에 모니터 레코드 log_shipping_monitor_primary 를 추가합니다.

사용 권한

sysadmin 고정 서버 역할의 멤버만 이 절차를 실행할 수 있습니다.

예제

다음 예에서는 로그 전달 구성의 주 데이터베이스로 AdventureWorks2022 데이터베이스를 추가합니다.

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