SQLServer文件组
SQL Server数据库技术

SQL Server数据库技术数据库是软件开发人员必须掌握的一门技术,在信息网络技术突飞猛进的今天,数据对于人们生活和工作的重要性可想而知,如何合理安全的管理各种数据信息,对于软件IT 行业的发展起到了至关重要的作用。
1.数据、数据库、数据管理系统基本概念:数据:人类有用信息的符号化表示。
数据库:按照数据结构来组织、存储和管理数据的一个仓库。
数据库管理系统(DBMS):可维护、存储并为应用系统提供数据的软件系统(软件+数据库+数据管理员)。
可以客观描述的事物被称为“实体”,不同的数据体现了不同的实体。
数据每一行(Row)对应一个实体,被称为“记录(record)”,每个输入项称为“列”(Column),如编号,姓名,学号等。
数据“表”是实体的集合,用于存储具体的数据。
“数据库”是“表”的集合。
“关系”也是数据库重要的一部分(从关系表达式到键、类型、规则、权限、约束、触发器等抽象概念来表达)。
数据库发展史:・萌芽阶段――文件系统:提供简单数据共享和管理,类似于Winxp的资源管理器。
・初级阶段――第一代数据库:层次模型与网状模型数据库系统(如IMS信息管理系统) ・中级阶段――第二代数据库:关系数据库(如IBM的DB2,Oracle),使用结构化查询语言SQL作为数据库定义语言DDL和数据库操作语言DML。
(目前依然是商务应用领域的天下)・高级阶段――新一代数据库:如关系-对象型数据库系统,但像不同的方向上变迁以适应数据库厂商的各种需要。
2.常用数据库类型:・层次结构模型:IMS・网状结构模型:DBTG(Data Base Task Group)・关系结构模型:二维表格形式(字段记录)3.常用数据库产品SQL Server(Microsoft)、Oracle(Oracle甲骨文)、DB2(IBM)、MySQL(Sun) 、Access(MS Office)。
目前Intenet流行网站架构方式:LAMP(Linux + Apache + MySQL + PHP)。
sqlserver 架构

sqlserver 架构一、引言SQL Server 是由 Microsoft 公司开发的关系数据库管理系统(RDBMS),广泛应用于企业级应用和数据仓库。
在使用 SQL Server 进行数据库开发和管理时,了解其架构是至关重要的。
本文将深入探讨 SQL Server 的架构,介绍其各个组件和相互关系,帮助读者全面理解 SQL Server。
二、SQL Server 架构概述SQL Server 架构是一个多层次的体系结构,具有许多组件和服务。
下面将对 SQL Server 架构的各个层次进行介绍。
1. 物理存储层物理存储层是 SQL Server 架构的最底层,它负责将数据存储在磁盘上。
SQL Server 中的数据存储在称为数据文件的文件组中,数据文件是数据库实际存储数据的地方。
2. 数据库引擎层数据库引擎层是 SQL Server 架构的核心组件,它负责管理数据库的创建、管理和维护。
数据库引擎层包括以下几个主要子组件:(1) SQL Server 实例SQL Server 实例是 SQL Server 架构的一个基本单位,在一个 SQL Server 实例中可以包含多个数据库。
每个 SQL Server 实例都有一个唯一的实例名称和实例标识符。
(2) 数据库数据库是数据的集合,用于组织和存储数据。
每个数据库都有一个唯一的数据库名称和数据库标识符。
数据库可以包含表、视图、存储过程、触发器等对象。
(3) 数据库文件数据库文件是存储数据库数据的物理文件,每个数据库至少有一个数据文件和一个事务日志文件。
数据文件包含数据页,每个数据页存储一定数量的数据记录。
(4) 查询优化器查询优化器是数据库引擎层的一个重要组件,它负责对查询语句进行优化和执行计划的生成。
查询优化器根据查询语句的特性和数据分布情况,选择最优的执行计划来提高查询性能。
(5) SQL Server AgentSQL Server Agent 是 SQL Server 的作业调度器,它可以定期执行一些重复性的任务,如备份数据库、优化索引等。
【SQL Server数据库】 SQL Server关系数据库管理系统

