다음을 통해 공유


sp_change_log_shipping_primary_database(Transact-SQL)

적용 대상:SQL Server

주 데이터베이스 설정을 변경합니다.

Transact-SQL 구문 표기 규칙

구문

sp_change_log_shipping_primary_database
    [ @database = ] 'database'
    [ , [ @backup_directory = ] N'backup_directory' ]
    [ , [ @backup_share = ] N'backup_share' ]
    [ , [ @backup_retention_period = ] 'backup_retention_period' ]
    [ , [ @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_compression = ] backup_compression_option ]
    [ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]

인수

[ @database = ] '데이터베이스'

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

[ @backup_directory = ] N'backup_directory'

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

[ @backup_share = ] N'backup_share'

주 서버의 백업 디렉터리에 대한 네트워크 경로입니다. @backup_share nvarchar(500)이며, 기본값이 없으므로 사용할 수 없습니다NULL.

[ @backup_retention_period = ] 'backup_retention_period'

주 서버의 백업 디렉터리에 로그 백업 파일을 보존하는 데 걸리는 시간(분)입니다. @backup_retention_period 기본값이 없는 int이며 , 사용할 수 없습니다NULL.

[ @monitor_server_security_mode = ] 'monitor_server_security_mode'

모니터 서버에 연결하는 데 사용되는 보안 모드입니다.

  • 1 = Windows 인증
  • 0 = SQL Server 인증

@monitor_server_security_mode 비트이고 기본값은 .입니다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이며 될 수 없습니다NULL.

[ @threshold_alert_enabled = ] 'threshold_alert_enabled'

@backup_threshold 초과할 때 경고가 발생하는지 여부를 지정합니다.

  • 1:사용
  • 0:비활성화

threshold_alert_enabled 비트이며 될 수 없습니다NULL.

[ @history_retention_period = ] 'history_retention_period'

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

[ @backup_compression = ] backup_compression_option

로그 전달 구성에서 백업 압축을 사용하는 지 여부를 지정합니다. 이 매개 변수는 SQL Server 2008(10.0.x) 이상 버전의 Enterprise 버전과 서비스 팩 1 이상 버전이 있는 SQL Server 2016(13.x)의 모든 버전에서 지원됩니다.

  • 0:비활성화. 로그 백업을 압축하지 않음

  • 1:사용. 항상 로그 백업 압축

  • 2 (기본값): 백업 압축 기본 서버 구성 옵션을 사용합니다.

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

적용 대상: SQL Server 2025 (17.x) 및 이후 버전

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

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

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

반환 코드 값

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

결과 집합

없음.

설명

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

  1. 필요한 경우 레코드의 log_shipping_primary_database 설정을 변경합니다.

  2. 필요한 경우 제공된 인수를 사용하여 주 서버의 로컬 레코드 log_shipping_monitor_primary 를 변경합니다.

  3. 모니터 서버가 주 서버와 다른 경우 필요한 경우 제공된 인수를 사용하여 모니터 서버의 레코드 log_shipping_monitor_primary 를 변경합니다.

사용 권한

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

예제

이 예제에서는 주 데이터베이스sp_change_log_shipping_primary_database와 연결된 설정을 업데이트하는 데 사용하는 AdventureWorks2025 방법을 보여 줍니다.

EXECUTE master.dbo.sp_change_log_shipping_primary_database
    @database = N'AdventureWorks',
    @backup_directory = N'c:\LogShipping',
    @backup_share = N'\\tribeca\LogShipping',
    @backup_retention_period = 1440,
    @backup_threshold = 60,
    @threshold_alert = 0,
    @threshold_alert_enabled = 1,
    @history_retention_period = 1440,
    @monitor_server_security_mode = 1,
    @backup_compression = 1;