[color=blue]一、系统数据库[/color]

1、master
master数据库由一些系统表组成。

2、Model
Model数据库只是一个模板数据库。

3、tempdb
tempdb被用来作为一个工作区。它的独特之处在于每次Sql Server重新启动时都会重建而不是恢复它。

4、mssqlsystemresource
mssqlsystemresource是一个隐藏的数据库。可执行的系统对象,例如系统存储过程和函数都存储在这里。微软创建它是为了允许非常快速和安全地更新。

5、msdb
SQL Server代理服务会使用msdb数据库,它会执行一些例如备份和复制任务的计划好的活动。


[color=blue]二、数据库文件[/color]
Sql Server 2005允许以下三种类型的数据库文件:
1、主数据文件。每一个数据库都有一个主数据文件除了用来存储数据,还能跟踪该数据库中的所有其它文件。(后缀名:.mdf)
2、辅助数据文件。一个数据库可以有0个到多个辅助数据文件 (后缀名:.ndf)
3、日志文件。每个数据库都至少有一个日志文件包含恢复数据库中所有事务所需的信息(后缀名:.ldf)

[color=blue]

三、一个创建数据库的实例[/color]
create database Archive
on
primary
( name=Arch1,
filename='c:\program files\microsoft sql server\mssql.1\mssql\data\archdat1.mdf,
size=100mb,
maxsize=200,
filegrowth=20),
( name=Arch2,
filename='c:\program files\microsoft sql server\mssql.1\mssql\data\archdat2.ndf,
size=100mb,
maxsize=200,
filegrowth=20),
log on
( name=Archlog1,
filename='c:\program files\microsoft sql server\mssql.1\mssql\data\archlog1.ldf,
size=100mb,
maxsize=200,
filegrowth=20);


[color=blue]

四、使用数据库文件组[/color]
可以出于分配和管理的目的将数据库文件分为多个组。
注意不要混淆主文件组合主文件:
1、主文件总是在创建数据库时第一个列出的文件,并且它的文件扩展名一般为.mdf.
2、主文件组是包含主文件的文件组。

默认文件组:
一个文件组总是会有一个default属性.注意default是文件组的一个属性而不是名字。在每个数据库中只有一个文件组时默认文件组。默认情况下,主文件组同时也是默认文件组。

一个创建文件组的例子:

create database Sales 

on primary 

( name=spri1_dat, 

filename='c:\program files\microsoft sql server\mssql.1\mssql\data\spri1dat.mdf', 

size=10, 

maxsize=50, 

filegrowth=15%), 

( name=spri2_dat, 

filename='c:\program files\microsoft sql server\mssql.1\mssql\data\spri2dat.ndf', 

size=10, 

maxsize=50, 

filegrowth=15%), 

filegroup salesgroup1 

( name=sgrp1fi1_dat, 

filename='c:\program files\microsoft sql server\mssql.1\mssql\data\SG1Fi1dt.ndf', 

size=10, 

maxsize=50, 

filegrowth=15% 

), 

( name=sgrp1fi2_dat, 

filename='c:\program files\microsoft sql server\mssql.1\mssql\data\SG1Fi2dt.ndf', 

size=10, 

maxsize=50, 

filegrowth=15% 

), 

log on 

( 

name='sales_log' 

filename='c:\program files\microsoft sql server\mssql.1\mssql\data\saleslog.ldf', 

size=5MB, 

maxsize=25MB, 

filegrowth=5MB); 

); 


[color=blue]五、更改数据库[/color]


1、更改数据库的名称
2、向数据库中增加一到多个数据文件
3、向数据库中增加一道多个新的日志文件
4、向数据库中增加一个新的文件组
5、修改一个已存在的文件:
1)、增加文件大小(size)属性的值
2)、更改最大大小(maxsize)或文件增长(filegrowth)属性的值
3)、通过指定新名称(newname)属性的值来修改一个文件的逻辑名称
4)、更改文件的文件名称(filename)属性,这将能够有效地将文件移动到新的位置。
5)、将文件置于离线(offline)状态
6)、修改一个已存在的文件组
7)、更改一个或更多的数据库选项。

[color=blue]

六、设置数据库选项[/color]

状态选项

single_user | restricted_user | mutli_user 

 offline | online | emergency 

 read_only | read_write 

游标选项 

 cursor_close_on_commit(on|off) 

 cursor_default(local|global) 

自动选项 

 auto_close(on|off) 

 auto_create_statistics(on|off) 

 auto_shrink(on|off) 

 auto_update_statistics(on|off) 

 auto_update_statistics_async(on|off) 

Sql选项 

 ansi_null_default (on|off) 

 ansi_nulls (on|off) 

 ansi_padding (on|off) 

 ansi_warnings (on|off) 

 arithaboft (on|off) 

 concat_null_yields_null (on|off) 

 numeric_roundabort (on|off) 

 quoted_identifier (on|off) 

 recursive_triggers (on|off) 

数据库恢复选项 

 recovery {full | bulk_logged | simple} 

 torn_page_detection (on|off) 

 page_verify{checksum | torn_page_detection | none} 

外部访问选项 

  db_chaining (on|off) 

 trustworthy (on|off) 

数据库镜像选项 

  partner {='partner_server 

 |failover 

 |force_service_allow_data_loss 

 |off 

 |resume 

 |safety{full|off} 

 |suspend 

 |timeout integer 

 } 

 witness {='witness_server'|off} 

Service Broker选项 

 enable_broker | disable_broker 

 new_broker 

 error_broker_conversations 

快照隔离选项 

  allow_snapsshot_isolation {on|off} 

 read_committed_snapshot {on|off} [with <termination>]