Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получите модела за възстановяване на база данни в SQL Server с помощта на T-SQL

В SQL Server моделът за възстановяване е свойство на базата данни, което контролира как се регистрират транзакциите, дали регистърът на транзакциите изисква (и позволява) архивиране и какви видове операции за възстановяване са налични. Базите данни могат да използват един от следните три модела за възстановяване:прост, пълен и групово регистриран.

Можете да направите заявка за sys.databases изглед на каталог, за да получите списък с бази данни и техните модели за възстановяване.

Пример

Ето пример за демонстрация:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases;

Резултат:

+-----------------------+-----------------------+
| 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                  |
+-----------------------+-----------------------+

В този пример повечето от моите бази данни използват модела за пълно възстановяване, но някои използват простия модел за възстановяване.

master , tempdb и msdb бази данни използват простия модел за възстановяване по подразбиране. model база данни използва модела за пълно възстановяване, което означава, че всички създадени нови бази данни ще използват модела за пълно възстановяване по подразбиране. Тази настройка може да е различна във вашата система, в зависимост от това кое издание използвате и дали е променена или не.

Вижте уебсайта на Microsoft за повече информация относно моделите за възстановяване.

Ако не искате да изброявате всички бази данни, винаги можете да използвате WHERE клауза, за да я стесните само до една база данни:

SELECT 
    name, 
    recovery_model_desc  
FROM sys.databases
WHERE name = 'NarrowNationExporters';

Резултат:

+-----------------------+-----------------------+
| name                  | recovery_model_desc   |
|-----------------------+-----------------------|
| NarrowNationExporters | FULL                  |
+-----------------------+-----------------------+

Ето как да промените модела за възстановяване.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е „версия на ред“ в SQL Server?

  2. Мога ли да разгранича няколко реда в една колона със запетая?

  3. Внедряване на отказ в MS SQL Server 2017 Standard

  4. Конфигуриране на известия за поща в базата данни в MS SQL Server

  5. Как да активирате всички ограничения за проверка и външни ключове в база данни в SQL Server (примери за T-SQL)