278.sqlserver2008数据库操作

  • 时间:
  • 浏览:1
  • 来源:极速快3_快3IOS下载_极速快3IOS下载

1.1基本模式

1.1.1 逻辑数据库

  用户无缘无故 后会 在T-SQL中引用SQL Server对象并对其进行操作,如对数据库表进行查询和数据更新等,在其所使用的T-SQL话语中后会 给出对象的名称。用户后会 给出四种 生活对象名,即完整篇 限定名和每段限定名。



(1)完整篇 限定名。在SQL Server 60 8中,完整篇 限定名是对象的全名,

包括有一一好几条 每段:服务器名数据库名数据库架构名对象名

其格式为          server.database.scheme.object

在SQL Server 60 8上创建的每一有一一好几条 对象都后会 有一有一一好几条 唯一的完整篇 限定名。

(2)每段限定名。在使用T-SQL编程时,常省略全名中的但会 每段,对象全名的有一一好几条 每段中的前八个每段均后会 省略,当省略里面的每段时,圆点符“.”不可省略。把只蕴含对象完整篇 限定名中的一每段的对象名称为每段限定名。SQL Server后会 根据系统的当前工作环境选着 对象名称中省略的每段。

在每段限定名中,未指出的每段使用以下默认值。

服务器:默认为本地服务器。

数据库:默认为当前数据库。

数据库架构名:默认为dbo。

例如于,以下是但会



正确的对象每段限定名:
server.database..object          /*省略架构名*/
server.. scheme.object            /*省略数据库名*/
database. scheme.object          /*省略服务器名*/
server…object                    /*省略架构名和数据库名*/
scheme.object                     /*省略服务器名和数据库名*/
object                           /*省略服务器名、数据库名和架构名*/

  下面大致介绍一下SQL Server 60 8中所蕴含的常用数据库对象。

1 表:表是SQL Server中最主要的数据库对象,它是用来存储和操作数据的四种 生活逻辑行态。表由行和列组成,如果也称为二维表。表是在日常工作和阳活中无缘无故 使用的四种 生活表示数据及其关系的形式。



2 视图:视图是从一有一一好几条 或多个基本表中引出的表。数据库中只存放视图的定义而不存放视图对应的数据,哪几种数据仍存装进导出视图的基本表中。

机会视图四种 生活并不存储实际数据,如果也后会 称之为虚表。视图中的数据来自定义视图的查询所引用的基本表,并在引用时动态生成数据。当基本表中的数据趋于稳定变化时,从视图中查询出来的数据也随之改变。视图一经定义,就后会 像基本表一样被查询、修改、删除和更新了。

3 索引:索引是四种 生活不要再扫描整个数据表就后会 对表中的数据实现快速访问的途径,它是对数据表中的一列机会多列数据进行排序的四种 生活行态。

表中的记录通常按其输入的时间顺序存放,你這個 顺序称为记录的物理顺序。为了实现对表记录的快速查询,后会 对表的记录按某个或但会 属性进行排序,你這個 顺序称为逻辑顺序

索引是根据索引表达式的值进行逻辑排序的一组指针,它后会 实现对数据的快速访问,索引是关系数据库的内部内部结构实现技术,它被存装进存储文件中。

4 约束:约束机制保障了SQL Server 60 8中数据的一致性与完整篇 性,具有代表性的约束如果主键和外键。主键约束当前表记录的唯一性,外键约束当前表记录与但会 表的关系。



5 存储过程:存储过程是一组为了完成特定功能的SQL话语集合(功能函数)。你這個 话语集合经过编译后存储在数据库中,存储过程具有接受参数、输出参数、返回单个或多个结果以及返回值的功能。存储过程独立于表趋于稳定(表不趋于稳定,存储过程趋于稳定,如果会出错)。存储过程有与函数例如于的地方,但它又不同于函数,例如于,它不返回取代其名称的值,如果能直接在表达式中使用。

