278.sqlserver2008数据库操作

  • 时间:
  • 浏览:0
  • 来源:大发时时彩_时时彩高手计划_大发时时彩高手计划

1.1基本模式

1.1.1 逻辑数据库

  用户老是都要在T-SQL中引用SQL Server对象并对其进行操作,如对数据库表进行查询和数据更新等,在其所使用的T-SQL一段话中都要给出对象的名称。用户可不都要给出两种对象名,即完整篇 限定名和偏离 限定名。



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

包括一个偏离 :服务器名数据库名数据库架构名对象名

其格式为          server.database.scheme.object

在SQL Server 808上创建的每一个对象都都要一个唯一的完整篇 限定名。

(2)偏离 限定名。在使用T-SQL编程时,常省略全名中的许多偏离 ,对象全名的一个偏离 中的前八个偏离 均可不都要省略,当省略里面的偏离 时,圆点符“.”不可省略。把只富含 对象完整篇 限定名中的一偏离 的对象名称为偏离 限定名。SQL Server可不都要根据系统的当前工作环境选者对象名称中省略的偏离 。

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

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

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

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

这类,以下是许多正确的对象偏离

限定名:
server.database..object          /*省略架构名*/
server.. scheme.object            /*省略数据库名*/
database. scheme.object          /*省略服务器名*/
server…object                    /*省略架构名和数据库名*/
scheme.object                     /*省略服务器名和数据库名*/
object                           /*省略服务器名、数据库名和架构名*/

  下面大致介绍一下SQL Server 808富含 晒 有的常用数据库对象。

1 表:表是SQL Server中最主要的数据库对象,它是用来存储和操作数据的两种逻辑底部形态。表由行和列组成,因此 也称为二维表。表是在日常工作和中活中老是使用的两种表示数据及其关系的形式。



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

因此 视图两种并非存储实际数据,因此 也可不都要称之为虚表。视图中的数据来自定义视图的查询所引用的基本表,并在引用时动态生成数据。当基本表中的数据所处变化时,从视图中查询出来的数据也随之改变。视图一经定义,就可不都要像基本表一样被查询、修改、删除和更新了。

3 索引:索引是两种不不扫描整个数据表就可不都要对表中的数据实现快速访问的途径,它是对数据表中的一列因此 多列数据进行排序的两种底部形态。

表中的记录通常按其输入的时间顺序存放,许多顺序称为记录的物理顺序。为了实现对表记录的快速查询,可不都要对表的记录按某个或许多属性进行排序,许多顺序称为逻辑顺序

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

4 约束:约束机制保障了SQL Server 808中数据的一致性与完整篇 性,具有代表性的约束就是主键和外键。主键约束当前表记录的唯一性,外键约束当前表记录与许多表的关系。



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

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



②默认值:默认值是在用户可能够够了 给出具体数据时,系统所自动生成的数值。它是SQL Server 808系统确保数据一致性和完整篇 性的土最好的方法。

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



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



⑤ 类型:用户可不都要根据都要在给定的系统类型之上定义自己的数据类型。



⑥ 函数:用户可不都要根据都要在SQL Server 808上定义自己的函数。

1.1.2  物理数据库

1.页和区

SQL Server 808中一个主要的数据存储单位:页和区。

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

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

2.数据库文件

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

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

(2)辅助数据文件。辅助数据文件简称辅(助)文件,用于存储未包括在主文件内的许多数据。辅助文件的默认扩展名为.ndf。辅助文件是可选的,根据具体情形,可不都要创建多个辅助文件,也可不都要不使用辅助文件。一般当数据库很大时,有因此 都要创建多个辅助文件。而当数据库较小时,则只都要创建主文件而不都要创建辅助文件。

(3)日志文件。日志文件用于保存恢复数据库所需的事务日志信息。每个数据库至少一个日志文件,也可不都要有多个,日志文件的扩展名为.ldf。日志文件的存储与数据文件不同,它富含 一系列记录,什么记录的存储不以页为存储单位。

3.文件组

使用文件组可不都要提高表中数据的查询性能。在SQL Server 808富含 两类文件组。

(1)主文件组。主文件组富含 主要数据文件和任何可能够够了 明确指派给许多文件组的许多文件。管理数据库的系统表的所有页均分配在主文件组中。

(2)用户定义文件组。用户定义文件组是所处CREATE DATABASE或ALTER DATABASE一段话中使用FILEGROUP关键字指定的文件组。

每个数据库中都一个文件组作为默认文件组运行。若在SQL Server 808中创建表或索引时可能够够了 为其指定文件组,可能够够了 将从默认文件组中进行存储页分配、查询等操作。用户可不都要指定默认文件组,因此 可能够够了 指定默认文件组,则主文件组是默认文件组。

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

  系统数据库存储有关SQL Server的系统信息,它们是SQL Server 808管理数据库的土最好的方法。因此 系统数据库遭到破坏,可能够够了 SQL Server将可能够够了正常启动。在安装SQL Server 808时,系统将创建一个可见的系统数据库:master、model、msdbtempdb

(1)master数据库富含 了SQL Server 808的登录账号、系统配置、数据库位置及数据库错误信息等,控制用户数据库和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 808”,选者并启动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.SQL808 \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 808的命名规则,最大长度为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,而不管原先 空间大小是2个。但要注意,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,最大大小为80 MB,允许数据库自动增长,增长土最好的方法是按10%比例增长。日志文件初始为2 MB,最大可增长到5 MB,按1 MB增长。数据文件和日志文件的存放位置为SQL Server的数据库目录“C:\Program Files\Microsoft SQL Server\MSSQL10.SQL808\ 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.SQL808\MSSQL\DATA\TEST1.mdf',
        SIZE=5 MB,
        MAXSIZE=80 MB,
        FILEGROWTH=10%        
    ) 
    LOG ON
    (
        NAME='TEST1_log',
        FILENAME='C:\Program Files\Microsoft SQL Server\MSSQL10.SQL808\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%增长;一个日志文件,大小为80 MB,最大大小为80 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 = 80 MB,
        MAXSIZE = 80 MB,
        FILEGROWTH = 10 MB
    );

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

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

(2)一个文件组名为TEST3Group1,包括文件TEST3_dat2,文件初始大小为10 MB,最大为80 MB,按10%增长。

CREATE DATABASE TEST3
    ON 
    PRIMARY 
    (    
        NAME = 'TEST3_dat1',
        FILENAME = 'D:\data\TEST3_dat1.mdf',
        SIZE = 20 MB,
        MAXSIZE = 80 MB,
        FILEGROWTH = 5 MB
    ),
    FILEGROUP TEST3Group1
    (    
        NAME = 'TEST3_dat2',
        FILENAME = 'D:\data\TEST3_dat2.ndf',
        SIZE = 10 MB,
        MAXSIZE = 80 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,最大为80 MB,增长土最好的方法为按10%增长。

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

在“查询分析器”窗口中输入如下Transact-SQL一段话:
ALTER DATABASE TEST1
MODIFY FILE 
(    
  NAME = TEST1_DATA,
  MAXSIZE =80 MB,    /*将主数据文件的最大大小改为80 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 = 80 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 808中,创建数据库快照也使用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;