Поделиться через


Конфигурация сервера: подавление ошибок модели восстановления

Область применения: Управляемый экземпляр SQL Azure

Модели восстановления SQL Server управляют обслуживанием журнала транзакций. Модель полного восстановления гарантирует, что работа не будет потеряна из-за потерянного или поврежденного файла данных, и поддерживает восстановление до произвольной точки во времени в политике хранения резервных копий. Модель полного восстановления — это модель по умолчанию и только модель восстановления, поддерживаемая в Управляемом экземпляре SQL Azure. Попытки изменить модель восстановления в SQL Управляемом экземпляре возвращают сообщение об ошибке.

В Управляемом экземпляре SQL Azure можно использовать расширенный suppress recovery model errors параметр конфигурации, чтобы указать, будут ли команды для изменения модели восстановления базы данных возвращать ошибки или предупреждения. Если для этого параметра задано 1 значение (включено), выполнение команды ALTER DATABASE SET RECOVERY не изменяет модель восстановления базы данных, а возвращает предупреждающее сообщение вместо сообщения об ошибке. Если для этого параметра задано значение 0 (отключено), выполнение команды ALTER DATABASE SET RECOVERY возвращает сообщение об ошибке.

Этот suppress recovery model errors вариант полезен в случаях, когда устаревшие или сторонние приложения пытаются изменить модель восстановления на Simple или Bulk-Logged, даже если это не является критическим или обязательным требованием. Если изменение модели восстановления является единственным блокировщиком для использования управляемого экземпляра SQL, включение suppress recovery model errors параметра конфигурации удаляет этот блокировщик. Этот вариант особенно полезен, если альтернативное решение по изменению кода приложения невозможно или не по средствам.

Примеры

Следующий пример позволяет подавление сообщений об ошибках, связанных с изменением модели восстановления базы данных, а затем выполняет команду для изменения модели восстановления базы данных, возвращая только предупреждение. Модель восстановления фактически не изменяется. Замените <database> фактическим именем базы данных.

-- Turn advanced configuration options on:
EXECUTE sp_configure 'show advanced options', 1;
GO

RECONFIGURE;
GO

-- Enable suppression of error messages for recovery model change:
EXECUTE sp_configure 'suppress recovery model errors', 1;
GO

RECONFIGURE;
GO

-- Execute command for changing recovery model to Simple:
ALTER DATABASE <database> SET RECOVERY SIMPLE;
GO