2010-06-04 75 views
2

最近,我从另一位程序员(使用SQL Management Studio 2008创建/存储)继承了数据库,并且在访问,修改甚至查看以前创建的数据库时遇到了很多困难。权限问题阻止数据库访问

具体而言,当我尝试加载在SQL Management Studio中的数据库之一,我收到以下错误信息:

“数据库[数据库名]不是 访问(对象资源管理器)。”

我使用Windows身份验证连接到SQL服务器。

无论如何,这是从最后一个开发遗留的权限问题? (不幸的是他不可用)还有一个简单的解决方法,就是完全重新安装SQL Management Studio吗?

编辑:更新:

在试图访问用户映射,如下面的建议,我得到了以下错误消息:

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

不幸的是,没有一个我试图访问数据库的出现名单,所以我认为他们仍然无法访问。

回答

1

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

+0

我按照您的建议做了,并且在尝试显示用户映射时遇到了另一个错误消息: “一个或多个数据库无法访问,并且不会显示在列表中。” 不幸的是,我试图访问的数据库都没有出现在列表中,所以我认为它们仍然无法访问。 – 2010-06-04 13:58:36

+0

安装SQL Server时,应该使用'sa'登录(系统管理员)创建它。默认情况下,此登录应该可以完全访问所有内容。有人记得'sa'登录的密码是什么吗?如果是这样,请尝试使用该用户名登录。 – TLiebe 2010-06-04 14:26:57

+0

我会添加一个额外的潜在原因。当有问题的数据库镜像到主服务器时,我看到了这个错误。镜像数据库注册为不可访问,因此登录不能被授予该数据库的必要权限。 – Necoras 2016-01-19 17:47:24

0

您需要一个dba(或具有dba等效权限的人员)才能授予您数据库的权利。

0

此消息:

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

意味着你使用的是现在的用户无法访问该数据库。如果您可以输入有权访问的用户,并且该用户可以通过用户映射更改您的实际用户权限,那么您将看到它。