SQL Server od wersji 2000 zostały wprowadzone modele odtwarzania, które pomagają planowaniu kopii bezpieczeństwa. Dostępne są trzy modele odtwarzania:
• Pełny (Full recovery)
• Rejestracja masowa (Bulk-logged recovery)
• Prosty (Simple recovery)
Komenda DATABASEPROPERTYEX zwraca model odtwarzania dla podanej bazy.
kod:
Select DATABASEPROPERTYEX ('nazwa_bazy_danych', 'recovery')
W odpowiedzi system zwróci jedną nazwę z trzech modeli: FULL, BULK_LOGGED, SIMPLE.
Poniżej przedstawiam skrypt wyświetlający modele dla wszystkich baz danych umieszczonych na serwerze. Testowany skrypt był na wersjach SQL Servera: 2000, 2005 i 2008. Na 2008 R2 nie testowałem.
------------------------------------------------------
-- Script : Recorvery_model.sql
-- Author : Dariusz Brejnak aka `DBSoft (c) 2010
-- Created : 2010-08-27
-- SQL Version: 2000, 2005, 2008
-----------------------------------------------------
USE master
GO
DECLARE @DBName varchar(255)
DECLARE DB_Cursor CURSOR FOR
SELECT
DATABASE_NAME = db_name(s.dbid)
FROM
[master].[dbo].[sysdatabases] s
GROUP BY s.dbid
ORDER BY DATABASE_NAME
CREATE TABLE #tmp
([Database] varchar(50) null,
[Recorvery_model] varchar(20) null
)
OPEN DB_Cursor
FETCH NEXT FROM DB_Cursor INTO @DBName
WHILE @@FETCH_STATUS = 0
BEGIN
INSERT INTO #tmp
SELECT @DBName,
cast(DATABASEPROPERTYEX(@DBName,'recovery') as VARCHAR(20))
FETCH NEXT FROM DB_Cursor INTO @DBName
END
CLOSE DB_Cursor
DEALLOCATE DB_Cursor
SELECT [Database],[Recorvery_model] FROM #tmp
ORDER BY 1
DROP TABLE #tmp