데이터베이스의 복구 모델을 결정하기 위해 실행할 수있는 SQL 명령이 있습니까? 전체 복구 여부를 알고 싶습니다.
답변
그것을하는 방법의 다양성 …
SELECT D.recovery_model_desc FROM sys.databases D WHERE name = 'MyDB'
또는
SELECT name, D.recovery_model_desc FROM sys.databases D
또는
SELECT DATABASEPROPERTYEX('MyDB', 'Recovery')
답변
데이터베이스 파일 경로 및 복구 모델을 보여주기 위해 만든 스크립트는 다음과 같습니다.
SELECT
A.recovery_model_desc AS [Recovery Model],
A.name AS [Database Name],
C.physical_name AS [Filename],
CAST(C.size * 8 / 1024.00 AS DECIMAL(10,2)) AS [Size in MB],
C.state_desc AS [Database State]
FROM sys.databases A
INNER JOIN sys.master_files C ON A.database_id = C.database_id
ORDER BY [Recovery Model], [Database Name], [Filename]
답변
이 쿼리는 단순 복구 모델 만있는 데이터베이스 목록을 제공합니다.
SELECT name, DATABASEPROPERTYEX(name, 'Recovery') as Recovery_Model
FROM sys.databases
WHERE DATABASEPROPERTYEX(name, 'Recovery') = 'Simple'
ORDER BY name;