Microsoft SQL Server
2、SQL Server组-->双击打开你的服务器-->双击打开数
据库目录
3、选择你的数据库名称(如学生)-->然后点上面菜单
中的工具-->选择备份数据库
4、备份选项选择完全备份,目的中的备份到:如果原
9
第9页
SQL Server Management Studio工具
SQL Server Management Studio是一个集成的环境,用于访问、配 置、控制、管理和开发SQL Server的所有工作。
已注册的服务器 对象资源管理器
摘要页
模板资源管理器
解决方案资源管理器
2021年7月19日
图 SQL Server Management Studio工具组件
事件处理信息、数据备份及恢复信息和警告及异常信息。
17
➢ 3. Model数据库 ➢ Model数据库的主文件是model.mdf,日志文件为model.ldf。model
数据库用作在 SQL Server 实例上创建的所有数据库的模板。因为 每次启动 SQL Server 时都会创建 tempdb,所以 model 数据库必须 始终存在于 SQL Server 系统中。 ➢ 4. tempdb数据库 ➢ tempdb 数 据 库 的 主 文 件 名 和 日 志 文 件 名 分 别 为 tempdb.dbf 和 tempdb.ldf。tempdb数据库是一个共享的工作空间,SQL Server 2000中的所有数据库都可以使用它,它为临时表和其他临时工作 提供了一个存储区。
Integration Services是一个数据集成平台,负责完成有关数据的提取、 转换和加载等操作。Integration Services可以高效地处理各种各样的数据 源,例如SQL Server、Oracle、Excel、XML文档和文本文件等。
sqlserver恢复数据库语句

以下是使用SQL Server恢复数据库的语句:1.使用RESTORE DATABASE语句来恢复数据库:RESTORE DATABASE [目标数据库名称]FROM DISK = '备份文件路径'WITH REPLACE, RECOVERY;2.如果需要恢复特定的数据文件组,可以使用RESTORE FILELISTONLY语句查看备份中的数据文件信息:RESTORE FILELISTONLYFROM DISK = '备份文件路径';3.使用MOVE子句来指定恢复的数据文件要存放在哪个位置,可以使用以下语句:RESTORE DATABASE [目标数据库名称]FROM DISK = '备份文件路径'WITH REPLACE, RECOVERY,MOVE '逻辑数据文件名' TO '物理文件路径\逻辑数据文件名.mdf',MOVE '逻辑日志文件名' TO '物理文件路径\逻辑日志文件名.ldf';4.如果需要从差异备份中进行恢复,可以使用DIFFERENTIAL选项。
首先需要先进行完整备份,然后再进行差异备份。
以下是一个示例:RESTORE DATABASE [目标数据库名称]FROM DISK = '完整备份路径'WITH REPLACE;RESTORE DATABASE [目标数据库名称]FROM DISK = '差异备份路径'WITH REPLACE, RECOVERY;5.如果需要从事务日志备份中进行恢复,可以使用WITH NORECOVERY选项。
以下是一个示例:RESTORE DATABASE [目标数据库名称]FROM DISK = '完整备份路径'WITH REPLACE, NORECOVERY;RESTORE LOG [目标数据库名称]FROM DISK = '事务日志备份路径'WITH RECOVERY;6.如果需要恢复到特定的日期和时间点,可以使用STOPAT选项。
SQLServer数据库操作总结(sql语法的使用)-电脑资料