① 触发器:触发器与表紧密关联。它后会 实现更加复杂性的数据操作,更加有效地保障数据库系统中数据的完整篇 性和一致性。触发器基于一有一一好几条 表创建,但后会 对多个表进行操作。(学生学号改,住宿表,学费表都改的实现)



②默认值:默认值是在用户越来越 给出具体数据时,系统所自动生成的数值。它是SQL Server 60 8系统确保数据一致性和完整篇 性的措施 。

③ 用户和角色:用户是指对数据库有存取权限的使用者;角色是指一组数据库用户的集合。这有一一好几条 概念例如于于Windows XP的本地用户和组的概念。



④ 规则:规则用来限制表字段的数据范围。



⑤ 类型:用户后会 根据后会 在给定的系统类型之上定义但会 人的数据类型。



⑥ 函数:用户后会 根据后会 在SQL Server 60 8上定义但会 人的函数。

1.1.2  物理数据库

1.页和区

SQL Server 60 8蕴含一一好几条 主要的数据存储单位:页和区。

页是用于数据存储的最基本单位。每个页的大小是8 KB。每页的开头是96 B的标头,用于存储有关页的系统信息。紧接着标头存放的是数据行,数据行按顺序排列。数据库表中的每一行数据后会 能跨页存储,即表中的每一行数据字节数只能超过8192。页的末尾是行偏移表,页中的每一行在偏移表中后会 一有一一好几条 对应的条目。每个条目记录着对应行的第一有一一好几条 字节与页首部的距离。

区是用于管理空间的基本单位。每8个连接的页组成一有一一好几条 区,大小为64 KB,即每1 MB的数据库后会 16个区。区用于控制表和索引的存储。

2.数据库文件

SQL Server 60 8所使用的文件包括以下三类文件。

(1)主数据文件。主数据文件简称主文件,正如其名字所示,该文件是数据库的关键文件,蕴含了数据库的启动信息,如果存储数据。每个数据库后会 有且仅能有一有一一好几条 主文件,其默认扩展名为.mdf可直接拷贝

(2)辅助数据文件。辅助数据文件简称辅(助)文件,用于存储未包括在主文件内的但会 数据。辅助文件的默认扩展名为.ndf。辅助文件是可选的,根据情况汇报汇报,后会 创建多个辅助文件,也后会 不使用辅助文件。一般当数据库很大时,有机会后会 创建多个辅助文件。而当数据库较小时,则只后会 创建主文件而只能创建辅助文件。

(3)日志文件。日志文件用于保存恢复数据库所需的事务日志信息。每个数据库相当于 有一有一一好几条 日志文件,也后会 有多个,日志文件的扩展名为.ldf。日志文件的存储与数据文件不同,它蕴含一系列记录,哪几种记录的存储不以页为存储单位。

3.文件组

使用文件组后会 提高表中数据的查询性能。在SQL Server 60 8蕴含两类文件组。

(1)主文件组。主文件组蕴含主要数据文件和任何越来越 明确指派给但会 文件组的但会 文件。管理数据库的系统表的所有页均分配在主文件组中。

(2)用户定义文件组。用户定义文件组是趋于稳定CREATE DATABASE或ALTER DATABASE话语中使用FILEGROUP关键字指定的文件组。

每个数据库中后会 一有一一好几条 文件组作为默认文件组运行。若在SQL Server 60 8中创建表或索引时越来越 为其指定文件组,越来越 将从默认文件组中进行存储页分配、查询等操作。用户后会 指定默认文件组,机会越来越 指定默认文件组,则主文件组是默认文件组。

2.1  系统数据库和用户数据库

  系统数据库存储有关SQL Server的系统信息,它们是SQL Server 60 8管理数据库的措施 。机会系统数据库遭到破坏,越来越 SQL Server将只能正常启动。在安装SQL Server 60 8时,系统将创建有一一好几条 可见的系统数据库:master、model、msdbtempdb

