15

我有一个关于使用 SQL Server 2008 R2 的问题。

我最近遇到了我的计算机问题,因此我不得不重新启动 Windows,并且必须将一个用户的权限授予另一个用户(使用属性中的安全功能)。但是,最初授予权限时,它会通过“拒绝访问”消息。

经过大量研究,它停止产生此错误(我需要授予权限的用户也不可用),然后导致另一个问题发生,但这次是在 SQL Server 中。它产生这个消息;

无法访问数据库 [dbName]。(对象浏览器)

当我尝试选择下拉选项以查看 SQL Server 中数据库的表和存储过程的列表时,会发生此错误。我在以下链接中找到了对此的解释;

http://www.microsoft.com/products/ee/transform.aspx?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1617&EvtSrc=MSSQLServer&EvtID=916

然后我尝试像这样实现;

 USE msdb;
 GO
 GRANT CONNECT TO [DBName\MyName] ;

 CREATE DATABASE [DBNAME] ON PRIMARY

使用我创建的脚本(幸运的是在这个问题发生之前)它通过大量消息;

消息 15151,级别 16,状态 1,第 1 行
找不到用户“DBName\MyName”,因为它不存在或您没有权限。
消息 262,级别 14,状态 1,第 2 行
创建数据库权限在数据库“主”中被拒绝。
消息 5011,级别 14,状态 9,第 1 行
用户无权更改数据库“DBName”,数据库不存在,或数据库未处于允许访问检查的状态。
消息 5069,第 16 级,状态 1,第 1 行...

在这一系列错误之后,我已经陷入困境,因此如果有人能给我一些关于我可以做些什么来解决这个问题的反馈,我将不胜感激。干杯。

4

4 回答 4

5

使用 sa 登录并展开 Security > Login,右键单击用户名,然后单击属性,单击用户映射并选择您希望用户访问的数据库,然后确定

于 2019-01-03T08:34:15.887 回答
3

通常,直接向登录授予权限是一个坏主意。您应该在数据库中创建角色对象,并且应该将数据库中的所有权限分配给角色。

然后,当将数据库移动到另一台计算机(或重新安装)时,您唯一需要修改的是服务器登录名和角色分配。

于 2013-01-02T14:47:10.917 回答
1

One possible problem is that you have two instances of the database, so you have to deactivate one instance, if you have your database opened and accessible in your server explorer in Visual studio close connexion then go to windows services and stop and restart SQL server service (MSSQL) then go to Management studio and open your database, it should be opened and you can explore tables from Management studio.

于 2013-01-03T15:59:35.287 回答
0

似乎您尝试访问的数据库没有管理员权限。关闭 SSMS 并以管理员身份运行打开它。

于 2016-05-02T18:33:55.157 回答