SQLServer数据库操作总结(sql语法的使用)-电脑资料前言数据库学完了,但是脑子里还是没有一个系统的数据库操作概念,。
借着考试复习的这个机会,总结一下数据库的常用操作。
内容参考上课的课件进行了整理,整篇文章会很长。
1.数据库创建管理1.1 创建数据库CREATE DATABASE DBON PRIMARY(NAME = DB_data,FILENAME = 'F:\DB_data1.mdf', SIZE = 10MB,MAXSIZE = UNLIMTED),(NAME = DB_data2,FILENAME = 'F:\DB_data2.ndf', SIZE = 11MB,MAXSIZE = 20MB, FILEGROWTH = 2MB)LOG ON(NAME = DB_log1,FILENAME = 'F:\DB_log1.ldf', SIZE = 1MB,MAXSIZE = 30MB,FILEGROWTH = 10%)1.2 修改数据库1.2.1 增加数据文件语法:alter database 数据库名称add file 数据文件[to file group 文件组名称]add log file 日志文件操作:ALTER DATABASE DB ADD FILE ( NAME = , FILENAME = , SIZE = , FILEGROWTH = )1.2.2 增加日志文件ALTER DATABASE DBADD LOG FILE ( NAME = , FILENAME = , SIZE = , FILEGROWTH = ,MAXSIZE = )1.2.3 修改数据文件语法:ALTER DATABASE 数据库名MODIFY FILE 文件属性操作:将数据库db1中的数据文件data2的初始大小改为10MB,最大容量为20MB,增长幅度为10%alter database db1 modify file(name = data2,size = 10,maxsize = 20,filegrowth = 10%)ALTER DATABASE DBMODIFY FILE( NAME = , SIZE = ,) 1.2.4 删除数据文件和日志文件语法:alter database 数据库名称remove file 数据文件或日志文件的逻辑文件名操作:删除数据库db1中的数据文件data4和日志文件log2alter database db1 remove data4alter database db1 remove log21.2.5 增加文件组语法:alter database 数据库名add filegroup 文件组名操作:在数据库db1中增加一个g2文件组alter database db1 add filegroup g21.2.6 重命名文件组语法:alter database 数据库名modify filegroup 文件组名name=新文件组名操作:将数据库db1中的文件组g2更名为g3alter database db1 modify filegroup g2 name=g31.2.7 删除文件组语法:alter database 数据库名称remove filegroup 文件组名操作:删除数据库db1的文件组g3alter database db1remove filegroup g31.2.8 修改数据库名称语法:alter database 数据库名modify name = 新数据库名操作:将数据库db1的名字修改为glalter database db1modify name = gl1.3 删除数据库语法: Drop database 数据库名 [,……n]操作:删除数据库DB1,DB2,DB3DROP DATABASE DB1,DB2,DB32.架构与基本表2.1 创建架构CREATE SCHEMA T2 AUTHORIZATION User1 CREATE TABLE Test(C1 INT PRIMATY KEY, C2 CHAR(4) ) GRANT SELECT TO User2 DENY DELETE TO User3;2.2 修改架构ALTER SCHEMA T1 TRANSFER T2.Test2.3 删除架构DROP SCHEMA T22.4 创建基本表2.4.1 表约束类型:主键(PRIMARY KEY)约束惟一(UNIQUE)约束外键(FOREIGN KEY)约束检查(CHECK)约束说明:非空和默认值也可看成是约束。
Sqlserver数据库备份与还原

Sqlserver数据库备份与还原⼀、数据库存储概述1、数据⽂件类型· Primary data files:每个数据库都有⼀个单独的主要数据⽂件,默认以.mdf扩展名。
主要数据⽂件不仅包含数据信息,还包含与该数据库结构相关的信息。
创建数据库时,数据库结构相关信息不仅存在于master数据库中,同时还包含在primary data file上.· Secondary data files⼀个数据库可以有⼀个或者多个⼆级数据⽂件,默认以.ndf为扩展名。
⼀般来说⼆级数据⽂件并不是必须的,因为⼆级数据⽂件不包含⽂件位置等信息。
· Transaction logs: 数据库必须⾄少有⼀个事务⽇志⽂件,默认以.ldf为扩展名。
⽇志是整个数据库的命脉,事务⽇志不可读的话,将⽆法对数据库进⾏任何操作。
当你在数据库上进⾏数据操作时,数据并不是直接写⼊数据⽂件,⽽是先将相关操作信息写⼊事务⽇志⽂件。
当⼀个事务结束时,该事务被标记为已提交,但这也并不意味着数据从⽇志⽂件写⼊了数据⽂件中。
⼀个标记为已提交的事务仅仅意味着所有与该事务相关的元素已经成功完成。
The buffer cache may be updated, but not necessarily the data file.检查点(checkpoint)会周期性的发⽣。
检查点发⽣时,是确认所有已提交的事务,不管是在buffer cache或者事务⽇志中,都被写⼊相关的数据⽂件中。
检查点(checkpoint)可以通过以下⽅式来触发:1、显⽰调⽤checkpoint命令;2、Recover Interval 实例设置的周期达到(⽤来标识多久发⽣⼀次checkpoint)3、做了数据库备份(在简单模式下);4、数据库⽂件结构被改变(在简单模式下);5、数据库引擎被结束。
⼀般来说,写数据的过程是由系统⾃动完成的,如下图所⽰,但数据并不是直接写⼊.mdf或者.ndf ⽂件中,⽽是先将有关变化写⼊事务⽇志中,这也是数据库中的write-ahead机制。
SQL SERVER2000教程