(1)master数据库蕴含了SQL Server 60 8的登录账号、系统配置、数据库位置及数据库错误信息等,控制用户数据库和SQL Server的运行。

(2)model数据库为新创建的数据库提供模板。

(3)msdb数据库为“SQL Server代理”调度信息和作业记录提供存储空间。

(4)tempdb数据库为临时表和临时存储过程提供存储空间,所有与系统连接的用户的临时表和临时存储过程都存储于该数据库中。

每个系统数据库都蕴含主数据文件和主日志文件。扩展名分别为.mdf 和.ldf,例如于master数据库的有一一好几条 文件分别为master.mdf和master.ldf。

2.2  界面措施 数据库操作

2.2.1 数据库的创建

下面以创建学生成绩管理系统的数据库(名为PXSCJ)为例,说明使用SQL Server Management Studio窗口图形化向导创建数据库的过程。



【例2.1】 创建数据库PXSCJ,数据文件和日志文件的属性按默认值设置。

创建该数据库的主要过程如下。

第1步:以系统管理员身份登录计算机,在桌面上单击“前一天结束了了英语 英语 →所有多线程 →Microsoft SQL Server 60 8”,选着 并启动SQL Server Management Studio。如图2.1所示,使用默认的系统配置连接到数据库服务器。

 

第2步:选着 “对象资源管理器”中服务器目录下的“数据库”目录,右击鼠标,在弹出的快捷菜单中选着 “新建数据库”菜单项,打开“新建数据库”窗口。



第3步:“新建数据库”窗口的左里面共有一一好几条 选项卡——“常规”、“选项”和“文件组”,这里只配置“常规”选项卡,但会 选项卡使用系统默认设置。

在“新建数据库”窗口的左里面选着 “常规”选项卡,在“数据库名称”文本框中填写要创建的数据库名称“PXSCJ”,也后会 在“所有者”文本框中指定数据库的所有者,如sa。这里使用默认值,但会 属性也按默认值设置,如图2.2所示。

 

图2.2 新建数据库属性

另外,后会 通过单击自动增长标签栏下面的 ... 按钮,弹出图2.3所示的对话框,在该对话框中后会 设置数据库与否自动增长、增长措施 、数据库文件最大文件大小。数据日志文件的自动增长设置对话框与数据文件的例如于。

 

图2.3 自动增长设置

配置路径的措施 与配置自动增长措施 例如于,后会 通过单击路径标签栏下面的 按钮来自定义路径,默认路径为C:\Program Files\Microsoft SQL Server\MSSQL10.SQL60 8 \MSSQL\DATA。这里,数据库文件大小、增长措施 和路径都使用默认值,确认后单击“选着 ”按钮。

至此数据库PXSCJ机会创建完成了,此时,后会 在对象资源管理器的“数据库”目录下找到该数据库所对应的图标,如图2.4所示。

 

图2.4 创建后的PXSCJ数据库

2.2.2数据库的修改

在数据库成功创建后,数据文件名和日志文件名就只能改变了。对已趋于稳定的数据库后会 进行的修改包括以下几项。

  • 增加或删除数据文件。
  • 改变数据文件的大小和增长措施 。
  • 改变日志文件的大小和增长措施 。
  • 增加或删除日志文件。
  • 增加或删除文件组。
  • 重命名数据库。

下面以对数据库PXSCJ的修改为例,说明在SQL Server Management Studio中对数据库的定义进行修改的操作措施 。

在进行任何界面操作前一天,后会 启动SQL Server Management Studio,里面启动SQL Server Management Studio的步骤将被省略,只介绍其主要的操作步骤。

第1步:选着 后会 进行修改的数据库PXSCJ,右击鼠标,在老出的快捷菜单中选着 “属性”菜单项,如图2.5所示。

 

第2步:选着 “属性”菜单项后,老出如图2.6所示的“数据库属性-PXSCJ”窗口。从图中的选项卡列表中后会 看出,它包括9个选项卡。

 

下面完整篇 介绍一下对机会趋于稳定的数据库后会 进行的修改操作。

