正在学习用Transact-SQL语言创建数据库,创建前2个都很顺利,到创建第三个复杂的数据库时(有一个Primary文件组,2个Userdefined文件组,一个主文件,4个二级文件,2个日志文件)代码如下:
create database company
on
Primary(name=pri1_data,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\pri1data.mdf',
size=1,
maxsize=unlimited,
filegrowth=10%),
(name=pri2_data,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\pri2data.ndf',
size=1,
maxsize=unlimited,
filegrowth=10%),
filegroup comgroup1
(name=grp1_data,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\grp1data.ndf',
size=1,
maxsize=unlimited,
filegrowth=10%),
(name=grp2_data,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\grp2data.ndf',
size=1,
maxsize=unlimited,
filegrowth=10%),
filegroup dgroup
(name=dgrp_data,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\dgrpdata.ndf',
size=1,
maxsize=unlimited,
filegrowth=10%)
Log on
(name=comany_log1,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\comanylog1.ldf',
size=1,
maxsize=unlimited,
filegrowth=10%),
(name=comany_log2,
filename='C:\Program Files\Microsoft SQL Server\MSSQL\Data\comanylog2.ldf',
size=1,
maxsize=unlimited,
filegrowth=10%)
 
    命令分析成功,语法没有问题,但是出现错误如下:
    “未能获得数据库 'MODEL' 上的排它锁。请稍后再尝试该操作。CREATE DATABASE 失败。未能创建所列出的某些文件名。请检查前面的错误信息。”
 
没想明白是为什么,后台在网上找方法,有高手答复说,在查询分析器里运行以下代码:
declare @sql varchar(100)  
  while 1=1  
  begin  
  select top 1 @sql = 'kill '+cast(spid as varchar(3))  
  from   master..sysprocesses  
  where spid > 50 and spid <> @@spid    
  if @@rowcount = 0  
  break  
  exec(@sql)  
  end
运行完后,再运行前面写的创建数据库的代码,结果成功了。
这个应该算是别人的劳动成果,我拿来用了,记一下,以免以后有用!嘿嘿!