如何使用 T-SQL 更改 Azure SQL 边缘中数据库的恢复模式

发布于

默认情况下,使用 Azure SQL Edge 创建的数据库使用简单恢复模式。这意味着无法对这些数据库执行日志备份。

如果需要对使用 SQL Edge 创建的数据库执行日志备份,则需要将数据库的恢复模式更改为完整或批量记录。

这可以通过带有语句的 T-SQL 来完成。ALTER DATABASE

用于设置恢复模式时的可用选项包括:ALTER DATABASE

  • SIMPLE
  • FULL
  • BULK_LOGGED

示例

假设我们有一个名为 的数据库。KrankyKranes

我们可以通过查询目录视图来检查它的当前恢复模式:sys.databases

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

输出:

+--------------+-----------------------+
| name         | recovery_model_desc   |
|--------------+-----------------------|
| KrankyKranes | SIMPLE                |
+--------------+-----------------------+

它当前使用简单恢复模式。

让我们将其更改为完整恢复模式:

USE master;  
ALTER DATABASE KrankyKranes 
SET RECOVERY FULL;

做。

现在让我们检查结果:

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

输出:

+--------------+-----------------------+
| name         | recovery_model_desc   |
|--------------+-----------------------|
| KrankyKranes | FULL                  |
+--------------+-----------------------+

已成功按指定更改恢复模式。

请注意,您需要对数据库具有权限才能进行此更改。ALTER

重要的下一步

切换到完整或大容量日志恢复模式仅在第一次数据备份后生效。

因此,一旦从简单恢复模式切换到完整或大容量日志恢复模式,就应执行完整或差异数据库备份来启动日志链。

数据库model

默认情况下,在 SQL Edge 中创建的数据库使用简单恢复模式的原因是数据库使用该模式。model

如果发现此问题,则始终可以将数据库的恢复模式更改为 。这样做将导致创建后续数据库以使用完整恢复模式:model``FULL

USE master;  
ALTER DATABASE model 
SET RECOVERY FULL;