반응형

7. 로그 전달 모니터링

 

 

7.1 주 서버

 

로그 전달 구축 이후 로그 전달 구성 환경을 확인하거나 로그 전달이 정상적으로 진행되고 있는지 확인할 필요가 있습니다.

아래는 주 서버에서 로그 전달 구성 환경, 로그 백업 최종 시각, 모니터링 이력 및 오류 정보를 확인하는 스크립트입니다.

 

/*****

주 서버 로그 전달 데이터베이스, 백업 폴더 및 공유, 백업 보유 기간, 백업 작업, 최종 백업 시간 및 파일 정보

******/

SELECT primary_database, backup_directory, backup_share, backup_retention_period AS backup_retention_minutes,

                           j.name AS backup_job_name, monitor_server, last_backup_file, last_backup_date

FROM     msdb.dbo.log_shipping_primary_databases pd

                           JOIN msdb.dbo.sysjobs j ON j.job_id = pd.backup_job_id

GO

 

/*****

주 서버 로그 전달 데이터베이스에 대한 보조 서버 및 데이터베이스 정보

******/

SELECT pd.primary_database, secondary_server, secondary_database

FROM     msdb.dbo.log_shipping_primary_secondaries ps

                           JOIN msdb.dbo.log_shipping_primary_databases pd ON pd.primary_id = ps.primary_id

ORDER BY pd.primary_database

GO

 

/*****

주 데이터베이스 모니터링 이력 정보

******/

SELECT pd.primary_database,

                           CASE agent_type WHEN 0 THEN 'Backup' WHEN 1 THEN 'Copy' WHEN 2 THEN 'Restore' END AS agent_type,

                           database_name,

                           CASE session_status WHEN 0 THEN 'Starting' WHEN 1 THEN 'Running' WHEN 2 THEN 'Success'

                                        WHEN 3 THEN 'Error' WHEN 4 THEN 'Warning' END AS session_status,

                           log_time, message

FROM     msdb.dbo.log_shipping_monitor_history_detail hd

                           JOIN msdb.dbo.log_shipping_primary_databases pd ON pd.primary_id = hd.agent_id

WHERE   log_time >= CAST(CONVERT(CHAR(10), getdate(), 120) AS DATETIME)

ORDER BY pd.primary_database, log_time

GO

 

/*****

주 데이터베이스 상세 오류 정보

******/

SELECT pd.primary_database,

                           CASE agent_type WHEN 0 THEN 'Backup' WHEN 1 THEN 'Copy' WHEN 2 THEN 'Restore' END AS agent_type,

                           database_name,

                           log_time, message

FROM     msdb.dbo.log_shipping_monitor_error_detail ed

                           JOIN msdb.dbo.log_shipping_primary_databases pd ON pd.primary_id = ed.agent_id

WHERE   log_time >= CAST(CONVERT(CHAR(10), getdate(), 120) AS DATETIME)

ORDER BY pd.primary_database, log_time

GO

 

 

7.2 보조 서버

 

아래는 보조 서버에서 구성 환경을 확인하고, 로그 복원 최종 시각을 확인하는 스크립트입니다.

 

/*****

보조 서버에 대한 로그 전달 데이터베이스, 백업 원본 및 대상 폴더, 백업 파일 보유 기간, 백업 파일 복사 및 복원 작업, 최종 복원 시간 정보

******/

SELECT s.primary_server, s.primary_database, backup_source_directory, backup_destination_directory,

                           file_retention_period AS file_retention_minutes,

                           j1.name AS copy_job_name, j2.name AS restore_job_name, monitor_server, last_restored_date

FROM     msdb.dbo.log_shipping_secondary s

                           JOIN msdb.dbo.sysjobs j1 ON j1.job_id = s.copy_job_id

                           JOIN msdb.dbo.sysjobs j2 ON j2.job_id = s.restore_job_id

                           JOIN msdb.dbo.log_shipping_monitor_secondary ms ON ms.secondary_id = s.secondary_id

GO

 


8. 로그 전달 환경 삭제

 

1) 주 서버의 SQL Server Management Studio 개체탐색기를 엽니다.

 

2) 로그 전달 대상 데이터베이스 속성을 선택합니다.

 

3) 트랜잭션 로그 전달 페이지에서 삭제할 보조 서버 인스턴스 및 데이터베이스를 선택하고 제거 버튼을 누릅니다.

 

 


4) 로그 전달 구성에 대한 보조 데이터베이스 제거 확인 창에서 예 버튼을 누릅니다.

 

 

5) 데이터베이스 속성 창에서 이 데이터베이스를 로그 전달 구성의 주 데이터베이스로 사용 옵션을 비활성화합니다. 이때, 확인 창이 나타나면 예 버튼을 누릅니다.

 

 

6) 데이터베이스 속성 창에서 확인 버튼을 누르면 로그 전달 구성이 저장됩니다. 로그 전달 구성 저장이 성공하면 닫기 버튼을 누릅니다.

 

반응형

+ Recent posts