MSSQL拒绝创建数据库:一种现象(mssql拒绝创建数据库)
的可能原因
MSSQL拒绝创建数据库是指MSSQL中的用户在执行相应的语句创建数据库时失败或者报错,这种现象有可能源自以下原因。
首先,可能是登录权限的问题,登录MSSQL的用户需要具备拥有创建数据库的权限,如果没有相应的权限,就会被拒绝创建数据库。可以执行如下代码进行验证:
SELECT state_Desc, auth_name
FROM SYS.SYSOLOGINS A LEFT JOIN SYS.SYSOBACTS B
ON A.AUTH_ID = B.AUTH_IDWHERE auth_name like '%create%database';
其次,可能是系统硬盘空间不足导致的,MSSQL创建数据库功能会检测系统硬盘空间是否足够,如果空间不足就无法创建数据库,在每次创建之前可以执行如下代码检测当前磁盘空间:
declare @diskfree as bigint
exec xp_fixeddrives select @diskfree=cfree from xp_fixeddrives
where [name] = 'D:' print 'D: disk spcae:'+ ' ' + cast(round(@diskfree/1024/1024,0) as varchar)+'M'
最后,还可能是系统版本的问题,MSSQL 2008以及以下版本已不支持创建数据库,用户最好确认是否是2008以及以下的版本,可以通过下列代码获取当前MSSQL的版本:
SELECT serverproperty('edition')
以上是MSSQL拒绝创建数据库的一些常见原因,但事实上还可能有其他问题,建议用户根据相关信息在MSSQL官网进行查询并尝试相应的排查方法。