GO
ALTER DATABASE my_db REMOVE FILE db_3 /* 删除数据库my_db的文件db_3 */
GO
明明是对数据库my_db进行操作,USE master 在这里好像用得有点不对。
奇怪是这确实执行成功了,文件db_3真的被删除了。
希望有谁能给解释一下。
3 个解决方案
#1
你的库正在用,怎么可能给你移除呢?肯定是在别的库拉。而且这个库通常就是master,因为用户数据库的信息是存放在master的
#2
这好像也说不过去,因为当我把语句改成
USE my_db
GO
ALTER DATABASE my_db REMOVE FILE db_3
GO
这样后,也能执行成功,文件db_3依然能被删除。
#3
那只能说刚好你这个功能不需要用到master而已,有些语句必须要在master中执行才有效,因为需要更改实例级别的信息。看了一下联机丛书,每一个例子都是use master的,所以你最好保留
#1
你的库正在用,怎么可能给你移除呢?肯定是在别的库拉。而且这个库通常就是master,因为用户数据库的信息是存放在master的
#2
这好像也说不过去,因为当我把语句改成
USE my_db
GO
ALTER DATABASE my_db REMOVE FILE db_3
GO
这样后,也能执行成功,文件db_3依然能被删除。
#3
那只能说刚好你这个功能不需要用到master而已,有些语句必须要在master中执行才有效,因为需要更改实例级别的信息。看了一下联机丛书,每一个例子都是use master的,所以你最好保留