使用SQL Server Management Express创建数据库时出现问题

时间:2010-11-10 17:50:06

标签: sql-server-2005

我正在尝试使用SQL Server Management Express创建数据库。 发生以下错误:

  

TITLE:Microsoft SQL Server管理   Studio Express

     

数据库创建失败   'dbTestDBase'。   (Microsoft.SqlServer.Express.Smo)

     

如需帮助,请点击:   http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=9.00.2047.00&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Create+Database&LinkId=20476

     

其他信息:

     

执行时发生异常   Transact-SQL语句或批处理。   (Microsoft.SqlServer.Express.ConnectionInfo)

     

CREATE DATABASE权限被拒绝   数据库'master'。 (Microsoft SQL   服务器,错误:262)

     

如需帮助,请点击:   http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=09.00.1399&EvtSrc=MSSQLServer&EvtID=262&LinkId=20476

9 个答案:

答案 0 :(得分:5)

以管理员身份运行Microsoft SQL Server Studio ....您的问题将得到解决

答案 1 :(得分:1)

非常明确:您使用的凭据没有足够的权限来创建新数据库。您是使用集成Windows身份验证还是Sql Server身份验证登录的?确保您的凭据具有dbcreator角色。

http://msdn.microsoft.com/en-us/library/ms176014%28v=SQL.90%29.aspx

答案 2 :(得分:0)

好吧,错误信息似乎很清楚:

  

CREATE DATABASE权限被拒绝   数据库'master'。

显然,您使用的用户帐户没有创建新数据库的权限。那可能吗?你在用什么样的用户?

另外:你能告诉我们你正在使用的CREATE DATABASE陈述吗?

答案 3 :(得分:0)

只检查路径是否已指定

例如:" C:.. \ MSSQL \ DATA",在新数据库向导的两个数据库文件列中

答案 4 :(得分:0)

如果计算机是Domain的一部分。在工作站上以本地管理员帐户登录(可能是因为使用本地管理员帐户在计算机上安装了MSQSQL,这意味着本地管理员帐户在SMSQL上具有systemmadmin访问权限),然后当您已经以本地管理员身份登录时。打开MSSQL,现在添加/编辑MSSQL安全帐户。

答案 5 :(得分:0)

尝试使用右键单击+数据库上的新数据库创建数据库时遇到了同样的问题。

解决方法是使用New Query和命令来创建数据库:

CREATE DATABASE databasename;

最后,我想提一下,我使用(localdb)\ v11.0通过Windows身份验证登录Management Studio。

答案 6 :(得分:0)

我希望此解决方案可以帮助某人!

当我从PC管理和注册表中删除了以前的用户时,我的问题就开始了。然后,我创建一个标准用户。并尝试从新用户创建数据库,这就是我的问题所在。

  

在寻找更好的解决方案之后,我首先从计算机上完全卸载了MS Server Express数据库,然后再次重新安装。这样可以节省时间并解决了我的问题。

我希望此解决方案也能对某人有所帮助!

答案 7 :(得分:0)

我有同样的问题。但是解决了! 您应该转到创建数据库的指定文件夹(例如:C:\ Program Files \ Microsoft SQL Server \ MSSQL14.MSSQLSERVER \ MSSQL \ DATA) 然后右键单击数据文件夹->属性->高级 然后取消选中压缩内容以节省磁盘空间。 就是这样。

答案 8 :(得分:0)

我有类似的问题,并通过执行以下命令解决了


--Step1 Find if it is used by some other PID
Use
master
GO

IF
EXISTS(SELECT request_session_id FROM
sys.dm_tran_locks

WHERE resource_database_id =
DB_ID('Model'))
PRINT
'Model Database being used by some other session'
ELSE
PRINT
'Model Database not used by other session'

-- Step 2 - Identify
SELECT request_session_id FROM
sys.dm_tran_locks

-- Step 3 Get PID

WHERE resource_database_id =
DB_ID('Model')

-- Step 4 Get the EventInfo
DBCC InputBuffer(214)

-- Step 5 Kill the PID  
     Kill 214

希望这会有所帮助