当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Server数据库技术(30)

MSSQL
SQL Server 中死锁产生的原因及解决办法
教你在SQL Server 2000数据库中使用分区
数据仓库基本报表制作过程中的SQL写法
自动定时重启sql server回收内存
轻松解决SQL Server 2005中的常见问题
用一个案例讲解SQL Server数据库恢复
安装SQL Server 2005时出现计数器错误
讲解SQL Server 2005数据库的同义词Bug
利用SQL语句对不同数据库进行高效果分页
三种数据库利用SQL语句进行高效果分页
数据库连接字符串的常见问题和解决方法
教你快速掌握一些方便易用的SQL语句
深入分析SQL Server的数据转换服务
系统默认的MySQL用户名消失的解决方法
SQL 2008邮件故障排除:发送测试电子邮件
SQL Server 2005日志文件损坏的处理方法
在SQL Server 2005数据库中进行错误捕捉
SQL Server查询速度慢原因及优化方法
加密SQL Anywhere 提升政府行业数据安全
Windows Server 2008之数据安全保护

MSSQL 中的 SQL Server数据库技术(30)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 111 ::
收藏到网摘: n/a

1、文件与文件组
在SQL Server 中数据库是由数据库文件和事务日志文件组成的。一个数据库至少应包含一个数据库文件和一个事物日志文件。
(1) 数据库文件(Database File)
数据库文件是存放数据库数据和数据库对象的文件。一个数据库可以有一个或多个数据库文件,一个数据库文件只属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(Primary Database File), 扩展名为mdf, 它用来存储数据库的启动信息和部分或全部数据,一个数据库只能有一个主数据库文件。其它数据库文件被称为次数据库文件(Secondary Database File), 扩展名为ndf, 用来存储主文件没存储的其它数据。

采用多个数据库文件来存储数据的优点体现在:
 ·数据库文件可以不断扩充,而不受操作系统文件大小的限制;
 ·可以将数据库文件存储在不同的硬盘中,这样可以同时对几个硬盘做数据存取,提高了数据处理的效率。对于服务器型的计算机尤为有用。

(2) 事务日志文件(Transaction Log File)
事务日志文件是用来记录数据库更新情况的文件,扩展名为ldf。例如使用INSERT、UPDATE、 DELETE、 等对数据库进行更的操作都会记录在此文件中,而如SELECT 等对数据库内容不会有影响的操作则不会记录在案。一个数据库可以有一个或多个事务日志文件。

SQL Server 中采用“Write-Ahead (提前写)”方式的事务,即对数据库的修改先写入事务日志中,再写入数据库。其具体操作是,系统先将更改操作写入事务日志中,再更改存储在计算机缓存中的数据,为了提高执行效率,此更改不会立即写到硬盘中的数据库,而是由系统以固定4 的时间间隔执行CHECKPOINT 命令,将更改过的数据批量写入硬盘。SQL Server 有个特点,它在执行数据更改时会设置一个开始点和一个结束点,如果尚未到达结束点就因某种原因使操作中断,则在SQL Server 重新启动时会自动恢复已修改的数据,使其返回未被修改的状态。 由此可见,当数据库破坏时,可以用事务日志恢复数据库内容。

(3) 文件组(File Group)
文件组是将多个数据库文件集合起来形成的一个整体。每个文件组有一个组名。与数据库文件一样,文件组也分为主文件组(Primary File Group) 和次文件组(Secondary FileGroup) 一个文件只能存在于一个文件组中,一个文件组也只能被一个数据库使用。主文件组中包含了所有的系统表。当建立数据库时,主文件组包括主数据库文件和未指定组的其它文件。在次文件组中可以指定一个缺省文件组,那么在创建数据库对象时如果没有指定将其放在哪一个文件组中,就会将它放在缺省文件组中。如果没有指定缺省文件组则主文件组,为缺省文件组。
注意:事务日志文件不属于任何文件组。

6.1.2 用Enterprise Manager 创建数据库
在Enterprise Manager 中可以按下列步骤来创建数据库:
(1) 单击工具栏中的图标,或在服务器的Databases 文件夹或其下属数据库图标上单击右键,选择New Database…选项,即会出现如图6-1 所示的对话框。
(2) 指定数据库的名称和编码方式,如图6-1 所示。

图6-1 创建数据库对话框
(3) 点击Transaction Log 页框,指定数据库文件的名称、存储位置、初始容量大小和所属文件组,如图6-2 所示。
(4) 进行数据库文件大小扩充方式和容量限制设置,如图6-2 所示。
(5) 点击Transaction Log 页框,指定事务日志文件的名称、存储位置和初始容量大小,如图6-3 所示。
(6) 进行事务日志文件大小扩充方式和容量限制设置,如图6-3 所示。

(7) 单击“确定”按钮,则建新数据库。
注意:数据库的名称最长为128个字符,且不区分大小写。
注意:在此指定的文件容量以MB为单们的,数据库文件的最小容量为1MB,最大容量为1,048,516TB(这么大的硬盘还没出世!);事务日志文件的最小容量为1MB。
一个服务器在理论上可以管理32,767数据库。

6.1.3 用CREATE DATABASE 命令创建数据库

各参数说明如下: