I SQL Server er en gendannelsesmodel en databaseegenskab, der styrer, hvordan transaktioner logges, om transaktionsloggen kræver (og tillader) sikkerhedskopiering, og hvilke typer gendannelsesoperationer, der er tilgængelige. Databaser kan bruge en af følgende tre gendannelsesmodeller:enkel, fuld og bulk-logget.
Du kan forespørge i sys.databases
katalogvisning for at få en liste over databaser og deres gendannelsesmodeller.
Eksempel
Her er et eksempel til demonstration:
SELECT
name,
recovery_model_desc
FROM sys.databases;
Resultat:
+-----------------------+-----------------------+ | name | recovery_model_desc | |-----------------------+-----------------------| | master | SIMPLE | | tempdb | SIMPLE | | model | FULL | | msdb | SIMPLE | | Music | FULL | | KrankyKranes | FULL | | WideWorldImporters | SIMPLE | | World | FULL | | PetHotel | FULL | | StereoSystems | FULL | | NarrowNationExporters | FULL | | TestDB | FULL | +-----------------------+-----------------------+
I dette eksempel bruger de fleste af mine databaser den fulde gendannelsesmodel, men nogle bruger den simple gendannelsesmodel.
master
, tempdb
og msdb
databaser bruger som standard den simple gendannelsesmodel. model
databasen bruger den fulde gendannelsesmodel, hvilket betyder, at enhver ny oprettet database vil bruge den fulde gendannelsesmodel som standard. Denne indstilling kan være anderledes på dit system, afhængigt af hvilken udgave du bruger, og om den er blevet ændret eller ej.
Se Microsofts websted for at få flere oplysninger om gendannelsesmodeller.
Hvis du ikke ønsker at vise alle databaser, kan du altid bruge en WHERE
klausul for at indsnævre den til kun én database:
SELECT
name,
recovery_model_desc
FROM sys.databases
WHERE name = 'NarrowNationExporters';
Resultat:
+-----------------------+-----------------------+ | name | recovery_model_desc | |-----------------------+-----------------------| | NarrowNationExporters | FULL | +-----------------------+-----------------------+
Sådan ændrer du gendannelsesmodellen.