在数据库'master'中创建表权限被拒绝
Posted
技术标签:
【中文标题】在数据库\'master\'中创建表权限被拒绝【英文标题】:create table permission denied in database 'master'在数据库'master'中创建表权限被拒绝 【发布时间】:2011-09-05 22:02:34 【问题描述】:我已经在我的电脑上安装了免费版的 sql server 2008(sql server management studio express edition)。安装后出现以下错误
create table permission denied in database 'master'
我尝试重新安装几次,但我一直收到同样的错误。当我检查时
select user_account();
显示我是以访客身份登录的。我该如何解决这个问题?因为我不允许创建新的登录名。
【问题讨论】:
您是否已将自己从系统管理员角色中删除?还有你在什么操作系统上? 只是阅读一些建议以管理员身份运行 Sql Studio 可能会有所帮助的内容 - 无论如何在 vista 上 - 不确定是否有帮助 【参考方案1】:我已阅读该错误可能是由 UAC 引起的(在旧版本的 SQL Server Express 上)。尝试右键单击 SQL Studio 并以管理员身份运行。
如果这不起作用,那么这里应该有针对同一问题的修复程序。大概值得一试。
Script to add the current user to the SQL Server 'sysadmin' role
【讨论】:
听起来 OP 使用的登录名没有CREATE DATABASE
权限。
@TheCodeKing:它不允许我创建任何新数据库。同样在功能选择中,我只获得数据库引擎服务和共享功能
我遇到了同样的错误,这个答案中提到的脚本对我有用。从技术上讲,需要做的只是两个声明(参见bit.ly/LN2Q6J):(1)CREATE LOGIN [your domain account] FROM WINDOWS;
和(2)SP_ADDSRVROLEMEMBER ‘your domain account’, ‘sysadmin’;
。我可以做第一个,但不能做第二个;原因从 BOL 透露:“需要在添加新成员的角色中成为成员。” Catch 22. 正如脚本所做的那样,所需的魔法是在维护模式下重新启动 SQL 服务以添加角色,然后恢复正常。
链接已更改,目前可以在gist.github.com/hugodahl/8b34cbacf7bcd491b116 找到(根据hrzdata.com/node/57)
在安装sql server时,你是否将你当前的用户作为管理员添加到服务器?【参考方案2】:
您应该使用sp_addsrvrolemember
将您的用户添加到角色“系统管理员”中。这是帮助我解决此问题的链接:http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/76fc84f9-437c-4e71-ba3d-3c9ae794a7c4/
【讨论】:
【参考方案3】:即使我以 master 身份登录,我也遇到了同样的问题。当我使用“select user_name();”时,我显示为“访客”登录。我在脚本之前使用了 'USE ,Database>' 子句确实有效。我希望这也适用于你们中的一些人。
【讨论】:
另一种方法是在您专注于查询以选择正确的数据库时检查左上角的“可用数据库”下拉菜单。当我拥有不同数据库的权限时,我正在击中大师。见这里:imgur.com/a/mSFJe 谢谢Jeff,这很有帮助。我将在答案中发布视觉效果,以使其更加突出。干杯。【参考方案4】:如果您的表实际存在于不同的数据库(不是主数据库)中,您将需要切换到该数据库。更改数据库引用的 GUI 选项如下所示。
【讨论】:
【参考方案5】:-
select USER_NAME() 执行这个查询,如果你发现用户名是guest然后关闭sql server..
2.然后转到开始菜单右键单击sql server图标并选择“以管理员身份运行”选项..现在您可以创建数据库
【讨论】:
【参考方案6】:如果您在 Sql server 2008 管理工作室中遇到与以下链接相同的错误,那么在我发现这个并检查 blipsalt http://social.msdn.microsoft.com/Forums/en-US/sqlexpress/thread/76fc84f9-437c-4e71-ba3d-3c9ae794a7c4/ 的答案后,将解决此错误
【讨论】:
【参考方案7】:我也遇到了同样的问题。经过努力,我发现了这个美丽的链接
http://www.metatexis.net/manual_server/errorwhenusingmssqlservernamedpipesprovidercouldnotopenaconnectiontosqlserver.htm
我的 Sql Server 的问题是我可以使用 USER-NAME 帐户登录,但不能使用 USER-NAME\SQLEXPRESS 帐户登录。 USER-NAME 服务器只有访客权限,而 USER-NAME\SQLEXPRESS 具有完整权限。您可以通过执行此查询来检查。
select user_name()
我继续检查我的服务是否正在运行。您可以通过单击开始并输入“services.msc”来执行此操作。打开它并搜索“SQL Server (SQLEXPRESS)”。如果尚未启动,请启动它。
在我的情况下,它被禁用了。我右键单击它。转到属性并将“启动类型”更改为“自动”。
完成所有这些后,我再次启动 Sql Server Management Studio 并使用 USER-NAME\SQLEXPRESS 进行连接,它工作正常。
干杯,
【讨论】:
【参考方案8】:您可能选择了主数据库。只需切换到您要写入的数据库。转到 SSMS 左上角的可用数据库,然后从下拉菜单中选择正确的数据库(见图)。
【讨论】:
【参考方案9】:用户不是系统管理员。使用 SA 凭据登录数据库并转到 Security->Logins 并选择用户并右键单击属性,设置如下
【讨论】:
以上是关于在数据库'master'中创建表权限被拒绝的主要内容,如果未能解决你的问题,请参考以下文章
EF Code First CREATE DATABASE 权限在数据库“主”中被拒绝