SQL SERVER2000教程第一章第一节简介SQL Server 2000是微软公司开发的采用SQL语言的关系型数据库管理系统,它拥有高弹性与多元化的结构,不仅符合业界的需要,更能与现今的互联网紧密集成,而对Windows CE/98/NT/2000/XP/2003等操作系统的全面支持的优越性得到最终程序开发人员的普遍认可。
SQL Server2000是服务器级的数据库管理系统,不论是客户机/服务器、多层结构,还是Database Web应用程序,SQL Server 2000都起着后端数据库的角色。
可以说,SQL Server 2000是所有数据的汇总与管理中心,是整个应用系统的枢纽。
第二节数据库分类逻辑数据库(1)系统数据库:系统数据库作为SQLSERVER默认安装的一部分而安装,由系统表和存储过程组成。
系统数据库、表以及存储过程共同为您提供了设计、创建、部署和维护世界级SQLSERVER数据库的工具和支持。
a)Master数据库:是追踪所有其它数据库和配置信息的关键数据库。
它控制着用户数据库和SQLSERVER的操作。
Master数据库对你的信息绝对重要,所以你应该总是保留Master数据库的最近备份。
b)Msdb数据库:是SQLSERVERAgent的主要支持。
SQLSERVERAgent负责复制、任务调度、警报、系统操作员信息以及备份信息。
因此,Msdb也是非常重要的,哪怕你不使用SQLSERVERAgent,在Msdb中的备份信息也有助于数据库的恢复。
c)Model数据库:是一个创建新数据库的模板,它包含了应该出现在每个用户数据库中的系统表。
在创建一个数据库时,SQLSERVER会把Model数据库的全部内容复制到新数据库中。
因此,如果你想每次创建数据库时自动地创建某些对象、权限和用户,你就可以把它们放在Model数据库中。
d)Tempdb数据库:保存所有临时表和临时存储过程。
临时表可以被程序员显示的创建。
第二章 sql server 2008 数据库的基本操作

