gpt4 book ai didi

sql - 仅在备份成功时删除数据库

转载 作者:太空狗 更新时间:2023-10-30 02:01:10 25 4
gpt4 key购买 nike

这对某些人来说可能很简单,但我还没有找到一个简单的解决方案。

我目前正在自动化一个更大的流程,第一步是备份然后删除数据库,然后再从头开始重新创建它。

我有一个脚本可以按如下方式进行备份和删除:

Use [Master]
BACKUP DATABASE [databaseName]
TO DISK='D:\Backup\databaseName\20100122.bak'

ALTER DATABASE [databaseName]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE

DROP DATABASE [databaseName]

但我担心即使 BACKUP 失败也会发生 DROP。

如何更改脚本,以便在 BACKUP 失败时不会发生 DROP?

提前致谢!

最佳答案

如果您的 SQL Server 版本是 2005 或更高版本,您可以使用 try catch 包装您的语句。如果备份失败,它将跳转到 catch 而不会删除数据库...

Use [Master]
BEGIN TRY

BACKUP DATABASE [databaseName]
TO DISK='D:\Backup\databaseName\20100122.bak'

ALTER DATABASE [databaseName]
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE

DROP DATABASE [databaseName]
END TRY
BEGIN CATCH
PRINT 'Unable to backup and drop database'
END CATCH

关于sql - 仅在备份成功时删除数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2113874/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com