在一个中止的TFS导入过程中(2008年到2010年),我在2008年设法“丢失”了一个数据库。在Management Studio中数据库不可见,但是SQL Server exe在.mdf文件中有句柄(根据UnLocker) ,它说它不能附加它,因为该文件正在使用中,它不能附加文件的副本(在SQL Server停止时创build),因为它说已经附加了一个同名的数据库。
鉴于我正在使用相同的TFSpipe理员帐户,我一直使用,并始终能够看到数据库中,为什么这个数据库丢失,更重要的是,我怎样才能得到它呢?
这很奇怪!
是否有可能你有另一个SQL服务器命名实例运行&这有数据库附加?
你是否login到SQL Server作为系统pipe理员或SA仍然无法看到数据库? 如果您不是该数据库中的用户,那么您可能无法使用当前的login名查看该用户。
VIEW ANY DATABASE权限可能会在您当前的login中被拒绝,或者权限可能已从公共angular色中被撤销。
解决这个问题的最简单的方法是让你的TFS用户帐户(login)是数据库上的用户。
可能听起来很愚蠢,但是…您是否尝试过重新启动SQL Server服务?
有时文件锁只是卡住没有明显的原因。
您是否有权查看所有数据库活动,即查看该数据库的开放连接? 如果您可以看到一个针对该数据库名称的进程,则可以尝试查杀该进程。
我遇到了这样的问题,因为pipe理工作室locking了一个数据库,没有明确的理由,杀死了SPID,所以我可以继续进行维护工作。
尝试在查询窗口中运行sp_who2。