gre*_*reg 13 sql sql-server sql-server-2008
我有一个关于使用SQL Server 2008 R2的问题.
我最近遇到了计算机问题,因此我不得不重新启动Windows,并且必须将一个用户的权限授予另一个用户(使用属性中的安全功能).最初提供权限时,通过"拒绝访问"消息.
经过大量研究后,它停止产生此错误(我需要授予权限的用户也无法使用),这会导致另一个问题发生,但这次是在SQL Server中.它产生这个信息;
无法访问数据库[dbName].(ObjectExplorer)
当我尝试选择下拉选项以查看SQL Server中的数据库的表和存储过程列表时,会发生此错误.我在以下链接中找到了解释;
然后我尝试这样实施;
USE msdb;
GO
GRANT CONNECT TO [DBName\MyName] ;
CREATE DATABASE [DBNAME] ON PRIMARY
Run Code Online (Sandbox Code Playgroud)
使用我创建的脚本(幸运的是在此问题发生之前)它通过大量的消息;
消息15151,级别16,状态1,行1
找不到用户'DBName\MyName',因为它不存在或您没有权限.
Msg 262,Level 14,State 1,Line 2
CREATE DATABASE权限在数据库'master'中被拒绝.
消息5011,级别14,状态9,行1
用户无权更改数据库'DBName',数据库不存在,或者数据库未处于允许访问检查的状态.
Msg 5069,Level 16,State 1,Line 1 ......
在这一系列错误之后,我已经变得不稳定,因此如果有人能就我能解决这个问题的方法给我一些反馈,我将不胜感激.干杯.
一般来说,直接向登录授予权限是一个坏主意。您应该在数据库中创建角色对象,并将数据库中的所有权限分配给角色。
然后,当将数据库移动到另一台计算机(或重新安装)时,您唯一需要修改的是服务器登录和角色分配。