Bob*_*lth 35 sql-server localdb
如果我运行SQL Server Management Studio,并告诉它连接到(localdb)\ v11.0,它知道我曾经使用的每个数据库,尽管大多数数据库文件早已消失.
如果我要求它删除其中一个数据库,它会抱怨它不能DROP数据库,因为数据库文件已经消失(duhhh).那么,我该如何清理这个混乱并删除所有数据库引用,这些数据库引用的辅助数据库文件已经消失了?
短发
小智 32
在这种情况下,请分离数据库而不是尝试删除它.在SQL Management Studio中,右键单击数据库,选择"任务",然后选择"分离".
Fil*_*ikj 17
您需要做的就是重新创建实例,使用SQL 2012进行测试!只需使用管理员权限进入命令提示符并键入:
//list the instancies
sqllocaldb i
//stop selected instance
sqllocaldb p "selected instance"
//delete
sqllocaldb d "selected instance"
//recreate or create new one
sqllocaldb c "new instance"
Run Code Online (Sandbox Code Playgroud)
Qix*_*ing 13
我有同样的问题.在首先使用代码设计DB时,我只需删除旧的DB.最终在SQL Server Management Studio中出现多个已删除的数据库.然后,当我尝试查询数据库时,很难从已删除的数据库中找到正确的数据库实例.
正如IRM建议的那样,我试图分离那些已删除的数据库,对于其中一些数据库来说,它工作得很好!
但是我还剩下几个.然后我尝试在这些数据库上"脱机".每当我尝试使数据库脱机时,SQL Server Management Studio都会崩溃.SQL Server Management Studio重新启动后,数据库已经消失.因此,如果分离和删除不适合您,请尝试"脱机".
我已经收集了数百个这样的东西,并且单独拆卸它们实在是太愚蠢了.
我做了什么:
SELECT 'EXEC sp_detach_db ''' + name + ''''
FROM sys.databases
;
Run Code Online (Sandbox Code Playgroud)
这给了我一个exec命令列表:
EXEC sp_detach_db 'E:\...\ADATABASE.MDF'
EXEC sp_detach_db 'E:\...\ANOTHERDATABASE.MDF'
EXEC sp_detach_db 'E:\...\ATHIRDDATABASE.MDF'
....
EXEC sp_detach_db 'master'
EXEC sp_detach_db 'model'
EXEC sp_detach_db 'msdb'
EXEC sp_detach_db 'tempdb'
Run Code Online (Sandbox Code Playgroud)
将结果复制回命令窗口,突出显示系统数据库以外的所有内容,然后执行.
| 归档时间: |
|
| 查看次数: |
18019 次 |
| 最近记录: |