sp_add_log_shipping_secondary_primary(Transact-SQL)

적용 대상:SQL Server

기본 정보를 설정하고, 로컬 및 원격 모니터 링크를 추가하고, 지정된 주 데이터베이스에 대한 보조 서버에서 복사 및 복원 작업을 만듭니다.

Transact-SQL 구문 표기 규칙

구문

sp_add_log_shipping_secondary_primary
    [ @primary_server = ] 'primary_server'
    , [ @primary_database = ] 'primary_database'
    , [ @backup_source_directory = ] N'backup_source_directory'
    , [ @backup_destination_directory = ] N'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'

로그 전달 구성에서 SQL Server 데이터베이스 엔진 주 인스턴스의 이름입니다. @primary_server sysname이며 NULL일 수 없습니다.

[ @primary_database = ] 'primary_database'

주 서버의 데이터베이스 이름입니다. @primary_database sysname이며 기본값은 없습니다.

[ @backup_source_directory = ] N'backup_source_directory'

주 서버의 트랜잭션 로그 백업 파일이 저장되는 디렉터리입니다. @backup_source_directory nvarchar(500)이며 NULL일 수 없습니다.

[ @backup_destination_directory = ] N'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'

백업 파일이 삭제되기 전에 매개 변수에 지정된 경로의 보조 서버에 유지되는 @backup_destination_directory 시간(분)입니다. @history_retention_period 기본값NULLint입니다. 값 14420이 지정되지 않은 경우 사용됩니다.

[ @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'

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

[ @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 (실패).

결과 집합

없음.

설명

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

  1. 지정된 주 서버 및 주 데이터베이스에 대한 보조 ID를 생성합니다.

  2. 다음을 수행합니다.

    1. 제공된 인수를 사용하여 보조 ID에 log_shipping_secondary 대한 항목을 추가합니다.
    2. 사용하지 않도록 설정된 보조 ID에 대한 복사 작업을 만듭니다.
    3. 항목의 복사 작업 ID를 log_shipping_secondary 복사 작업의 작업 ID로 설정합니다.
    4. 사용하지 않도록 설정된 보조 ID에 대한 복원 작업을 만듭니다.
    5. 항목의 복원 작업 ID를 log_shipping_secondary 복원 작업의 작업 ID로 설정합니다.

사용 권한

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

예제

이 예제에서는 저장 프로시저를 sp_add_log_shipping_secondary_primary 사용하여 보조 서버의 주 데이터베이스 AdventureWorks2022 에 대한 정보를 설정하는 방법을 보여 줍니다.

EXEC master.dbo.sp_add_log_shipping_secondary_primary @primary_server = N'TRIBECA',
    @primary_database = N'AdventureWorks2022',
    @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