服务器配置:取消恢复模式错误

适用于:Azure SQL 托管实例

SQL Server 恢复模型控制事务日志维护。 完整恢复模式可确保由于数据文件丢失或损坏而不会丢失任何工作,并支持恢复到备份保留策略中的任意时间点。 完整恢复模式是 Azure SQL 托管实例中支持的默认恢复模式。 尝试更改 SQL 托管实例中的恢复模式会返回错误消息。

在 Azure SQL 托管实例中 suppress recovery model errors ,可以使用高级配置选项来指定用于更改数据库恢复模式的命令是否返回错误,还是仅发出警告。 如果此选项设置为 1 (已启用),则执行命令 ALTER DATABASE SET RECOVERY 不会更改数据库的恢复模式,并返回警告消息而不是错误消息。 如果此选项设置为 0 “已禁用”,则执行命令 ALTER DATABASE SET RECOVERY 将返回错误消息。

suppress recovery model errors如果旧版或第三方应用程序尝试将恢复模式更改为简单或大容量记录,则此选项非常有用,即使这不是关键或强制性要求。 更改恢复模式是使用 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