(1)改变数据文件的大小和增长措施 。在图2.6所示的“数据库属性-PXSCJ”窗口中的选项卡列表中选着 “文件”,在右边的“初始大小”列中输入要修改的数据库的初始大小,如图2.7所示。

 

(2)增加或删除数据文件。当原有数据库的存储空间缺乏大时,除了后会 采用扩大原有数据文件存储量的措施 之外,还后会 增加新的数据文件。机会,从系统管理的需求出发,采用多个数据文件来存储数据,以外理数据文件过大。此时,会用到向数据库中增加数据文件的操作。

【例2.2】 在PXSCJ数据库中增加数据文件PXSCJ_2,其属性均取系统默认值。

操作措施 如下:

打开“数据库属性-PXSCJ”窗口,在选项卡列表中选着 “文件”,单击窗口右下角的“换成”按钮,数据库文件下方会新增加一行文件项,如图2.8所示。

 

删除辅助数据文件的操作措施 如下。

打开“数据库属性”窗口,选着 “文件”选项卡。选中需删除的辅助数据文件PXSCJ_2,单击对话框右下角的“删除”按钮,如果单击“选着 ”按钮即完成删除。

(3)增加或删除文件组。数据库管理员(DBA)从系统管理策略深度出发,有时机会后会 增加或删除文件组。这里通过示例说明操作措施 。

【例2.3】 假设要在数据库PXSCJ中增加一有一一好几条 名为FGroup的文件组。

操作措施 如下。

打开“数据库属性”窗口,选着 “文件组”选项卡。单击右下角的“换成”按钮,这时在PRIMARY行的下面会老出新的一行。在该行的“名称”列输入“FGroup”,单击“选着 ”按钮,如图2.9所示。

 

例如于,在PXSCJ数据库新增的文件组FGroup中增加数据文件PXSCJ2。操作措施 如下。

选着 “文件”选项卡,按增加数据文件的操作措施 换成数据文件。在“文件组”下拉框中选着 “FGroup”,如图2.10所示,单击“选着 ”按钮。

 

删除文件组的操作措施 如下。

选着 “文件组”选项卡。选中需删除的文件组,单击对话框右下角的“删除”按钮,再单击“选着 ”按钮即可删除。

(4)数据库的重命名。使用图形界面修改数据库名称的措施 是:启动“SQL Server Management Studio”,在“对象资源管理器”窗口中,展开“数据库”,选着 要重命名的数据库,右击鼠标,在弹出的快捷菜单中选着 “重命名”菜单项,输入新的数据库名称,即可更改数据库的名称。在一般情况汇报下,不建议用户更改机会创建好的数据库名称,机会但会 应用多线程 机会机会使用了该名称,在更改了数据库名称前一天,还后会 修改相应的应用多线程 。

2.2.3删除数据库

通常的做法是,把但会 只能的数据库删除,以释放被其占用的系统空间和消耗。用户后会 利用图形向导措施 轻松地完成数据库系统的删除工作。

【例2.4】 删除PXSCJ数据库。

启动SQL Server Management Studio,在对象资源管理器中选着 要删除的数据库“PXSCJ”,右击鼠标,在弹出的快捷菜单中选着 “删除”菜单项,打开如图2.11所示的“删除对象”对话框,单击右下角的“选着 ”按钮,即可删除数据库PXSCJ。

 

2.3命令措施 创建数据库

2.3.1 创建数据库



命令措施 创建数据库使用CREATE DATABASE命令,创建后会 确保用户具有创建数据库的权限。

语法格式。

说明:

在对语法格式进行解释前一天,先介绍本书的Transact-SQL语法格式中使用的约定。表2.1列出了哪几种约定,并进行了说明。哪几种约定在本书介绍T-SQL语法格式时都适用。

表2.1 本书Transact-SQL语法的约定和说明

