mssql server CREATE DATABASE创建数据库代码

filegroup ::= {filegroup filegroup_name [ contains filestream ] [
default ] filespec [ ,…n ]}

五,用T-SQL删除数据库文件
drop database dbname

 

语法create database database_name [ on { [ primary ] [ filespec [
,…n ] [ , filegroup [ ,…n ] ] [ log on { filespec [ ,…n ]
} ] } ] [ collate collation_name ] [ with external_access_option
]][;]

四,用T-SQL修改数据库的结构 在现有数据库基础上添加新数据库文件
alter database dbname
add file
(
  name=”,file=”,size=,….
)
go

创建一个名为TEST2的数据库,它有2个数据文件,其中主数据文件为100MB,最大大小为200MB,按20MB增长;1个辅助数据文件为20MB,最大大小不限,按10%增长;有2个日志文件,大小均为50MB,最大大小均为100MB,按10MB增长。

to attach a databasecreate database database_name on filespec [ ,…n
] for { attach [ with service_broker_option ] |
attach_rebuild_log }[;]

在现有数据库基础上添加新日志文件
alter database dbname
add log file
(
 name=” , file=” , size=,….
)

create database db_test2
on
(
    name=’test_data1′,
    filename=’D:Program Files (x86)Microsoft
Officedb_test2.mdf’,
    size=5MB,
    maxsize=50MB,
    filegrowth=10%
),
(
    name=’test_data2′,
    filename=’D:Program Files (x86)Microsoft
Officedb_test2.mdf’,
    size=5mb,
    maxsize=unlimited,
    filegrowth=10%
)
log on
(
    name=’test_log1′,
    filename=’D:Program Files (x86)Microsoft
Officetest_log1.ldf’,
    size=2mb,
    maxsize=5MB,
    filegrowth=1MB
),
(
    name=’test_llog2′,
    filename=’D:Program Files (x86)Microsoft
Officetest_log2.ldf’,
    size=50mb,
    maxsize=100mb,
    filegrowth=10mb
)
go

mssql server create database创建数据库教程代码/*if db_id(‘test’) is
not null drop database testgocreate database teston primary
(name=test_dat_main1,filename=’d:databasetest_dat_main1.mdf’,size=3mb,maxsize=unlimited,filegrowth=5mb),(name=test_dat_main2,filename=’d:databasetest_dat_main2.mdf’,size=3mb,maxsize=unlimited,filegrowth=5mb),filegroup
test_dat_sub1 default
(name=test_dat_sub1,filename=’d:databasetest_dat_sub1.mdf’,size=2mb,maxsize=unlimited,filegrowth=5mb),(name=test_dat_sub2,filename=’d:databasetest_dat_sub2.mdf’,size=2mb,maxsize=unlimited,filegrowth=5mb),filegroup
test_dat_sub2
(name=test_dat_sub3,filename=’d:databasetest_dat_sub3.mdf’,size=2mb,maxsize=unlimited,filegrowth=5mb)log
on
(name=test_log1,filename=’d:databasetest_log1.ldf’,size=10mb,maxsize=unlimited,filegrowth=10mb),(name=test_log2,filename=’d:databasetest_log2.ldf’,size=10mb,maxsize=unlimited,filegrowth=10mb)collate
chinese_prc_ci_aswithdb_chaining off,trustworthy off

在现有数据库基础上移除文件
alter database dbname
remove file 文件逻辑名  –注意逻辑名不需要’ ‘包起来

filespec ::= {( name = logical_file_name , filename = {
‘os_file_name’ | ‘filestream_path’ } [ , size = size [ kb | mb | gb
| tb ] ] [ , maxsize = { max_size [ kb | mb | gb | tb ] |
unlimited } ] [ , filegrowth = growth_increment [ kb | mb | gb | tb
| % ] ]) [ ,…n ]}

一,用T-SQL创建数据库
简单的:
数据名:Sales
数据库主文件路径全名:d:dbfilessales_dat.mdf
日志文件路径全名:d:dbfilessales_log.ldf
注意,目录一定要存在,否则会创建失败。
create database Sales
on primary
(
 name=’salesdb’,  –文件逻辑名
 filename=’d:dbfilessales_dat.mdf’, –文件磁盘文件路径全称
 size=5, –初始化大小
 maxsize=15, –最大值
 filegrowth=1 –增量
)
log on
(
  name=’saleslog’,
  file=’d:dbfilessales_log.ldf’,
  size=5,
  maxsize=15,
  filegrowth=1
)
go

external_access_option ::={ [ db_chaining { on | off } ] [ ,
trustworthy { on | off } ]}service_broker_option ::={ enable_broker
| new_broker | error_broker_conversations}

遗留问题:如何在移除文件之前,把数据移动到别的文件上去?

create a database snaps教程hotcreate database database_snapshot_name
on ( name = logical_file_name, filename = ‘os_file_name’ ) [ ,…n
] as snapshot of source_database_name[;]

遗留问题:如果在使用当中,是不允许删除的。如果用T-SQL强制删除?

二,用T-SQL修改数据库名
exec sp_renamedb ‘DBName’,’NewDBName’
注意,必须在单用户模式下才可以改名,所以完整的写法:
exec sp_dboption ‘DBName’,’single user’,true
exec sp_renamedb ‘DBName’,’NewDBName’
exec sp_dboption ‘NewDBName’,’single user’,false
上面的是书上的资料上说的。不过在SQL SERVER2005 Express下测试:
exec sp_dboption ‘dbname’,’single user’,false –转为非单用户模式
exec sp_renamedb ‘dbname’,’NewDBName’ –一样执行成功,说明上面所说的
对SQL SERVER2005 Express不适合。
那么SQL SERVER2000呢?暂没有测试环境。不得而知。

附加说明:
以上T-SQL在SQL SERVER 2005 EXPRESS测试通过。

六,用T-SQL判断数据库是否存在 可以用DB_ID ( [ ‘database_name’ ]
)函数判断,函数的用作:返回当前数据库的数据库 ID,不存在返回NULL
if db_www.9778.com,id(‘databasename’) is null
   print ‘不存在’
else
   print ‘存在’

复杂的:有多个次数据库文件和次日志文件的情况.
create database Sales
on primary
(
  name=’sales1′,
  filename=’d:dbfilessales1_dat.mdf’,
  size=5,
  maxsize=10,
  filegrowth=1
),
(
  name=’sales2′,
  filename=’d:dbfilessales2_dat.ndf’,
  size=5,
  maxsize=10,
  filegrowth=1
)
,
(
  name=’sales3′,
  filename=’d:dbfilessales3_dat.ndf’,
  size=5,
  maxsize=10,
  filegrowth=1
)
log on
(
  name=’saleslog1′,
  file=’d:dbfilessales1_log.ldf’,
  size=5,
  maxsize=15,
  filegrowth=1
)
,
(
  name=’saleslog2′,
  file=’d:dbfilessales2_log.ldf’,
  size=5,
  maxsize=15,
  filegrowth=1
)

三,用T-SQL修改数据库文件路径,大小等信息
alter database
modify file(name=’逻辑文件名(必须)’,filename=’文件路径’,size=数字)
filename,size,maxsize,filegrowth,可以全部一起修改,也可以只修改其中一部分。
注意情况:
1,在SQLSERVER2005
Express下修改了filename,文件不会自动移动,需要手移动才正常。
2,size修改的值必须大于文件当前的大小。
3,如果要缩小数据库文件的大小,需使用下面的T-SQL:
 use dbname
 dbcc shrinkfile(‘逻辑文件名’,大小)