Artykuły

A A A
Drukuj Ekportuj do PDF
Opublikowane: 2010.08.27 11:53 | Dariusz Brejnak

[Porada] Jak sprawdzić modele odtwarzania baz danych w SQL Server 2000-2008?

tagi: SQL SQL Server
Jak sprawdzić modele odtwarzania baz danych w SQL Server 2000-2008?

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


Komentarze 2 Masz uwagi do tej strony? Napisz

dbsoft 2010.08.30 13:02
0 oceń pozytywnie   oceń negatywnie 0
avatar Ekspert WSS
 

Dzięki Paweł za poradę. Przejżę proponowane fragmenty i wyciągnę odpowiednie wnioski i napiszę poprawke do porady. :D

________________________________________

Pozdrawiam

Dariusz "DBSoft" Brejnak

(MCP,MCTS-SQL Server 2008 Database Development)

Jeśli pomogłem kliknij na "Pomógł mi"

_______________________

Pozdrawiam,

Dariusz "DBSoft" Brejnak

(MCP,MCTS-SQL Server 2008 Database Development, Implementation and Maintenance)

C3PO 2010.08.30 13:25
0 oceń pozytywnie   oceń negatywnie 0
avatar
 

Darek, niekoniecznie. Twoja porada jest o tyle dobra, że przedstawia uniwersalny sposób pokazania, jaki recovery model jest ustawiony na każdej bazie danych (działa na SQL Server 2000 i nowszych). Jedyny problem to to, że ustawienie modelu a działanie w modelu to dwie różne pary kaloszy. Kod, który jest na blogu Paula Randala nie pasuje chyba do SQL Server 2000, więc jedyne, co pozostaje, to dorobić trochę kodu i napisać kolejną poradę pt. "Jak sprawdzić, czy baza danych na SQL Server działa NAPRAWDĘ w trybie FULL?" :-)

 

Pozdrawiam,
Paweł Potasiński, SQL Server MVP
{ Rozwiązałem Twój problem? Kliknij Rozwiązanie. Pomogłem Ci? kliknij Pomógł mi. }

Edytowano 1 raz. Ostatnio 2010-08-30 13:25:50 przez C3PO.

Pozdrawiam,
Paweł Potasiński
Partner Technology Advisor | Microsoft Polska 
Blog SQLGeekPLSSUG

Dodaj komentarz

avatar

Zaloguj się lub Zarejestruj się aby wykonać tę czynność.

Autor Dariusz Brejnak
avatar Ekspert WSS
 

Załóż konto
WSS to serwis, który łączy dziesiątki tysięcy specjalistów IT w Polsce, zajmujących się szeroko pojętymi technologiami Microsoft. Portal działa od 2003 roku, i oprócz setek publikacji technicznych, rozwijającego się forum - portal to ludzie, którzy go tworzą. To właśnie z myślą o nich warto codziennie nas odwiedzać.

Dowiedz się więcej o WSS