CREATE DATABASE database_name 
    [ ON 
            [ PRIMARY ] [ <filespec> [ ,...n ] 
            [ , <filegroup> [ ,...n ] ] 
        [ LOG ON { <filespec> [ ,...n ] } ] 
    ] 
    [ COLLATE collation_name ]
    [ WITH <external_access_option> ]
  [FOR { ATTACH | ATTACH_REBUILD_LOG }]
]    
[;]
其中,
<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 ]
}
<filegroup> ::= 
{
    FILEGROUP filegroup_name [ CONTAINS FILESTREAM ] [ DEFAULT ]
        <filespec> [ ,...n ]
}
<external_access_option> ::=
{
      [ DB_CHAINING { ON | OFF } ]
      [ , TRUSTWORTHY { ON | OFF } ]
}

下面对CREATE DABASE命令的语法格式进行说明。

(1)database_name:所创建的数据库逻辑名称,该名称在SQL Server实例中后会 唯一。其命名须遵循SQL Server 60 8的命名规则,最大长度为128个字符。

(2)ON子句:指定了数据库的数据文件和文件组,其中,PRIMARY用来指定主文件。若不指定主文件,则各数据文件中的第一有一一好几条 文件将成为主文件。

(3)<filespec>:指定数据库文件的属性,主要给出文件的逻辑名、存储路径、大小及增长行态。哪几种行态后会 与以界面措施 创建数据库时对数据库行态的设置相联系。

① logical_file_name:逻辑文件名,是数据库创建后在所有T-SQL话语中引用文件时所使用的名字。

② os_file_name:操作系统文件名,是操作系统在创建物理文件时使用的路径和文件名。对于FILESTREAM文件组,FILENAME选项指向将存储FILESTREAM数据的路径“filestream_path”。在最后一有一一好几条 文件夹前一天的路径后会 趋于稳定,但只能趋于稳定最后一有一一好几条 文件夹。例如于,机会指定路径C:\Filestream\Data,则C:\Filestream后会 趋于稳定不要再 运行CREATE DATABASE话语,但 Data文件夹只能趋于稳定。有关FILESTREAM的内容将在第3章中介绍。

③ size:是数据文件的初始容量大小。对于主文件,若不指出大小,则默认为model数据库主文件的大小。对于辅助数据文件,自动设置为3 MB。UNLIMITED关键字表示指定文件将增长到磁盘满。

④ max_size:指定文件的最大大小。UNLIMITED关键字表示文件大小不受限制,但实际上受磁盘可用空间限制。机会不指定MAXSIZE选项,则文件将增长到磁盘空间满。

⑤ growth_increament:指出文件每次的增量,有百分比和空间值四种 生活格式,前者如10%,即每次在从前空间大小的基础上增长10%;后者如5 MB,即每次增长5 MB,而不管从前空间大小是哪几条。但要注意,FILEGROWTH的值只能超过MAXSIZE的值。

(4)<filegroup>:定义文件组的属性。filegroup_name为定义的文件组的名称,CONTAINS FILESTREAM选项指定文件组在文件系统中存储FILESTREAM二进制大型对象(BLOB)。DEFAULT关键字指定命名文件组为数据库中的默认文件组。<filespec>用于指定属于该文件组的文件。文件组中各文件的描述和数据文件描述相同。

(5)LOG ON子句:用于指定数据库事务日志文件的属性,其定义格式与数据文件的格式相同。机会越来越 指定该子句,则将自动创建一有一一好几条 日志文件。

(6)COLLATE collation_name:指定数据库的默认排序规则。排序规则名称既后会 是 Windows 排序规则名称,也后会 是 SQL 排序规则名称。机会越来越 指定排序规则,则将SQL Server实例的默认排序规则分配为数据库的排序规则。

(7)WITH子句:用于控制内部内部结构与数据库之间的双向访问。

① DB_CHAINING { ON | OFF }

当指定为ON时,数据库后会 为跨数据库所有权链的源或目标。当为OFF时,数据库只能参与跨数据库所有权链接。默认值为OFF。

