权限问题导致无法访问数据库

3
最近我接手了另一个程序员创建/存储在SQL Management Studio 2008中的数据库,但我很难访问、修改或查看以前创建的数据库。具体来说,当我尝试在SQL Management Studio中加载其中一个数据库时,会出现以下错误消息:"The database [database name] is not accessible. (Object Explorer)"。我是使用Windows身份验证连接到SQL服务器的。那么,这是上一个开发人员留下的权限问题吗?(不幸的是他不可用)除了完全重新安装SQL Management Studio之外,还有没有简单的解决方法?更新:尝试访问用户映射时,如下所示,我收到以下错误消息:
"One or more databases are inaccessible and will not be displayed in list."

很遗憾,我正在尝试访问的数据库都没有出现在列表中,因此我认为它们仍然无法访问。

3个回答

3
这很可能是一个权限问题。如果你在SQL Server Management Studio中打开对象资源管理器,展开安全节点(位于服务器实例下方的节点,而不是各个数据库下方的安全选项卡),然后展开登录节点,你将看到已在服务器上创建的登录列表。查看每个登录的属性并检查用户映射信息。你将能够看到哪些登录被映射到哪些数据库。可能之前的程序员只授予了某些登录对数据库的访问权限。如果你找到一个已经映射到所需数据库的登录账户,请尝试更改该登录账户的密码,然后使用该登录账户和密码连接到数据库。注意:更改密码时要小心,因为它可能会影响正在使用该登录账户和密码的生产应用程序!

我按照你的建议操作,但是当我尝试显示用户映射时,又出现了另一个错误信息:“一个或多个数据库无法访问,将不会在列表中显示。”不幸的是,我想要访问的所有数据库都没有出现在列表中,所以我认为它们仍然无法访问。 - Raven Dreamer
当安装SQL Server时,应该创建一个名为“sa”(系统管理员)的登录帐户。默认情况下,此登录帐户应该具有对所有内容的完全访问权限。有人还记得“sa”登录帐户的密码吗?如果是这样,请尝试使用该用户名登录。 - TLiebe
我会添加一个可能的原因。当涉及到的数据库被镜像到主服务器时,我曾经看到过这个错误。镜像数据库被注册为不可访问,因此登录用户无法被授予访问该数据库所需的权限。 - Necoras

1
这条信息:

"One or more databases are inaccessible and will not be displayed in list."

这意味着您当前使用的用户无法访问该数据库。如果您可以使用具有访问权限的用户登录,并通过用户映射更改实际用户的权限,则您将能够看到它。


-2
你需要一个dba(或具有dba等效访问权限的人)来授予你对数据库的访问权限。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接