在 Sql Server 2008 Express 中创建数据库时权限被拒绝

在 Sql Server 2008 Express 中创建数据库时权限被拒绝

在 Vista 下的 Sql Server 2008 Express 上运行以下命令(由 Sql Server Management Studio 生成):

CREATE DATABASE [test] ON  PRIMARY 
( NAME = N'test', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\test.mdf' , SIZE = 5120KB , FILEGROWTH = 10%)
 LOG ON 
( NAME = N'test_log', FILENAME = N'c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\test_log.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)

结果是

Msg 262, Level 14, State 1, Line 1
CREATE DATABASE permission denied in database 'master'.

我发现针对 sql 2005 的表面积工具不再存在,而且我不知道如何将本地管理员(我就是其中之一)添加到 sql express 的数据库管理员中。

据我所知,这是一个相当标准的安装。

如何创建新的数据库?

答案1

2008 R2 安装程序会在安装过程中要求您选择哪个用户将成为 SQL Server 管理员。它不会像以前的版本那样将本地管理员帐户设为 SQL Server 系统管理员。如果您不知道在安装过程中将哪个用户设为管理员(或该用户已被删除),则您必须以单用户模式启动 SQL Server 并将您自己的帐户添加为系统管理员。

您可以按照以下说明操作
确保右键单击并“以管理员身份”运行 sqlcmd 对于步骤 5,您应该添加 Windows 帐户作为登录名,然后使用以下两个命令将其添加到 sysadmin 服务器角色:

exec sp_addlogin [YOULOCALMACHINENAME\YourUsername]
exec sp_addsrvrolemember [YOULOCALMACHINENAME\YourUsername], 'sysadmin'

然后您应该拥有运行 CREATE DATABASE 语句并使其工作所需的权限!

答案2

尝试使用 SQL 服务器身份验证模式以“sa”身份登录(使用相应的密码)。

答案3

您是否尝试过使用 OSQL 命令行工具,并使用 -E 开关使用集成身份验证登录。您不应该使用 -U 和 -P(用户名/密码)开关。

确保您以管理员身份登录。然后您可以从 OSQL 执行您的创建脚本。

答案4

试试这个,它有效:

exec sp_addlogin [YOULOCALMACHINENAME\YourUsername]
exec sp_addsrvrolemember [YOULOCALMACHINENAME\YourUsername], 'sysadmin'

相关内容