② TRUSTWORTHY { ON | OFF }

当指定为ON时,使用模拟上下文的数据库模块(如视图、用户定义函数或存储过程)后会 访问数据库以外的资源。当为OFF时,模拟上下文中的数据库模块只能访问数据库以外的资源。默认值为OFF。

(8)FOR子句:

① FOR ATTACH子句:指定通过附加一组现有的操作系统文件来创建数据库,使用FOR ATTACH子句时后会 指定数据库的主文件。机会有多个数据和日志文件,则后会 确保所有的.mdf文件和.ndf文件可用,如果操作将失败。

② FOR ATTACH_REBUILD_LOG子句:指定通过附加一组现有的操作系统文件来创建数据库,使用你這個 选项将不再后会 所有日志文件。

由语法格式可知,最简单的一句创建数据库的话语为

CREATE DATABASE database_name

【例2.5】 创建一有一一好几条 名为TEST1的数据库,其初始大小为5 MB,最大大小为60 MB,允许数据库自动增长,增长措施 是按10%比例增长。日志文件初始为2 MB,最大可增长到5 MB,按1 MB增长。数据文件和日志文件的存放位置为SQL Server的数据库目录“C:\Program Files\Microsoft SQL Server\MSSQL10.SQL60 8\ MSSQL\DATA”。假设SQL Server服务已启动,并以系统管理员身份登录计算机。

在“SQL Server Management Studio”窗口中单击“新建查询”按钮新建一有一一好几条 查询窗口,如图2.12所示。

 

在“查询分析器”窗口中输入如下T-SQL话语:
CREATE DATABASE TEST1
    ON
    (
        NAME= 'TEST1_DATA',
        FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10.SQL60

8\MSSQL\DATA\TEST1.mdf',
        SIZE=5 MB,
        MAXSIZE=60

 MB,
        FILEGROWTH=10%        
    ) 
    LOG ON
    (
        NAME='TEST1_log',
        FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10.SQL60

8\MSSQL\DATA\TEST1.ldf',
        SIZE=2 MB,
        MAXSIZE=5 MB,
        FILEGROWTH=1 MB
    );

输入完毕后,单击SSMS面板上的“!执行”按钮,如图2.13所示。从图中后会 看过,CREATE DATABASE命令执行时,在结果窗口中将显示命令执行的进展情况汇报。

当命令成功执行后,在“对象资源管理器”中展开“数据库”目录,后会 看过,新建的数据库“TEST1”就显示于其中。机会越来越 发现“TEST1”,则选着 “数据库”,右击鼠标,在弹出的快捷菜单中选着 “刷新”菜单项即可。

通过数据库属性对话框后会 看过,新建立TEST1数据库的各项属性完整篇 符合预定要求。

【例2.6】 创建一有一一好几条 名为TEST2的数据库,它有一一好几条 数据文件,其中,主数据文件为20 MB,最大大小不限,按10%增长。 一有一一好几条 辅数据文件为20 MB,最大大小不限,按10%增长;有一有一一好几条 日志文件,大小为60 MB,最大大小为60 MB,按10 MB增长。

在查询分析器中输入如下T-SQL话语并执行.

CREATE DATABASE TEST2
    ON 
    PRIMARY    /*主文件*/
    (    
        NAME = 'TEST2_data1',
        FILENAME = 'D:\data\test2_data1.mdf',
        SIZE = 20 MB,
        MAXSIZE = UNLIMITED,
        FILEGROWTH = 10%
    ),   /*有逗号*
    (    
        NAME = 'TEST2_data2',
        FILENAME = 'D:\data\test2_data2.ndf',
        SIZE = 20 MB,
        MAXSIZE = UNLIMITED,
        FILEGROWTH = 10%
    )   /* 无逗号*/
    LOG ON
    (    
        NAME = 'TEST2_log1',
        FILENAME = 'D:\data\test2_log1.ldf',
        SIZE = 60

 MB,
        MAXSIZE = 60

 MB,
        FILEGROWTH = 10 MB
    );

