W MS SQL Server od wersji 2000 zostały wprowadzone modele odtwarzania, które pomagają w 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:
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 Server: 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
.
.
.
3 komentarze
alekpo · 5 września 2010 o 23:23
Przyda się na pewno.
Można to zapisać tak:
SELECT db_name(s.dbid),
cast(DATABASEPROPERTYEX(db_name(s.dbid),’recovery’) as VARCHAR(20))
FROM
[master].[dbo].[sysdatabases] s
roku · 11 września 2010 o 12:57
kto potrafi jeszcze prosciej 😉
Select name,recovery_model_desc from sys.databases
Dariusz Brejnak · 11 września 2010 o 13:20
Select * from sys.databases,
ale to czysta głupota bo tak się nie powinno pisać.
A dlatego taki długi kod, ponieważ był to fragment służący do generowania skryptu.
Możliwość komentowania została wyłączona.