我在使用SQL Server 2008 R2方面遇到了问题。
我最近遇到了计算机问题,因此我不得不重新启动Windows,并且必须将一个用户的权限授予另一个用户(使用属性中的安全功能)。最初提供权限时,通过“拒绝访问”消息。
经过大量研究后,它停止产生此错误(我需要授予权限的用户也无法使用),这会导致另一个问题发生,但这次是在SQL Server中。它产生这个信息;
无法访问数据库[dbName]。 (ObjectExplorer)
当我尝试选择下拉选项以查看SQL Server中数据库的表和存储过程列表时,会发生此错误。我在以下链接中找到了对此的解释;
然后我试着像这样实施; USE msdb;
GO
GRANT CONNECT TO [DBName\MyName] ;
CREATE DATABASE [DBNAME] ON PRIMARY
使用我创建的脚本(幸运地在此问题发生之前)通过大量消息创建;
Msg 15151,Level 16,State 1,Line 1
找不到用户'DBName \ MyName',因为它不存在或您没有权限 Msg 262,Level 14,State 1,Line 2
数据库'master'中的CREATE DATABASE权限被拒绝 消息5011,等级14,状态9,行1 用户无权更改数据库'DBName',数据库不存在,或者数据库未处于允许访问检查的状态。
Msg 5069,Level 16,State 1,Line 1 ......
在这一系列错误之后,我已经失去了兴趣,因此如果有人能就我能解决这个问题的方法给我一些反馈,我将不胜感激。欢呼声。
答案 0 :(得分:3)
通常,直接向登录授予权限是一个坏主意。您应该在数据库中创建角色对象,并且应该将数据库中的所有权限分配给角色。
然后,当将数据库移动到另一台计算机(或重新安装)时,您必须修改的唯一内容是服务器登录和角色分配。
答案 1 :(得分:1)
一个可能的问题是您有两个数据库实例,因此如果您在Visual studio
关闭连接中的服务器资源管理器中打开并访问了数据库,则必须停用一个实例,然后转到Windows服务和停止并重新启动SQL server service (MSSQL)
然后转到Management studio
并打开您的数据库,它应该打开,您可以从Management studio浏览表格。
答案 2 :(得分:1)
似乎您尝试访问的数据库没有管理员权限。关闭SSMS并通过以管理员身份运行来打开它。
答案 3 :(得分:1)
使用sa登录并展开安全性>登录,右键单击用户名,然后单击属性, 单击“用户映射”,然后选择要用户访问的数据库,然后单击确定