Netwrix Auditor for SQL Server
- Netwrix Auditor를 열고 Reports -> Predefined -> SQL Server — State-in-Time -> SQL Server Databases로 이동하세요.
- 보기 를 클릭하여 보고서를 확인하세요:
네이티브 감사
- 시작 Microsoft SQL Server Management Studio (MSSMS).
- 파일 메뉴에서 개체 탐색기 연결을 클릭하세요. 서버에 연결 대화 상자에 정보를 입력합니다:
- 그런 다음 서버 유형 목록 상자에서 Database Engine을(를) 선택합니다.
- 서버 이름 텍스트 상자에 SQL 클러스터 서버의 이름을 입력합니다.
- 인증 목록 상자에서 SQL Server Authentication 방법 을 선택한 다음 자격 증명을 지정합니다. 서버에 연결할 때마다 암호를 다시 입력하고 싶지 않으면 Remember password 를 선택합니다.
- Connect를 클릭합니다.
- 연결되면 New Query 를 클릭한 다음 아래 스크립트를 쿼리 필드에 붙여넣습니다:
SELECT
sys.databases.name as 'Database Name',
sys.databases.user_access_desc as "Restrict Access",
sys.databases.state_desc as 'State',
sys.databases.is_read_only as 'Read Only',
sys.databases.is_auto_shrink_on 'Auto Shrink Enabled',
sys.databases.is_encrypted as 'Encrypted',
bckup.last_backup as 'Last Database Backup',
files.data_file as 'Database File Path',
files.log_file as 'Log File Path',
files.db_size as 'Database Size MB',
files.log_size as 'Log File Size MB',
sys.databases.database_id as 'Database ID'
FROM sys.databases
LEFT JOIN (
SELECT msdb.dbo.backupset.database_name, MAX(msdb.dbo.backupset.backup_finish_date) AS last_backup
FROM msdb.dbo.backupmediafamily
INNER JOIN msdb.dbo.backupset ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id
WHERE msdb..backupset.type = 'D'
GROUP BY msdb.dbo.backupset.database_name
) bckup on bckup.database_name = sys.databases.name
LEFT JOIN (
SELECT
mdf.database_id,
mdf.name,
mdf.physical_name as data_file,
ldf.physical_name as log_file,
db_size = CAST((mdf.size * 8.0)/1024 AS DECIMAL(8,2)),
log_size = CAST((ldf.size * 8.0 / 1024) AS DECIMAL(8,2))
FROM (SELECT * FROM sys.master_files WHERE type_desc = 'ROWS' ) mdf
JOIN (SELECT * FROM sys.master_files WHERE type_desc = 'LOG' ) ldf
ON mdf.database_id = ldf.database_id
) files
ON files.database_id = sys.databases.database_id
ORDER BY 'Database Name'
- 클릭 Execute (또는 F5 키를 누르세요).
- 쿼리 결과에서 데이터베이스 목록과 해당 속성을 확인하세요:
한 번의 클릭으로 SQL Server 데이터베이스 속성을 확인하세요.
데이터베이스 속성(데이터베이스 옵션이라고도 함)을 수집하는 것은 정기적인 데이터베이스 관리 작업입니다. 데이터베이스가 기본 기준 설정과 일치하도록 유지하는 데 필수적일 뿐만 아니라, 성능과 가용성을 보장하기 위해 주요 상태(활력 지표)를 모니터링하는 데도 중요합니다.
SQL Server Management Studio를 사용하면 그래픽 인터페이스 또는 직접 작성한 쿼리를 통해 SQL Server 데이터베이스 속성에 대한 정보를 확인할 수 있습니다. 하지만 어떤 옵션을 선택하더라도, 프로세스가 사용자가 원하는 만큼 항상 쉽고 친숙한 것은 아닙니다. 예를 들어 GUI 도구를 사용할 경우 필요한 정보만 손쉽게 가져오기 어렵고, 한 번에 하나의 데이터베이스만 볼 수 있습니다. sp_helpdb 같은 Transact-SQL 명령을 사용하면 모든 SQL 데이터베이스 매개 변수가 개별적으로 나열되는 것이 아니라 서로 연결되어 있습니다. 시스템 테이블을 조회할 때는 원하는 결과를 얻기 위해 여러 테이블을 조인해야 하는 경우가 많고, 결과를 이해하려면 (서로 다른 데이터 유형을 원하는 형식으로 변환하는 등) 변환해야 합니다. 또한 sys.databases를 쿼리하면 복구 모델, 자동 종료, 자동 축소, 호환성 수준, 콜레이션 이름, 스냅샷 격리 같은 다양한 데이터베이스 옵션을 얻을 수 있지만, 데이터베이스가 OFFLINE 상태이고 권한이 제한되어 있으면 어떤 데이터도 볼 수 없습니다. 사용자는 최소한 ALTER ANY DATABASE 서버 수준 권한 또는 master 데이터베이스에서의 CREATE DATABASE 권한을 보유해야 합니다.
SQL Server에는 기본 제공되는 DATABASEPROPERTYEX 함수가 있어 하나 또는 모든 데이터베이스에 대한 특정 정보를 반환할 수 있습니다. 그러나 데이터베이스 파일의 실제(물리) 크기를 확인하려면 각기 다른 데이터베이스를 모두 쿼리해야 합니다. 요약하면, 기본 도구로 SQL Server 데이터베이스 속성의 구성을 이해하는 일은 상당히 시간이 많이 걸리며, 높은 전문성이 필요할 수 있습니다.
Netwrix Auditor for SQL Server를 사용하면 한 번의 클릭으로 데이터베이스 옵션에 대한 명확한 요약을 확인할 수 있습니다. 또한 보고서를 구독해 선택한 일정에 따라 자동으로 받은 편지함으로 전달받을 수 있습니다. 더 나아가 구성 변경에 대한 알림도 손쉽게 설정할 수 있으므로, 가동 중단이나 비즈니스에 영향을 줄 수 있는 기타 문제를 예방하기 위해 조치가 필요할 때 즉시 알 수 있습니다.
공유하기