【例2.7】 创建一有一一好几条 具有一一好几条 文件组的数据库TEST3。要求:

(1)主文件组包括文件TEST3_dat1,文件初始大小为20 MB,最大为60 MB,按5 MB增长;

(2)有一有一一好几条 文件组名为TEST3Group1,包括文件TEST3_dat2,文件初始大小为10 MB,最大为60 MB,按10%增长。

CREATE DATABASE TEST3
    ON 
    PRIMARY 
    (    
        NAME = 'TEST3_dat1',
        FILENAME = 'D:\data\TEST3_dat1.mdf',
        SIZE = 20 MB,
        MAXSIZE = 60
 MB,
        FILEGROWTH = 5 MB
    ),
    FILEGROUP TEST3Group1
    (    
        NAME = 'TEST3_dat2',
        FILENAME = 'D:\data\TEST3_dat2.ndf',
        SIZE = 10 MB,
        MAXSIZE = 60

 MB,
        FILEGROWTH = 10%
    )

2.3.2修改数据库

使用ALTER DATABASE命令可对数据库进行以下修改:

增加或删除数据文件;

改变数据文件的大小和增长措施 ;

改变日志文件的大小和增长措施 ;

增加或删除日志文件;

增加或删除文件组。

语法格式。

ALTER DATABASE database_name
{     ADD FILE <filespec>[,…n][ TO FILEGROUP filegroup_name ]    /*在文件组中增加数据文件*/
    | ADD LOG FILE <filespec>[,…n]                           /*增加日志文件*/
    | REMOVE FILE logical_file_name                           /*删除数据文件*/
    | ADD FILEGROUP filegroup_name [CONTAINS FILESTREAM]     /*增加文件组*/
    | REMOVE FILEGROUP filegroup_name                      /*删除文件组*/
    | MODIFY FILE <filespec>                                 /*更改文件属性*/
    | MODIFY NAME = new_dbname                           /*数据库更名*/
    | MODIFY FILEGROUP filegroup_name 
    {        <filegroup_updatability_option>
         | DEFAULT
        | NAME = new_filegroup_name 
    }                                                /*更改文件组属性*/
    | SET <optionspec> [ ,...n ] [ WITH <termination> ]               /*设置数据库属性*/
    | COLLATE collation_name                                 /*指定数据库排序规则*/
}
[;]
其中,
<filegroup_updatability_option>::=
{
        { READONLY | READWRITE } 
    |     { READ_ONLY | READ_WRITE }
}

【例2.8】 假设机会创建了例2.5中的数据库TEST1,它只能一有一一好几条 主数据文件,其逻辑文件名为TEST1_DATA,大小为5 MB,最大为60 MB,增长措施 为按10%增长。

要求:修改数据库TEST1现有数据文件TEST1_DATA的属性,将主数据文件的最大大小改为60 MB,增长措施 改为按每次5 MB增长。

在“查询分析器”窗口中输入如下Transact-SQL话语:
ALTER DATABASE TEST1
MODIFY FILE 
(    
  NAME = TEST1_DATA,
  MAXSIZE =60

 MB,    /*将主数据文件的最大大小改为60

 MB*/
  FILEGROWTH = 5 MB /*将主数据文件的增长措施


改为按5 MB增长*/
)
GO

单击“执行”按钮执行输入的T_SQL话语,右击“对象资源管理器”中的“数据库”,选着 “刷新”菜单项,前一天右击数据库TEST1的图标,选着 “属性”菜单项,在“文件”页上查看修改后的数据文件。

【例2.9】 先为数据库TEST1增加数据文件TEST1BAK。如果删除该数据文件。

ALTER DATABASE TEST1
ADD FILE
(    
  NAME = 'TEST1BAK',
  FILENAME = 'D:\data\TEST1BAK.ndf',
  SIZE = 10 MB,
  MAXSIZE = 60

 MB,
  FILEGROWTH = 5%
)

