【问题标题】: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 上 - 不确定是否有帮助

标签: sql sql-server-2008 sql-server-express


【解决方案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】:
      1. 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 并选择用户并右键单击属性,设置如下

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 2021-08-17
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2015-03-22
                相关资源
                最近更新 更多