sp_add_log_shipping_primary_database(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]
인수
- [ @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 = Microsoft Windows 인증
0 = Microsoft 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가 초과될 때 경보 발생 여부를 지정합니다. 기본값인 1은 경고가 발생된다는 의미입니다. 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일 수 없습니다.
반환 코드 값
0(성공) 또는 1(실패)
결과 집합
없음
주의
sp_add_log_shipping_primary_database는 주 서버의 master 데이터베이스에서 실행되어야 합니다. 이 저장 프로시저는 다음 기능을 수행합니다.
- 주 ID를 생성하고 제공된 인수를 사용하여 log_shipping_primary_databases 테이블에서 주 데이터베이스에 대한 항목을 추가합니다.
- 비활성화되어 있는 주 데이터베이스에 대해 백업 작업을 만듭니다.
- log_shipping_primary_databases 항목의 백업 작업 ID를 백업 작업의 작업 ID로 설정합니다.
- 제공된 인수를 사용하여 주 서버에 있는 log_shipping_monitor_primary 테이블에서 로컬 모니터 레코드를 추가합니다.
- 모니터 서버가 주 서버와 다른 경우 제공된 인수를 사용하여 모니터 서버에 있는 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
GO