/*日志文件逻辑文件名*/ /*日志文件物理文件名*/ /*日志文件初始大小*/ /*日志文件最大大小*/ /*日志文件自动增长*/
使用T-SQL语言为安易超市创建“supermarket”数据库
参数 参数值
数据库名称
数据文件逻辑文件名 数据文件物理文件名 数据文件的初始大小 数据文件的最大大小 数据文件增长量 日志文件逻辑文件名
在更改数据库名称之前,要确保以下三种条件: • 确保数据库被创建后没有被使用过 • 确保数据库的访问选项设置时单用户模式 • 确保数据库现在处于关闭状态
SQL Server 2000数据库的基本操作
【例】将数据库“学生信息管理”更名为“student”
1. 2.
ALTER DATABASE 学生信息管理 MODIFY NAME = student SP_RENAMEDB „student‟ , ‟学生信息管理’
CREATE DATABASE 教学管理 ON PRIMARY ( NAME = „教学管理_DATA1‟, FILENAME = „D:\教学管理\教学管理_DATA1.MDF‟. SIZE = 5, MAXSIZE = 100, FILEGROWTH = 10% ) FILEGROUP F_GROUP ( NAME = „教学管理_DATA2‟, FILENAME = „D:\教学管理\教学管理_DATA2.MDF‟. SIZE = 5, MAXSIZE = UNLIMITED, FILEGROWTH = 10% )
例: USE 教学管理 EXEC sp_helpfilegroup
SQL Server 2000数据库的基本操作
2、更改数据库名称
在查询分析器中使用T-SQL命令更改数据库名称。 语法一: SP_RENAMEDB „oldname‟ , ‟newname‟ 语法二: ALTER DATABASE dataname MODIFY NAME = newname 注意:
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQLServer文件组(一)使用文件组开发数据库的好处使用文件组开发数据库可以改善数据库的性能。
首先,文件组允许跨多个磁盘、多个磁盘控制器或RAID(独立磁盘冗余阵列)系统创建数据库。
例如,如果你的计算机上有四个磁盘,在每个磁盘上放一个文件,那么你可以创建一个由三个数据文件和一个日志文件组成的数据库。
当用户对数据进行访问时,磁盘上的四个读/写磁头可以同时并行地访问数据。
这一动作加快了数据库操作的速度。
其次,文件组允许数据布局,即可以在特定文件组中创建表。
例如,我们设计的数据库中总有常访问的表和不常访问的表。
可以将常访问的表放在一个文件组的一个文件中,且该文件位于一个磁盘上。
将不常访问的表放在另一个文件组的一个文件中,且该文件位于另一个磁盘上。
这样可以将特定表的所以输入输出(I/O)都定向到一个特定的磁盘,竟而改善性能。
再次,利于实现备份和还原策略。
可以通过称为段落还原的进程分阶段还原由多个文件组组成的数据库。
段落还原适用于所有恢复模式,但在完整恢复模式和大容量日志恢复模式下比在简单恢复模式下更灵活。
段落还原方案包括还原的全部三个阶段:数据复制、重做或前滚以及撤消或后滚。
当使用多个文件组时,可以分别备份和还原数据库中的文件。
在简单恢复模式下,只能对只读文件进行文件备份。
使用文件备份使您能够只还原损坏的文件,而不用还原数据库的其余部分,从而加快了恢复速度。
例如,如果一个数据库由几个分别位于不同的物理磁盘上的文件组成,当其中一个磁盘发生故障时,只需还原发生故障的磁盘上的文件。
SQLServer文件组(二)文件和文件组概念SQL Server 将数据库映射为一组操作系统文件。
数据和日志信息绝不会混合在同一个文件中,而且一个文件只由一个数据库使用。
文件组是命名的文件集合,用于帮助数据布局和管理任务,例如备份和还原操作。
数据库文件SQL Server 数据库具有三种类型的文件:主数据文件主数据文件是数据库的起点,指向数据库中的其他文件。
每个数据库都有一个主数据文件。
主数据文件的推荐文件扩展名是 .mdf。
次要数据文件除主数据文件以外的所有其他数据文件都是次要数据文件。
某些数据库可能不含有任何次要数据文件,而有些数据库则含有多个次要数据文件。
次要数据文件的推荐文件扩展名是 .ndf。
日志文件日志文件包含着用于恢复数据库的所有日志信息。
每个数据库必须至少有一个日志文件,当然也可以有多个。
日志文件的推荐文件扩展名是 .ldf。
SQL Server 不强制使用 .mdf、.ndf 和 .ldf 文件扩展名,但使用它们有助于标识文件的各种类型和用途。
数据文件页SQL Server 数据文件中的页按顺序编号,文件的首页以0 开始。
数据库中的每个文件都有一个唯一的文件ID 号。
若要唯一标识数据库中的页,需要同时使用文件ID 和页码。
每个文件的第一页是一个包含有关文件属性信息的文件的页首页。
在文件开始处的其他几页也包含系统信息(例如分配映射)。
有一个存储在主数据文件和第一个日志文件中的系统页是包含数据库属性信息的数据库引导页。
SQL Server 文件可以从它们最初指定的大小开始自动增长。
在定义文件时,您可以指定一个特定的增量。
每次填充文件时,其大小均按此增量来增长。
如果文件组中有多个文件,则它们在所有文件被填满之前不会自动增长。
填满后,这些文件会循环增长。
每个文件还可以指定一个最大大小。
如果没有指定最大大小,文件可以一直增长到用完磁盘上的所有可用空间。
如果SQL Server 作为数据库嵌入某应用程序,而该应用程序的用户无法迅速与系统管理员联系,则此功能就特别有用。
用户可以使文件根据需要自动增长,以减轻监视数据库中的可用空间和手动分配额外空间的管理负担。
数据库文件组可以在首次创建数据库时创建文件组,也可以在以后在数据库中添加更多文件时创建文件组。
但是,一旦将文件添加到数据库中,就不能再将这些文件移到其他文件组中。
最多可以为每个数据库创建32,767 个文件组。
文件组只能包含数据文件。
事务日志文件不能是文件组的一部分。
文件组不能独立于数据库文件创建。
文件组是在数据库中组织文件的一种管理机制。
为便于分配和管理,可以将数据库对象和文件一起分成文件组。
有两种类型的文件组:主文件组主文件组包含主数据文件和任何没有明确分配给其他文件组的其他文件。
系统表的所有页均分配在主文件组中。
用户定义文件组用户定义文件组是通过在CREATE DATABASE 或ALTER DATABASE 语句中使用FILEGROUP 关键字指定的任何文件组。
日志文件不包括在文件组内。
日志空间与数据空间分开管理。
一个文件不可以是多个文件组的成员。
表、索引和大型对象数据可以与指定的文件组相关联。
在这种情况下,它们的所有页将被分配到该文件组,或者对表和索引进行分区。
已分区表和索引的数据被分割为单元,每个单元可以放置在数据库中的单独文件组中。
默认文件组每个数据库中均有一个文件组被指定为默认文件组。
如果创建表或索引时未指定文件组,则将假定所有页都从默认文件组分配。
一次只能有一个文件组作为默认文件组。
dbowner 固定数据库角色成员可以将默认文件组从一个文件组切换到另一个。
如果没有指定默认文件组,则将主文件组作为默认文件组。
如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。
不管何时,只能将一个文件组指定为默认文件组。
默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。
PRIMARY 文件组是默认文件组,除非使用ALTER DATABASE 语句进行了更改。
但系统对象和表仍然分配给PRIMARY 文件组,而不是新的默认文件组。
SQLServer文件组(三)文件和文件组的填充文件组对组内的所有文件都使用按比例填充策略。
当数据写入文件组时,SQL Server 数据库引擎按文件中的可用空间比例将数据写入文件组中的每个文件,而不是将所有数据都写入第一个文件直至其变满为止。
然后再写入下一个文件。
例如,如果文件f1 有100 MB 可用空间,文件f2 有200 MB 可用空间,则从文件f1 中分配一个区,从文件f2 中分配两个区,依此类推。
这样,两个文件几乎同时填满,并且可获得简单的条带化。
假定将数据库设置为自动增长,则当文件组中的所有文件填满后,数据库引擎便会采用循环方式一次自动扩展一个文件以容纳更多数据。
例如,某个文件组由三个文件组成,它们都设置为自动增长。
当文件组中所有文件的空间都已用完时,只扩展第一个文件。
当第一个文件已满,无法再向文件组中写入更多数据时,将扩展第二个文件。
当第二个文件已满,无法再向文件组中写入更多数据时,将扩展第三个文件。
当第三个文件已满,无法再向文件组中写入更多数据时,将再次扩展第一个文件,依此类推。
使用文件和文件组管理数据库增长创建数据库时,必须指定数据和日志文件的初始大小,或采用默认大小。
随着数据不断地添加到数据库,这些文件将逐渐变满。
然而,如果添加到数据库中的数据多于文件的容量,就需要考虑数据库在超过所分配初始空间的情况下是否增长以及如何增长。
默认情况下,数据文件根据需要一直增长,直到没有剩余的磁盘空间。
因此,如果不希望数据库文件的大小增长到大于创建时的初始值,则必须在使用SQL Server Management Studio 或CREATE DATABASE 语句创建数据库时指定其大小。
另外,SQL Server 使您可以创建在填充数据时能够自动增长的数据文件,但只能增长到预定义的最大值。
这可以防止完全耗尽磁盘驱动器的空间。
建议在创建数据库时,请根据数据库中预期的最大数据量,创建尽可能大的数据文件。
允许数据文件自动增长,但要有一定的限度。
为此,需要指定数据文件增长的最大值,以便在硬盘上留出一些可用空间。
这样便可以使数据库在添加超过预期的数据时增长,而不会填满磁盘驱动器。
如果已经超过了初始数据文件的大小并且文件开始自动增长,则重新计算预期的数据库大小最大值。
然后,根据计划添加更多的磁盘空间,如果需要,在数据库中创建并添加更多的文件或文件组。
然而,如果假定不使数据库增长到超过其初始值,请将数据库增长的最大值设置为零。
这将防止数据库文件增长。
如果数据库文件已填满数据,那么只有为数据库添加更多的数据文件或扩展现有的文件后,才能添加更多的数据。
文件碎片如果若干文件共享同一个磁盘,则让文件自动增长可能会导致那些文件产生碎片。
因此,应尽可能的在不同的本地物理磁盘上创建文件或文件组。
此外,还要将争夺空间最激烈的对象放置在不同的文件组中。
SQLServer文件组(四)文件和文件组示例以下示例在SQL Server 实例上创建了一个数据库。
该数据库包括一个主数据文件、两个用户定义文件组和一个日志文件。
主数据文件在主文件组中,而用户定义文件组包含两个次要数据文件。
ALTER DATABASE 语句将用户定义文件组指定为默认文件组。
然后通过指定用户定义文件组来创建表。
--Create the database with the dafault--data filegroup and a log file.--Specify the growth increment and--the max size for the primary data file.CREATE DATABASE MyDatabaseON PRIMARY(NAME='MyDB_Primary',FILENAME='d:\...\MyDB_Primary.mdf',SIZE=4MB,MAXSIZE=10MB,FILEGROWTH=1MB),FILEGROUP MyDB_FG1(NAME='MyDB_FG1_Data1',FILENAME='e:\...\MyDB_FG1_Data1.ndf', SIZE=4MB,MAXSIZE=10MB,FILEGROWTH=1MB),(NAME='MyDB_FG1_Data2',FILENAME='e:\...\MyDB_FG1_Data2.ndf', SIZE=4MB,MAXSIZE=10MB,FILEGROWTH=1MB),FILEGROUP MyDB_FG2(NAME='MyDB_FG2_Data1',FILENAME='f:\...\MyDB_FG2_Data1.ndf', SIZE=4MB,MAXSIZE=10MB,FILEGROWTH=1MB),(NAME='MyDB_FG2_Data1',FILENAME='f:\...\MyDB_FG2_Data1.ndf', SIZE=4MB,MAXSIZE=10MB,FILEGROWTH=1MB)LOG ON(NAME='MyDB_Log',FILENAME='g:\...\MyDB_Log.ldf',SIZE=4MB,MAXSIZE=10MB,FILEGROWTH=1MB)GOALTER DATABASE MyDatabaseMODIFY FILEGROUP MyDB_FG1 DEFAULT GO--Create a table in the user-defined filegroup. USE MyDatabaseGOCREATE TABLE MyTable1(cola INT PRIMARY KEY,colb CHAR(8))ON MyDB_FG1GOCREATE TABLE MyTable2(cola INT PRIMARY KEY,colb CHAR(8))ON MyDB_FG2GOSQLServer文件组(五)文件组的设计规则一个文件或文件组不能由多个数据库使用。