SQL 移动数据库文件后到 Azure 的服务器备份停止工作
SQL Server backup to Azure stopped working after moving DB files
我在本地 SQL Server 2014 中有一个数据库。对于该数据库,我有一个备份到使用 smart_admin.sp_set_db_backup
过程配置的 Azure 存储。
最近我不得不将数据库文件从一个磁盘移动到另一个磁盘。我分离数据库,移动文件,重新附加它。
之后我的备份停止工作。函数smart_admin.fn_backup_db_config
表示数据库备份记录存在但数据库标记为is_dropped = 1
为此数据库启用或禁用备份的任何尝试都失败并出现错误:
SQL Server Managed Backup to Windows Azure cannot configure the database, 'DATABASE_NAME', because it either does not exist or is offline.
有什么方法可以删除备份配置信息并创建一个新配置信息?我发现的一个想法是重命名数据库,但我不能在生产中这样做。
Managed Backups - is_dropped flag set to Yes after detaching database
and reattaching DB
重命名数据库并重新设置托管备份。
正如我之前提到的,不允许我在 Production 上重命名数据库。所以我找到了它被标记为丢弃的地方并更改了值。那有帮助。数据库的自动备份再次开始工作。 IMO 发生的事情看起来像是 SQL Server 2014 中的错误。
use msdb;
go
update [dbo].[autoadmin_managed_databases]
set drop_date = null
where [db_name] = '<DROPPED_DATABASE_NAME>'
go
很接近,但对于给定的 db_name
,autoadmin_managed_databases
中可以有多个记录。您需要获取最后一条记录,即最大 autoadmin_id
的记录。我选错了,SQL 服务器在我 运行 smart_admin.sp_set_db_backup
或 15 分钟间隔 运行.
后重新填充了 drop_date
use msdb;
go
update [dbo].[autoadmin_managed_databases]
set drop_date = null
where [autoadmin_id]= (select max(autoadmin_id)
from [dbo].[autoadmin_managed_databases]
where db_name = '<DROPPPED_DATABASE_NAME>')
go
我在本地 SQL Server 2014 中有一个数据库。对于该数据库,我有一个备份到使用 smart_admin.sp_set_db_backup
过程配置的 Azure 存储。
最近我不得不将数据库文件从一个磁盘移动到另一个磁盘。我分离数据库,移动文件,重新附加它。
之后我的备份停止工作。函数smart_admin.fn_backup_db_config
表示数据库备份记录存在但数据库标记为is_dropped = 1
为此数据库启用或禁用备份的任何尝试都失败并出现错误:
SQL Server Managed Backup to Windows Azure cannot configure the database, 'DATABASE_NAME', because it either does not exist or is offline.
有什么方法可以删除备份配置信息并创建一个新配置信息?我发现的一个想法是重命名数据库,但我不能在生产中这样做。
Managed Backups - is_dropped flag set to Yes after detaching database and reattaching DB
重命名数据库并重新设置托管备份。
正如我之前提到的,不允许我在 Production 上重命名数据库。所以我找到了它被标记为丢弃的地方并更改了值。那有帮助。数据库的自动备份再次开始工作。 IMO 发生的事情看起来像是 SQL Server 2014 中的错误。
use msdb;
go
update [dbo].[autoadmin_managed_databases]
set drop_date = null
where [db_name] = '<DROPPED_DATABASE_NAME>'
go
db_name
,autoadmin_managed_databases
中可以有多个记录。您需要获取最后一条记录,即最大 autoadmin_id
的记录。我选错了,SQL 服务器在我 运行 smart_admin.sp_set_db_backup
或 15 分钟间隔 运行.
drop_date
use msdb;
go
update [dbo].[autoadmin_managed_databases]
set drop_date = null
where [autoadmin_id]= (select max(autoadmin_id)
from [dbo].[autoadmin_managed_databases]
where db_name = '<DROPPPED_DATABASE_NAME>')
go