禁用 SQL Server 托管备份
本主题介绍了如何在数据库级别和实例级别禁用或暂停 Microsoft Azure 的 SQL Server 托管备份 。
为数据库禁用 Microsoft Azure 的 SQL Server 托管备份
通过使用系统存储过程 managed_backup.sp_backup_config_basic (Transact SQL),可以禁用 Microsoft Azure 的 SQL Server 托管备份 设置。 @enable_backup 参数用于为特定数据库启用和禁用SQL Server Microsoft Azure 托管备份配置,其中 1 启用,0 禁用配置设置。
为特定数据库禁用 Microsoft Azure 的 SQL Server 托管备份 :
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
SQL
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 托管备份 :
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。 下面的示例确定是否在实例级别配置 Microsoft Azure 的 SQL Server 托管备份 ,在实例上启用了所有 Microsoft Azure 的 SQL Server 托管备份 ,并且执行系统存储过程 sp_backup_config_basic 以便禁用 Microsoft Azure 的 SQL Server 托管备份。
SQL
-- 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
若要查看实例上所有数据库的配置设置,请使用以下查询:
SQL
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 托管备份 默认配置设置:
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击“执行” 。
SQL
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 参数用于定义是应关闭还是打开SQL Server Microsoft Azure 托管备份。
使用 Transact-SQL 暂停 Microsoft Azure 的 SQL Server 托管备份 服务:
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击 “执行” 。
SQL
Use msdb;
GO
EXEC managed_backup.sp_backup_master_switch @new_state=0;
Go
使用 Transact-SQL 恢复 Microsoft Azure 的 SQL Server 托管备份 :
连接到 数据库引擎。
在标准菜单栏上,单击 “新建查询” 。
将以下示例复制并粘贴到查询窗口中,然后单击 “执行” 。
SQL
Use msdb;
Go
EXEC managed_backup.sp_backup_master_switch @new_state=1;
GO 



