gpt4 book ai didi

sql - 删除数据库但不删除 *.mdf/*.ldf

转载 作者:行者123 更新时间:2023-12-02 08:24:53 27 4
gpt4 key购买 nike

我正在尝试自动执行分离和删除数据库的过程(通过 VBS objshell.run)如果我手动使用 SSMS 进行分离和删除,然后我可以将数据库文件复制到另一个位置...但是,如果我使用:

sqlcmd -U sa -P MyPassword -S (local) -Q "ALTER DATABASE MyDB set single_user With rollback IMMEDIATE"

然后
sqlcmd -U sa -P MyPassword -S (local) -Q "DROP DATABASE MyDB"

它分离/删除然后删除文件。如何在不删除的情况下进行分离和删除?

最佳答案

DROP DATABASE 上的 MSDN 文档有关于删除数据库而不删除文件的说法(在一般备注下):

Dropping a database deletes the database from an instance of SQL Server and deletes the physical disk files used by the database. If the database or any one of its files is offline when it is dropped, the disk files are not deleted. These files can be deleted manually by using Windows Explorer. To remove a database from the current server without deleting the files from the file system, use sp_detach_db.



因此,为了让您在不使用 sqlcmd 删除文件的情况下删除数据库,您可以将其更改为:
sqlcmd -U sa -P MyPassword -S (local) -Q "EXEC sp_detach_db 'MyDB', 'true'"

免责声明:老实说,我以前从未使用过 sqlcmd,但从它的使用语法假设我相信这应该可以帮助您解决问题。

关于sql - 删除数据库但不删除 *.mdf/*.ldf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33154141/

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