create database mynewdb
on primary
(NAME=mynewdb,filename='c:\mysqldata\mynewdb.mdf',size=10mb,maxsize=2GB,filegrowth=20)
log on
(name=mynewdblog,filename='c:\mysqldata\mynewdblog.ldf',size=5mb,maxsize=1gb,filegrowth=10%)当C盘不存在mysqldata文件夹时,会报错。怎么使得如果不存在,则自动创建,如果存在,直接写入就好了。
create database db
on
primary(name=db,
filename='C:\program files\mircosoft SQL server\mssql10.mssqlserver\mssql\data\db.mdf',
size=100MB
maxsize=200
filegrowth=20)
go
--解释下上面的参数:
--primary关键字,指定关联<文件定义>列表用于定义主要数据文件,一个数据库只能有一个主文件,如果没有指定primary,那么create database 语句中列出的第一个文件将成为主文件。--name关键字,用于指定数据文件的逻辑名称--filename关键字,指定数据文件的操作系统文件名。其后面的参数是创建数据文件时定义的物理文件的路径名和文件名。--size关键字,指定数据文件的大小。--maxsize关键字,指定数据文件可以增长到的最大大小。--unlimitted关键字,上面的例子中省略掉了。若指定了,则代表指定定义的数据文件将增长到磁盘变满为止。--filegrowth关键字,指定数据文件的增长增量,其值不能超过maxsize设置。0表示不增长。,默认值为MB。如果指定为%,则增量大小为发生时文件大小的指定百分比,如果没有指定,默认值为10%。--在创建数据库时指定文件组
create database db
on
primary(name=db1,
filename='C:\program files\mircosoft SQL server\mssql10.mssqlserver\mssql\data\db1.mdf',
size=100MB
maxsize=200
filegrowth=20),
filegroup filegroup1
(name=db2,
filename='C:\program files\mircosoft SQL server\mssql10.mssqlserver\mssql\data\db2.mdf',
size=100MB
maxsize=200
filegrowth=20)
go--创建数据库时指定事务日志文件create database db
on
primary(name=db1,
filename='C:\program files\mircosoft SQL server\mssql10.mssqlserver\mssql\data\db1.mdf',
size=100MB
maxsize=200
filegrowth=20),
log on(
name=dblog,
filename='C:\program files\mircosoft SQL server\mssql10.mssqlserver\mssql\data\db_log.ldf',
size=10MB
maxsize=20
filegrowth=2)
go
用xp_cmdshell建一个就可以了,就算文件夹已经存在,也不会返回错误的信息中断下面的创建数据库语句
exec xp_cmdshell 'md c:\mysqldata',no_output
go
create database mynewdb
on primary
(NAME=mynewdb,filename='c:\mysqldata\mynewdb.mdf',size=10mb,maxsize=2GB,filegrowth=20)
log on
(name=mynewdblog,filename='c:\mysqldata\mynewdblog.ldf',size=5mb,maxsize=1gb,filegrowth=10%)