以SA身份login时无法访问数据库

我们正在使用混合模式authentication。 我可以看到和除了一个服务器上的所有数据库。 我以SA帐户login。 一个数据库不能在SSMS中扩展,当我试图看看它,我得到的错误:

“数据库不可访问(ObjectExplorer)”

当我试图看看它。 错误日志没有帮助。 备份也失败。

有任何想法吗? 它会腐败吗? 接下来的步骤是什么?

谢谢!!

如果您可以在您login时看到数据库,但不是SA,那么这是一个权限问题。 SA必须被限制在该数据库中。 请咨询数据库pipe理员。 如果您是数据库pipe理员,请以您自己的身份login并检查SA的权限。

如果您无法看到它,无论login谁,都可能是分离的或脱机的。

此外,这将更好地放在ServerFault.com。

再次编辑

这个数据库最近从不同的服务器恢复? 我不敢相信我没有想到这一点,因为它发生在我上个月…如果这是从另一台服务器上备份恢复,那么我有另一种可能的select…

你和我看到loginSA为“SA”,但在底层,SQL Server看到它与一个不同的ID。 (我认为这是一个guid)。

有时,我必须从我们的现场服务器备份数据库,并将其恢复到我们的testing服务器上。 当发生这种情况时,对于任何SQL Serverlogin都没有正确设置权限(但是它们对于Windowslogin是正确的)。例如,我可以查看一个表,显示SA有权访问,但是当我尝试使用SA ,我得到了同样的信息。

我们最终想到的是,我们需要从数据库中删除SA用户,然后在服务器级别删除它,然后使用适当的权限将其重新设置为备份。

这是因为SQL Server在“友好”用户名下使用的Id之间的差异。

例如,在我们的testing服务器上,SA可能有一个abc的id,在我们的活动服务器上,id可能是def。 不知何故,当从一台服务器恢复一个数据库到另一台服务器时,这会使事情变糟

这里有一篇关于它的文章: http : //searchsqlserver.techtarget.com/tip/Restoring-a-database-from-another-SQL-Server

哎呀。 你必须注册上面的一个。 这是一个你不需要注册的。

http://dbaspot.com/sqlserver-server/359100-database-not-accessible-objectexplorer.html

最后一个包含KB的链接,显示了比我一直这样做的更好的方法来解决这个问题。 这个数字。 所以,即使这不能解决你的问题,你也帮助我find了更好的答案,所以+1问你问题和帮助我。