对 Microsoft Azure 禁用 SQL Server 托管备份

适用范围:SQL Server

本主题介绍如何在数据库和实例级别禁用或暂停目标为 Microsoft Azure 的 SQL Server 托管备份。

为数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份

通过使用系统存储过程 managed_backup.sp_backup_config_basic (Transact-SQL),可以禁用目标为 Microsoft Azure 的 SQL Server 托管备份设置。 @enable_backup 参数用于为特定数据库启用和禁用目标为 Microsoft Azure 的 SQL Server 托管备份配置;其中,1 表示启用配置设置,0 表示禁用配置设置。

为特定数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份:

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。

EXEC msdb.managed_backup.sp_backup_config_basic  
                @database_name = 'TestDB'   
                ,@enable_backup = 0;  
GO

注意

可能还需要根据自己的配置设置 @container_url 参数。

为实例上的所有数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份

以下过程适用于想要从实例上当前已启用目标为 Microsoft Azure 的 SQL Server 托管备份的所有数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份配置设置的情况。 存储 URL、保持和 SQL 凭据之类的配置设置将在元数据中保留;并且如果以后为数据库启用了目标为 Microsoft Azure 的 SQL Server 托管备份,则可以使用这些设置。 如果要临时暂停目标为 Microsoft Azure 的 SQL Server 托管备份服务,则可以使用主开关(本主题后面部分将对其进行说明)。

为所有数据库禁用目标为 Microsoft Azure 的 SQL Server 托管备份:

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 以下示例确定是否已在实例级别配置了目标为 Microsoft Azure 的 SQL Server 托管备份,识别实例上所有启用了目标为 Microsoft Azure 的 SQL Server 托管备份的数据库,并执行系统存储过程 sp_backup_config_basic 以禁用目标为 Microsoft Azure 的 SQL Server 托管备份。

-- Create a working table to store the database names  
Declare @DBNames TABLE  
  
       (  
             RowID int IDENTITY PRIMARY KEY  
             ,DBName varchar(500)  
  
       )  
-- Define the variables  
DECLARE @rowid int  
DECLARE @dbname varchar(500)  
DECLARE @SQL varchar(2000)  
-- Get the database names from the system function  
  
INSERT INTO @DBNames (DBName)  
  
SELECT db_name  
       FROM   
  
       msdb.managed_backup.fn_backup_db_config (NULL)  
       WHERE is_managed_backup_enabled = 1 
       AND is_dropped = 0
  
       --Select DBName from @DBNames  
  
       select @rowid = min(RowID)  
       FROM @DBNames  
  
       WHILE @rowID IS NOT NULL  
       Begin  
  
             Set @dbname = (Select DBName From @DBNames Where RowID = @rowid)  
             Begin  
             Set @SQL = 'EXEC msdb.managed_backup.sp_backup_config_basic    
                @database_name= '''+'' + @dbname+ ''+''',   
                @enable_backup=0'  
  
            EXECUTE (@SQL)  
  
             END  
             Select @rowid = min(RowID)  
             From @DBNames Where RowID > @rowid  
  
       END  

若要查看实例上所有数据库的配置设置,请使用以下查询:

Use msdb;  
GO  
SELECT * FROM managed_backup.fn_backup_db_config (NULL);  
GO  

为实例禁用目标为 Microsoft Azure 的 SQL Server 托管备份默认设置

实例级别的默认设置适用于在该实例上创建的所有新数据库。 如果不再需要默认设置,则可以通过使用 managed_backup.sp_backup_config_basic 系统存储过程(将 @database_name 参数设置为 NULL),禁用此配置。 禁用并不会删除存储 URL、保持设置或 SQL 凭据名称之类的其他配置设置。 如果以后为该实例启用了目标为 Microsoft Azure 的 SQL Server 托管备份,将使用这些设置。

禁用目标为 Microsoft Azure 的 SQL Server 托管备份默认配置设置:

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。

    EXEC msdb.managed_backup.sp_backup_config_basic  
                    @enable_backup = 0;  
    GO
    

在实例级别暂停目标为 Microsoft Azure 的 SQL Server 托管备份

有时可能需要在短期内临时暂停目标为 Microsoft Azure 的 SQL Server 托管备份服务。 managed_backup.sp_backup_master_switch 系统存储过程允许在实例级别禁用目标为 Microsoft Azure 的 SQL Server 托管备份服务。 相同的存储过程可用于恢复目标为 Microsoft Azure 的 SQL Server 托管备份。 @state 参数用于定义是应关闭还是开启目标为 Microsoft Azure 的 SQL Server 托管备份。

使用 Transact-SQL 暂停目标为 Microsoft Azure 的 SQL Server 托管备份服务:

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 “执行”

Use msdb;  
GO  
EXEC managed_backup.sp_backup_master_switch @new_state=0;  
Go

使用 Transact-SQL 恢复目标为 Microsoft Azure 的 SQL Server 托管备份

  1. 连接到 数据库引擎。

  2. 在标准菜单栏上,单击 “新建查询”

  3. 将以下示例复制并粘贴到查询窗口中,然后单击 “执行”

Use msdb;  
Go  
EXEC managed_backup.sp_backup_master_switch @new_state=1;  
GO  

另请参阅

对 Microsoft Azure 启用 SQL Server 托管备份