通过查看“数据库属性”窗口中的文件属性来观察数据库“TEST1”与否增加数据文件TEST1BAK。

删除数据文件TEST1BAK的命令如下:

ALTER DATABASE TEST1
  REMOVE FILE TEST1BAK
GO

【例2.10】 为数据库TEST1换成文件组FGROUP,并为此文件组换成有一一好几条 大小均为10 MB的数据文件。

ALTER DATABASE TEST1
  ADD FILEGROUP FGROUP
GO
ALTER DATABASE TEST1
  ADD FILE
  (    
    NAME = 'TEST1_DATA2',
    FILENAME = 'D:\data\TEST1_Data2.ndf',
    SIZE = 10 MB
  ),
  (    
    NAME = 'TEST1_DATA3',
    FILENAME = 'D:\data\TEST1_Data3.ndf',
    SIZE = 10 MB
  )
  TO FILEGROUP FGROUP
GO

【例2.11】 从数据库中删除文件组,将例2.10中换成到TEST1数据库中的文件组FGROUP删除。

注意:被删除的文件组中的数据文件后会 先删除,且只能删除主文件组。

在查询分析器中输入如下Transact-SQL话语并执行:

ALTER DATABASE TEST1
  REMOVE FILE TEST1_DATA2
GO
ALTER DATABASE TEST1
  REMOVE FILE TEST1_DATA3
GO
ALTER DATABASE TEST1
  REMOVE FILEGROUP FGROUP
GO

【例2.12】 为数据库TEST1换成一有一一好几条 日志文件。

在查询分析器中输入如下Transact-SQL话语并执行:

ALTER DATABASE TEST1
  ADD LOG FILE
  (    
    NAME = 'TEST1_LOG2',
    FILENAME = 'D:\data\TEST1_Log2.ldf',
    SIZE = 5 MB,
    MAXSIZE =10 MB,
    FILEGROWTH = 1 MB
  )
GO

【例2.13】 从数据库TEST1中删除一有一一好几条 日志文件,将日志文件TEST1_LOG2删除。注意,只能删除主日志文件。

将数据库TEST1的名称改为JUST_TEST。进行此操作时后会 保证该数据库此时越来越 被但会 任何用户使用。

在查询分析器中输入如下Transact-SQL话语并执行:

ALTER DATABASE TEST1
  REMOVE FILE TEST1_LOG2
GO
ALTER DATABASE TEST1
  MODIFY NAME = JUST_TEST
GO

2.3.3  删除数据库

删除数据库使用DROP DATABASE命令。

语法格式:

DROP DATABASE database_name[,…n][;]

其中,database_name是要删除的数据库名。例如于,要删除数据库TEST2,使用命令:

2.3.4  数据库快照

快照可用于报表。另外,机会源数据库老出用户错误,还可将源数据库恢复到创建快照时的情况汇报。丢失的数据仅限于创建快照后数据库更新的数据。

在SQL Server 60 8中,创建数据库快照也使用CREATE DATABASE命令。语法格式如下: 

CREATE DATABASE database_snapshot_name 
        ON 
            (
                NAME = logical_file_name,
                FILENAME = 'os_file_name' 
            ) [ ,...n ] 
        AS SNAPSHOT OF source_database_name
[;]

【例2.14】 创建PXSCJ数据库的快照PXSCJ_01。

CREATE DATABASE PXSCJ_01
    ON
    (
        NAME=PXSCJ,
        FILENAME='D:\data\PXSCJ_01.mdf'
    )
    AS SNAPSHOT OF PXSCJ
GO



命令执行成功前一天,在对象资源管理器中刷新“数据库”菜单栏,在“数据库”中展开“数据库快照”,就后会 看见前一天创建的数据库快照PXSCJ_01了。

删除数据库快照的措施 和删除数据库的措施 完整篇 相同,后会 使用界面措施 删除,也后会 使用命令措施 删除,例如于,

DROP DATABASE PXSCJ_01;