다음을 통해 공유


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 ]
    [ , [ @secondary_connection_options = ] '<key_value_pairs>;[...]' ]
    [ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]

인수

[ @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 기본값NULL입니다. 값 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.

[ @secondary_connection_options = ] '<key_value_pairs>;[ ...]'

적용 대상: SQL Server 2025(17.x) 미리 보기 이상 버전

보조에 연결할 때 키 값 쌍의 형태로 추가 연결 옵션을 지정합니다. @secondary_connection_optionsnvarchar(4000) 이며 기본값 NULL은 .입니다.

다음 표에서는 사용 가능한 연결 옵션을 나열합니다.

Key 가치
Encrypt strict, mandatory, optional, truefalse
TrustServerCertificate true, false, yesno
ServerCertificate 서버 인증서에 대한 파일 시스템의 경로입니다. 최대 길이는 260자입니다.
HostNameInCertificate 인증서에 대한 호스트 이름 재정의입니다. 최대 길이는 255자입니다.

[ @monitor_connection_options = ] '<key_value_pairs>;[ ...]'

적용 대상: SQL Server 2025(17.x) 미리 보기 이상 버전

원격 모니터를 사용할 때 연결된 서버 연결에 대한 추가 연결 옵션을 키 값 쌍 형식으로 지정합니다. @monitor_connection_optionsnvarchar(4000) 이며 기본값은 .입니다 NULL.

다음 표에서는 사용 가능한 연결 옵션을 나열합니다.

Key 가치
Encrypt strict, mandatory, optional, truefalse
TrustServerCertificate true, false, yesno
ServerCertificate 서버 인증서에 대한 파일 시스템의 경로입니다. 최대 길이는 260자입니다.
HostNameInCertificate 인증서에 대한 호스트 이름 재정의입니다. 최대 길이는 255자입니다.

반환 코드 값

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 에 대한 정보를 설정하는 방법을 보여 줍니다.

EXECUTE 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