SQL SERVER中的文件和文件组
第03章SQL Server数据库结构和管理
model、tempdb 和 msdb)以及一个或多个用户数据库。
»25
3.2.2 系统数据库
• 数据库文件 • master主数据 • master 日志 • tempdb 主数据 • tempdb 日志 物理文件名 Master.mdf Mastlog.ldf Tempdb.mdf Templog.ldf 默认大小典型安装 11.0 MB 1.25 MB 8.0 MB .5 MB
• 注意:行偏移数组表示的是页中数据行的逻辑顺序,不是物理 顺序。真正的物理顺序与聚集索引有关。
»13
2.数据页面存储格式
• (4)页面链接
• 每个表或索引视图的数据行一般都分开存储在多个 8 KB 数据
页中。如上面所述,每个数据页都有一个 96 字节的页头,其 中包含拥有该页的表的标识符 (ID) 这样的系统信息,也包含指 向下一页及前面用过的页的指针。
»15
3.空间使用分配管理
• • 全局分配映射( Global Allocation Map ,简称 GAM )页面: GAM页面中的每一位记录一个区域的分配情况,当位值为1时, 说明区域为空闲区域;当位值为0时,表示区域已经被分配使用。 由于每个页面大小为8KB,所以一个GAM页面能够覆盖64000个区 域,即4GB。
面的对象使用。
»17
5.页面自由空间管理
• 当一个区域分配给某个数据库对象时,SQL Server 使用PFS(Page Free Space)页面记录区域内的单 个页面是否分配使用,以及页面中的空间使用情况: 即全部空闲、1%~50%满、51%~80%满、81%~95%满,
还是96%~100%满。当SQL Server需要分配新的页面,
• 事务日志是回绕的日志文件。例如,假设有一个数据库,它包含一个分
数据库应用基础第二章数据库的基本操作
指定关联的<filespec>
定义主文件
10
指定建立数据库的 日志文件
Log On
数据库的启动位置, 也是数据库中其他 文件的入口位置
{
(Name=logical_file_name,
Filename=’os_file_name’
指定文件的
[,Size=size]
操作系统文
[,Maxsize={max_size|unlimited}] 件名和路径
])
默认权限为 sa,dbo
缩减master系统数 据库
25
例:缩减My_DB数据库的容量
Exec Sp_dboption‘my_db’,’single User’,true Go Use My_db Go DBCC Shrinkdatabase(‘my_db’) Go Exec Sp_dboption ‘My_db’,’single User’,false Go
复习
1 数据 2 数据库 3 数据库管理系统
第二章 数据库的基本操作
2.1 文件和文件组
1 文件
– 主要数据文件:该文件包含数据库的启动信息,并用于存储数据,扩 展名是 .mdf
– 次要数据文件(可选):由用户定义并存储,这些文件含有不能置于主
要数据文件中的所有数据,扩展名是 .ndf – 事务日志文件:这些文件包含用于恢复数据库的日志信息。每个数据
Select Databasepropertyex (’My_db’,’collation’) Go Exec Sp_helpdb ‘My_db’ Go
16
2.3 管理数据库
打开数据库 增加数据库容量 查看及修改数据库选项 缩减数据库容量 更改数据库名称 查看数据库个数 删除数据库
sql server 备份一张表的方法-概述说明以及解释
sql server 备份一张表的方法-概述说明以及解释1.引言1.1 概述概述部分的内容可以简要介绍SQL Server备份的概念以及备份单张表的方法的重要性。
下面是一个示例:概述在数据库管理中,备份是一项必要的操作,旨在保护数据的完整性和可靠性。
SQL Server是一种常用的关系型数据库管理系统,它提供了多种备份选项以满足不同的需求。
无论是出于数据安全的考虑,还是为了避免意外删除或修改数据导致的严重后果,备份单张表的方法在SQL Server中具有重要的意义。
通过备份单张表,我们可以在数据丢失或错误操作时恢复表的特定数据,而无需恢复整个数据库。
本文将介绍SQL Server备份单张表的方法,帮助读者了解如何保护和恢复他们最关注的表的数据。
我们将探讨不同的备份选项和技术,以及它们的优缺点。
同时,我们还会展望未来备份技术的发展,以便读者能够更好地应对日益复杂的数据管理挑战。
通过本文的阅读,读者将能够了解到如何使用SQL Server的备份功能来保护他们的数据,并能够应对突发事件,迅速恢复关键数据。
备份单张表是一项关键的技术,它为数据库管理提供了更大的灵活性和安全性,使得数据恢复变得更加可靠和高效。
在接下来的章节中,我们将详细介绍SQL Server备份的概述、备份单张表的重要性以及备份单张表的具体方法,以帮助读者更好地理解和运用这一关键技术。
文章结构部分的内容应该包括以下信息:文章结构部分主要目的是向读者介绍本文的整体结构和内容安排。
通过详细介绍文章的各个章节和子章节,读者可以快速了解文章的组织方式和内容分布,从而更好地理解和阅读全文。
本文按照以下结构进行组织和呈现:1. 引言1.1 概述在本部分,将简要介绍SQL Server备份的概念和作用。
通过了解备份的基本概念,读者可以更好地理解后续章节中讨论的备份方法。
1.2 文章结构当前章节,即文章结构部分,将介绍全文的组织方式和内容安排。
通过阅读本部分,读者可以了解全文的大致框架和各个章节的概要内容。
数据库第3章 SQL Server Management Studio 操纵数据库和表
3.2.2 数据库表的创建 使用企业管理器创建表 利用企业管理器提供的图形界面来创建表,步骤如 下: (1)在树形目录中展开【数据库】→【MyDb】。 (2)选择【表】,单击鼠标右键,在弹出的快捷菜单 中选择【新建表...】命令,打开设计表对话框。
(3)如图所示,设计表对话框的上半部分有一个表 格,在这个表格中输入列的列名、数据类型、长度 (有的数据类型不需要指定长度,如datetime类型 的长度为固定值8)、是否可以为空,在允许空域 中单击鼠标左键,可以切换是否允许为空值的状态, 打勾说明允许为空值,空白说明不允许为空值,默 认状态是允许为空值的。 (4) 图所示的设计表对话框的下半部分是特定列的 详细属性,包括是否是标识列、是否使用默认值等。
数据库文件组 为了方便管理、提高系统性能,将多个数据库文 件组织成一组,即称为数据库文件组。数据库文件组 控制各个文件的存放位置,常常将每个文件建立在不 同的硬盘驱动器上。这样可以减轻单个硬盘驱动器的 存储负载,提高数据库的存储效率,从而实现提高系 统性能的目的。 在使用数据库文件和文件组时,应该注意以下几点: 1)每个文件或文件组只能用于一个数据库。 2)每个文件只能属于一个文件组。 3)日志文件是独立的。数据库的数据和日志信息不 能放在同一个文件或文件组中,数据文件和日志文件 总是分开的。
使用Transact—SQL命令修改数据库 ALTER DATABASE <数据库名> {ADD FILE <文件格式>[,…n] [TO FILEGROUP <文 件组名>] |ADD LOG FILE <文件格式>[,…n] |REMOVE FILE <逻辑文件名> |ADD FILEGROUP <文件组名> |REMOVE FILEGROUP <文件组名> |MODIFY FILE <文件格式> |MODIFY FILEGROUP <文件组名> <文件组属性> }
数据库构建与管理(SQL SERVER)教案系列第三章创建数据库和数据表1
SQL Server的数据库文件和文件组必须遵循以下规则:
★一个数据库主数据文件只能有一个。
★一个文件、文件组、事务日志文件只能被一个数据库使用。
※主数据文件:扩展名为.mdf,包含数据库系统信息并可存放用户数据库数据,每个数据库只有一个主数据文件。辅助数据文件:扩展名为.ndf,数据量很大时使用,可存放在不同的磁盘驱动器上,以便得利用多个磁盘上的存储空间并提高数据存取的并发性。
2)文件组
SQL Server数据库还允许将多个数据库文件组成一个文件组进行整体管理。比如可以设置三个数据文件data1.mdf、data2.ndf、data3.ndf并分别创建在三个磁盘上,也可以创建两个文件组group1、group2,将data1.mdf、data2.ndf加入group1,而将data3.ndf加入group2。
数据库构建与管理(SQL SERVER)教案
课题
第3章创建数据库和数据表பைடு நூலகம்
授课形式
新授
授课课时
共2课时,第1、2课时
使用教具
多媒体
课前准备
PPT
教学目标
掌握数据库的创建、修改、删除、分离、附加
教学重点
数据库的创建、分离、附加
教学难点
数据库的创建
更新、补充
删节内容
板书设计
一、创建数据库
主数据文件(Primary file):存放数据和启动信息。每个数据库都必须有且只能有一个主数据文件,其扩展名为.MDF。
SQL Server 2005的文件及文件组
2 2 5 01年 月
软 件 导 刊
Sofwa e Gui e t r d
VOl1 lN o 5 . M f 2 2 l v Ol
S e v r 0 5的 文 件 及 文 件 组 QLS r e 0 2
黄 小花
(江 西 交 通 职 业 技 术 学 院 信 息 工 程 系 , 西 南 昌 3 0 1 ) 江 3 0 3
1 主 要 数 据 文 件
在 S ev r中 , 个 数 据 库 都 有 一 个 主 数 据 文 件 , QL S r e 每 它存 储 数 据 库 中所 有 的 数 据 和 对 象 , 如 , 、 引 、 储 例 表 索 存 过 程 和视 图 等都 放 在 主文 件 中 。创 建 数 据 库 时 , 数 据 库 新 包 含 了从 Mo e 数 据 库 复 制 的 系 统 对 象 , 储 在 主 文 件 dl 存
数据 。 另 一方 面 , 用 多个 次 要 数 据 文 件 可 提 高 磁 盘 的利 用 使
中 , 些 系统 对 象 包 括数 据 库 的启 动 信 息 、 载 数 据 库 对 这 记
象 及 其 它 文件 位 置 信 息 的 系统 表 。 S S re QI e v r中主 要 数 据 文 件 存 储 时 默 认 扩 展 名 为 . md , 省 略 , 使 用 扩展 名 有 利 于 文 件 的 识别 。 f可 但
摘 要 : 要介 绍 了 S L S re 2 0 主 Q ev r 0 5中 关 于文 件 和 文 件 组 的 相 关知 识 。在 数 据 库 中 至 少 有 一 个 主 要 文 件 和 事 务 日
志文 件 , 次要 文件 可 以 没有 , 可 有 多个 , 据 数 据 库 的 大 小 而 定 。为 提 高 数 据 库 性 能 , 在 S evr中通 过 文 件 也 根 应 QL S re
北理工《SQL Server 数据库应用》期末考试精选题汇总【含答案解析】94
SQL Server课程复习提纲第1章数据库基础知识复习内容1.数据与数据处理的基本概念2.计算机数据管理的3个阶段3.数据模型的基本概念和分类4.概念模型的基本概念和表示方法5.数据库系统主要特征(1) 数据结构化(2) 数据独立性高物理独立性:数据库物理结构的改变,不影响数据的逻辑结构,不影响应用程序逻辑独立性:数据库中的逻辑数据结构发生改变时,应用程序无需修改(3) 减少数据冗余(4) 数据共享(5) 统一的数据保护功能6.数据库设计的六个阶段及内容复习重点1.数据模型的三个组成部分:数据结构、数据操作、完整性约束条件。
2.E-R方法的三要素是:实体、属性、联系。
联系的类型包括:一对一、一对多和多对多。
3.数据库设计各个阶段及各阶段需要完成的工作4.数据库管理系统的主要功能数据库定义功能数据存取功能数据库运行管理功能数据库的建立和维护功能数据通信功能第2章 SQL Server 2000系统概述复习内容1.SQL Server服务器的主要组件2.SQL Server 的两种身份验证模式第3章创建和使用数据库复习内容1.SQL Server支持的数据库类型以及SQL Server有哪些系统数据库2.SQL Server数据库文件和数据库文件组的概念3.SQL Serve数据库存储结构4.创建、删除数据库以及数据库更名复习重点1.SQL Server的系统数据库包括:master数据库,用于控制用户数据库和 SQL Server 操作,储存用户账户、可配置的环境变量、系统错误消息等信息;model数据库,新建用户数据库的模板原型;tempdb数据库,临时表以及其他临时的工作存储需要;msdb数据库,调度信息和作业历史存储区域。
2.SQL Server采用操作系统文件来存放数据库,数据库文件包括主数据文件、次要数据文件、日志文件三类。
3.数据库的物理存储对象是页面和盘区。
简单的说,一个数据库是由文件组成,文件是由盘区组成,盘区由页面组成。
sqlserver复习填空题
填空题:第1章1.数据库是描述事物的符号记录。
2.数据库是一个长期存储在计算机内的、有组织的、可共享的、统一管理的数据集合。
数据库中的数据是按照一定的数据模型组织、描述和存储的,有较小的冗余度,较高的数据独立性和易扩展性。
3.数据库管理系统是使用和管理数据库的系统软件,负责对数据库进行统一的管理和控制。
4.数据库管理员是专门负责管理和维护数据库服务器的人。
5.数据库的发展大致划分为以下几个阶段:人工管理阶段、文件系统阶段和数据库系统阶段。
6.数据库系统通常采用3级模式结构,即数据库系统由外模式、模式和内模式3级组成。
7.数据库设计实施整个过程包括需求分析、概念模型设计、逻辑模型设计、物理模型设计、数据库实施运行和维护5个阶段。
8.需求分析结果包括数据字典、数据流图、判定树和判定表等。
9.实体-联系模型属于概念模型,实体-联系模型是用E-R图来描述现实世界的概念模型,E-R图的内容包括实体型、属性和联系。
10.逻辑模型通常由数据结构、数据操作和完整性约束。
11.关系模型完整性分成三类,是实体完整性、参照完整性和用户自定义完整性。
12.两个实体型之间的联系种类分为一对一、一对多和多对多。
在转换成关系模式时,一对一的联系可以转换成单个关系模式,也可以与任意一端的实体型转换成的关系模式合并;一对多的联系可以转换成单个关系模式,也可以与多端的实体型转换成的关系模式合并;多对多的联系只能转换成单个关系模式。
第2章1.SQL Sever数据库分为系统数据库和用户数据库两类。
2.SQL Sever系统数据库包括master、model、tempdb、msdb和resource,最重要的是master。
3.SQL Sever数据库的文件包括主要数据文件、次要数据文件和事务日志3类。
4.SQL Sever数据库文件中存储数据的基本单位是页,区是由8个物理上连续的页构成的集合,区的作用是有效管理页。
5.创建数据库使用的T-SQL语句是CREATE DATABASE。
SQL Server 2000系统
4 函数
在Transact-SQL语言中,函数被用来执行一些特 殊的运算以支持SQL Server的标准命令。TransactSQL 编程语言提供了三种函数: (1) 行集函数:行集函数可以在Transact-SQL语 句中当作表引用。 (2) 聚合函数:聚合函数用于对一组值执行计算并 返回一个单一的值。 如求titles表中所有行的price总和,用SUM()函数实 titles price SUM 现。 select sum(price) from titles (3) 标量函数:标量函数用于对传递给它的一个或 者多个参数值进行处理和计算,并返回一个单一的值。 如返回当前使用的数据库的名称,用DB_NAME()函 数实现。 select DB_NAME() as 'databasename'
2 批处理
批处理是一个T_SQL语句组,可以包含一条SQL语句, 也可以包含多条SQL语句,这些语句被应用程序一次 性地从客户机传递到服务器上执行。SQL Server将批 处理的所有语句作为一个整体进行编译和执行。因此, 如果在编译过程中出现错误,那么所有的语句都无法 执行。 可以一次提交给服务器多个批处理命令,所有的批处 理都使用GO作为结束标志,当编译器读到GO时,它 便把GO前面的所有语句当作一个批处理发送给服务器。 GO本身不是T_SQL语句的组成部分,它只是一个表 示批处理结束的命令。
3 变量
变量是一种语言中必不可少的组成部分。 Transact-SQL语言中有两种形式的变量,一种是用 户自己定义的局部变量,另外一种是系统提供的全局 变量。 (1)局部变量 局部变量是一个能够拥有特定数据类型的对象,它的 作用范围仅限制在程序内部。局部变量可以作为计数 器来计算循环执行的次数,或是控制循环执行的次数。 另外,利用局部变量还可以保存数据值,以供控制流 语句测试以及保存由存储过程返回的数据值等。局部 变量被引用时要在其名称前加上标志“@”,而且必 须先用DECLARE命令定义后才可以使用。
SQL_Server复习题汇总带答案
SQL Server复习题一、选择题1、数据库系统的主要特征是()A、数据的冗余度小B、数据的结构化C、数据独立性高D、数据可以共享2、下面不属于关系数据库管理系统的是( B )A、OracleB、IMSC、SQL ServerD、DB23、数据库(DB),数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A)。
A、DBS包括DB和DBMSB、DBMS包括DB和DBSC、DB包括DBS和DBMSD、DBS就是DB,也就是DBMS>4、(C)是数据库系统的核心,它负责数据库的配置、存取、管理和维护等工作。
A、操作系统B、关系模型C、数据库管理系统D、数据库5、下列四项说法中不正确的是( C) 。
A、数据库减少了数据冗余B、数据库中的数据可以共享C、数据库避免了一切数据的重复D、数据库具有较高的数据独立性6、下列特点中哪个不是数据库系统阶段的特点( B)。
A.数据共享B.数据冗余大C.完善的数据控制D.数据和程序相互独立7、数据库设计中概念模型设计阶段的主要描述工具是(C)。
A. 数据字典B. 流程图C. E-R图D.二维表格8、关系模型的基本数据结构是(B)A、树B、二维表C、图D、二叉树;9、将E-R模型转换成关系模型的过程,属于数据库设计的( C)阶段。
A、需求分析B、概念设计C、逻辑设计D、物理设计10、在E-R模型中,实体间的联系用(C)表示A、矩形B、直线C、菱形D、椭圆11、为了防止多个用户对数据库的同一数据进行非法存取操作,DBMS必须提供(A).A、安全性保护B、完整性保护C、故障恢复D、并发控制12、按照数据模型分类,数据库管理系统可分为(C)。
A.关系型,概念型,网状B.内模式,概念模式,外模式C.关系型,层次型,网状模型\Server,oracle,DB213、SQL Server安装程序创建4个系统数据库,下列哪个不是系统数据库(C)。
A. masterB. modelC. AdventureWorksD. msdb14、SQL server数据库文件有三类,其中主数据文件的后缀为(D)A、NDFB、LDFC、MDFD、IDF15、SQL server 数据库文件有3类,其中日志文件的后缀为(D)。
sql server的数据库物理结构和逻辑结构的组成
sql server的数据库物理结构和逻辑结构的组成SQL Server的数据库物理结构和逻辑结构的组成在学习SQL Server数据库时,了解其数据库的物理结构和逻辑结构是非常重要的。
通过深入了解SQL Server数据库的结构组成,我们可以更好优化数据库的性能,进行有效的数据库维护和管理。
在本文中,我将从物理结构和逻辑结构两个方面来探讨SQL Server数据库的组成,并共享一些个人观点和理解。
一、物理结构的组成1. 数据页在SQL Server中,数据存储在数据页中。
每个数据页的大小通常为8KB,其中包含了存储在数据库中的实际数据。
数据页是SQL Server中最基本的存储单元,它们用于存储表数据、索引数据和系统数据等。
理解数据页的概念对于深入了解SQL Server的物理结构至关重要。
2. 文件组文件组是物理存储结构的组织单元,它对应于操作系统中的文件和文件夹。
在SQL Server中,文件组用于组织数据库文件,使数据库文件能够被逻辑组织和管理。
同时, 文件组还可以用于定义表和索引的存储位置,以便将数据分布在不同的物理存储设备上,从而提高数据库的性能和可维护性。
3. 数据文件和日志文件数据库的物理存储结构由数据文件和日志文件组成。
数据文件用于存储数据库中的用户数据和系统数据,而日志文件用于记录数据库的事务信息和日志。
理解数据文件和日志文件的作用和组成结构有助于我们更好管理和维护数据库,在出现故障时能够及时进行恢复。
二、逻辑结构的组成1. 表和视图表是数据库中最基本的存储单元,它用于存储和组织数据。
视图是对表的抽象,它提供了一种逻辑上的数据展现方式,可以对表进行筛选、聚合和联接操作。
了解表和视图的逻辑结构有助于我们更好设计数据库模型和进行数据操作。
2. 索引和约束索引是一种特殊的数据结构,它可以加快数据检索和查询的速度。
约束是对数据进行有效性验证的规则,它可以保证数据库中的数据满足一定的约束条件。
数据库原理与应用(SQL-Server)
选择数据源
2015-5-22
63
选择目标
2015-5-22
64
选择目标文件类型
2015-5-22
65
选择目标文件路径及文件
2015-5-22
66
选择目标文件路径及文件
2015-5-22
67
指定表或查询
2015-5-22
68
选择表
2015-5-22
69
* 2008以前服务操作
2015-5-22
17
四、使用帮助
2015-5-22
18
使用帮助
2015-5-22
19
使用帮助
2015-5-22
20
五、编写、分析和编辑脚本
SQL Server提供了一个交互式对话工具(编 辑器),使数据库管理员和开发人员能够在其 中编写、编辑脚本,运行T-SQL语句,同时查看 执行结果,还能对T-SQL语句执行结果进行分析, 为查询优化提供直观的显示和帮助。
安装SQL Server后,安装程序自动生成以下几 个系统数据库: * master——系统级信息 * model——数据库模版 * msdb——任务计划 * tempdb——临时表和存储过程
2015-5-22
7
关于master数据库
master数据库是SQL Server 2000的总控数 据库,记录系统中所有系统级的信息。它对其 他数据库实施管理和控制功能,同时还保存了 用于SQL Server管理的许多系统级信息。
2015-5-22 5
2.文件组
文件组表示一组有关系的文件组合。 * 一个文件和文件组只能被一个数据库使用 * 一个文件只能是一个文件组成员 * 一个数据库的数据信息和日志信息不能放在 同一个文件或文件组中 * 数据文件和日志文件总是分开的 * 日志文件永远不属于任何文件组
文件组和文件
1.主要数据文件
该文件包含数据库的启动信息,并用于存储数据。是数据库的起点,指向数据库中文件的其它部分。每个数据库都有一个主要数据文件。主要数据文件的推荐文件扩展名是 .mdf。
2.次要数据文件
这些文件含有不能置于主要数据文件中的所有数据即包含除主要数据文件外的所有数据文件。有些数据库可能没有次要数据文件,而有些数据库则有多个次要数据文件。(如果主文件可以包含数据库中的所有数据,那么数据库就不需要次要数据文件。有些数据库可能足够大故需要多个次要数据文件,或使用位于不同磁盘驱动器上的辅助文件将数据扩展到多个磁盘。)次要数据文件的推荐文件扩展名是 .ndf。
用户定义文件组是在 CREATE DATABASE 或 ALTER DATABASE 语句中,使用 FILEGROUP 关键字或在 SQL Server 企业管理器内的"属性"对话框指定的文件组。
另:默认文件组 (DEFAULT 文件组)
文件组的一种类型,其包含在创建时没有指定文件组的所有表和索引的页。在每个数据库中,每次只能有一个文件组是默认文件组。如果没有指定默认文件组,则默认文件组是主文件组。 可用 ALTER DATABASE 语句更改默认文件组。通过更改默认文件组,创建时没有指定文件组的任何对象都被分配到新默认文件组中的数据文件。然而,系统对象和表仍然保留在 PRIMARY 文件组内,而不是新默认文件组。(每个数据库中都有一个文件组作为默认文件组运行。当 SQL Server 给创建时没有为其指定文件组的表或索引分配页时,将从默认文件组中进行分配。一次只能有一个文件组作为默认文件组。db_owner 固定数据库角色成员可以将默认文件组从一个文件组切换到另一个。如果没有指定默认文件组,则主文件组是默认文件组。)
创建数据库
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 重新启动时会自动恢复已修改的数据,使其返回未被修改的状态。
T-SQL语法
T-SQL语法一、数据库存储结构SQL Server中的每个数据库有多个操作系统文件组成,数据库的所有资料、对象和数据库操作日志均存储在这些操作系统文件中。
根据这些文件的作用不同,可以将它们划分为以下三类:●主数据文件:每个数据库有且只有一个主数据文件,它是数据库和其它数据文件的起点。
主数据文件的扩展名一般为.mdf;●辅数据文件:用于存储主数据文件中未存储的剩余资料和数据库对象,一个数据库可以没有辅数据文件,但也可以同时拥有多个辅数据文件。
辅数据文件的多少主要根据数据库的大小、磁盘存储情况和存储性能要求而设置。
辅数据文件的扩展名一般为.ndf;●日志文件:存储数据库的事务日志信息,当数据库损坏时,管理员使用事务日志恢复数据库。
日志文件的扩展名一般为.ldf。
每个数据库中至少两个文件:主数据文件和日志文件。
SQL Server数据库文件除操作系统所赋予的物理文件名称外,还有一个逻辑名称。
数据库的逻辑名称应用于Transact-SQL语句中。
例如,对于master系统数据库,master 为其逻辑名称,使用Transact-SQL语句操作数据库时,均使用该名称。
而对应的物理文件名称为master.mdf、其日志文件名称为master.ldf。
为了管理方便,可将多个数据库文件组织为一组,称作数据库文件组。
文件组能够控制各个文件的存放位置,其中的每个文件常建立在不同的硬盘驱动器上,这样可以减轻每个磁盘驱动器的存储压力,提高数据库的存储效率,从而达到提高系统性能的目的。
SQL Server采用比例填充策略使用文件组中的每个文件提供的存储空间。
在SQL Server中建立文件和文件组时,应注意以下两点:●每个文件或文件组只能属于一个数据库,每个文件也只能成为一个文件组的成员,文件和文件组不能跨数据库使用;●日志文件是独立的,它不能成为文件组的成员。
也就是说,数据库的资料内容和日志内容不能存入相同的文件或文件组。
SQLServer中数据的存储
SQLServer中数据的存储我们知道,⽬前的关系型数据库都是将⽂件存储在物理磁盘上⾯,既然是存储在磁盘上⾯,那么就会涉及到数据存储问题。
本⽂我们主要探讨数据库中数据的存储。
与数据库有关的⽂件有3种,即主数据库⽂件,次数据库⽂件和数据库⽇志⽂件。
主数据库⽂件和次数据库⽂件⾥⾯存储的是我们的数据和对象,例如表,视图,存储过程等等,是我们程序所要⽤到的。
数据库⽇志⽂件包含恢复数据库所需的完整的事务信息,⽇志⽂件平时并没有什么特殊的⽤途,只是记录对数据库的操作,但是当数据库发⽣误操作或者错误甚⾄是灾难性的后果时,⽇志⽂件就能派上⽤场。
三种数据库⽂件如下:⽂件说明主要主要数据⽂件包含数据库的启动信息,并指向数据库中的其他⽂件。
⽤户数据和对象可存储在此⽂件中,也可以存储在次要数据⽂件中。
每个数据库有⼀个主要数据⽂件。
主要数据⽂件的建议⽂件扩展名是 .mdf。
次要次要数据⽂件是可选的,由⽤户定义并存储⽤户数据。
通过将每个⽂件放在不同的磁盘驱动器上,次要⽂件可⽤于将数据分散到多个磁盘上。
另外,如果数据库超过了单个 Windows ⽂件的最⼤⼤⼩,可以使⽤次要数据⽂件,这样数据库就能继续增长。
次要数据⽂件的建议⽂件扩展名是 .ndf。
事务⽇志事务⽇志⽂件保存⽤于恢复数据库的⽇志信息。
每个数据库必须⾄少有⼀个⽇志⽂件。
事务⽇志的建议⽂件扩展名是 .ldf。
1 ⽂件组(filegroup)⽂件组是⼀个逻辑概念,⼀个数据库可以包含多个⽂件组,⼀个⽂件组可以包含多个物理数据库⽂件,每个数据库⾄少有⼀个⽂件组,⼀个⽂件组⾥⾯⾄少有⼀个⽂件,这就是我们在创建数据库的时候默认的情形。
数据库⽂件组如下图所⽰: 那有⼈会问,为什么要有⽂件组的概念呢,⽂件组的作⽤是什么?通常情况下,有两种情形可以使⽤⽂件组: 1)在⼤型的应⽤程序中,数据库中存储的数据量也会很⼤,可能达到⼏⼗⼏百GB,甚⾄达到数TB,那在这种情况下,⽤单个数据库⽂件存储数据,就会出现如索引慢等问题,性能出现瓶颈。
SQLServer中数据库文件的存放方式,文件和文件组
SQLServer中数据库⽂件的存放⽅式,⽂件和⽂件组写在前⾯:上次我关于的⽂章有⼏个园友发站内信问我如何将索引和表存储在不同的硬盘上。
我觉的需要专门写⼀篇⽂章来讲述⼀下⽂件和⽂件组应该更容易理解.简介在SQL SERVER中,数据库在硬盘上的存储⽅式和普通⽂件在Windows中的存储⽅式没有什么不同,仅仅是⼏个⽂件⽽已.SQL SERVER通过管理逻辑上的⽂件组的⽅式来管理⽂件.理解⽂件和⽂件组的概念对于更好的配置数据库来说是最基本的知识。
理解⽂件和⽂件组在SQL SERVER中,通过⽂件组这个逻辑对象对存放数据的⽂件进⾏管理.先来看⼀张图:我们看到的逻辑数据库由⼀个或者多个⽂件组构成⽽⽂件组管理着磁盘上的⽂件.⽽⽂件中存放着SQL SERVER的实际数据.为什么通过⽂件组来管理⽂件对于⽤户⾓度来说,需对创建的对象指定存储的⽂件组只有三种数据对象:表,索引和⼤对象(LOB)使⽤⽂件组可以隔离⽤户和⽂件,使得⽤户针对⽂件组来建⽴表和索引,⽽不是实际磁盘中的⽂件。
当⽂件移动或修改时,由于⽤户建⽴的表和索引是建⽴在⽂件组上的,并不依赖具体⽂件,这⼤⼤加强了可管理性.还有⼀点是,使⽤⽂件组来管理⽂件可以使得同⼀⽂件组内的不同⽂件分布在不同的硬盘中,极⼤的提⾼了IO性能.SQL SERVER会根据每个⽂件设置的初始⼤⼩和增长量会⾃动分配新加⼊的空间,假设在同⼀⽂件组中的⽂件A设置的⼤⼩为⽂件B的两倍,新增⼀个数据占⽤三页(Page),则按⽐例将2页分配到⽂件A中,1页分配到⽂件B中.⽂件的分类⾸要⽂件:这个⽂件是必须有的,⽽且只能有⼀个。
这个⽂件额外存放了其他⽂件的位置等信息.扩展名为.mdf次要⽂件:可以建任意多个,⽤于不同⽬的存放.扩展名为.ndf⽇志⽂件:存放⽇志,扩展名为.ldf在SQL SERVER 2008之后,还新增了⽂件流数据⽂件和全⽂索引⽂件.上述⼏种⽂件名扩展名可以随意修改,但是我推荐使⽤默认的扩展名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SQL SERVER中的文件和文件组
SQL SERVER中的文件和ORACLE中的数据文件差不多,而文件组则和ORACLE中的表空间类似。
每个SQL SERVER数据库中的至少具有两个操作系统文件:
一个数据文件和一个日志文件。
数据文件包含数据和对象,例如表、索引、存储过程和视图。
日志文件包含恢复数据库中的所有事务所需的信息。
为了便于分配和管理,可以将数据文件集合起来,放到文件组中。
而数据文件可以分为两种:主要数据文件和次要数据文件
主要数据文件包含数据库的启动信息,并指向数据库中的其他文件。
用户数据和对象可存储在此文件中,也可以存储在次要数据文件中。
每个数据库有一个主要数据文件。
主要数据文件的建议文件扩展名是 .mdf.
次要数据文件是可选的,由用户定义并存储用户数据。
通过将每个文件放在不同的磁盘驱动器上,次要文件可用于将数据分散到多个磁盘上。
另外,如果数据库超过了单个Windows 文件的最大大小,可以使用次要数据文件,这样数据库就能继续增长。
次要数据文件的建议文件扩展名是 .ndf。
文件组
每个数据库有一个主要文件组。
此文件组包含主要数据文件和未放入其他文件组的所有次要文件。
可以创建用户定义的文件组,用于将数据文件集合起来,以便于管理、数据分配和放置。
这个文件组的概念就和ORACLE中的表空间类似。
在ORACLE中在不同的磁盘上创建多个数据文件,并将数据文件划分到同一表空间上提高性能。
在SQL SERVER中也是类似的,可以分别在两个磁盘分别创建两个文件data1.ndf和data2.ndf,然后将他们分配给文件组fgroup1上。
这样在fgroup1上创建一张表test,表中的数据就会分配到两个磁盘上,提高性能。
主文件组
主要包含主要文件的文件组。
所有系统表都被分配到主要文件组中。
用户定义文件組
用户首次创建数据库或以后修改数据库时明确创建的任何文件组
默认文件组
如果在数据库中创建对象时没有指定对象所属的文件组,对象将被分配给默认文件组。
不管何时,只能将一个文件组指定为默认文件组。
默认文件组中的文件必须足够大,能够容纳未分配给其他文件组的所有新对象。
PRIMARY 文件组是默认文件组,除非使用ALTER DATABASE 语句进行了更改。
但系统对象和表仍然分配给PRIMARY 文件组,而不是新的默认文件组。
下面创建个数据库sunwg举例说明
create database sunwg
on primary –主文件组和主要数据文件
(name=’sunwg_Primary’,
filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_primary.mdf’),
filegroup sunwg_filegroup1 –用户定义文件组1
(name=’sunwg_fg_data1′,
filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_1.ndf’),–次要数据文件1
(name=’sunwg_fg_data2′ ,
filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_2.ndf’),–次要数据文件2
filegroup sunwg_filegroup2
(name=’sunwg_fg_data3′,
filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_3.ndf’)
log on
(name=’sunwg_log’,
filename=’D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_log.ldf’)
go
数据库sunwg结构如下:
主文件组
名字:sunwg_Primary
主文件:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_primary.mdf
用户定义文件组
名字:sunwg_filegroup1
次要数据文件:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_1.ndf
次要数据文件:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_2.ndf
名字:sunwg_filegroup2
次要数据文件:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_fg_data_3.ndf
日志文件
名字:sunwg_log
日志文件:D:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\sunwg_log.ldf
查询当前数据库中的文件组信息
2> select * from sys.sysfilegroups;
3> go
groupid allocpolicy status groupname
1 0 16 PRIMARY
2 0 0 sunwg_filegroup1
3 0 0 sunwg_filegroup2
(3 rows affected)
查询当前数据库中文件信息
1> select fileid,groupid,size,name from sys.sysfiles;
2> go
fileid groupid size name
1 1 288 sunwg_Primary
2 0 128 sunwg_log
3 2 128 sunwg_fg_data1
4 2 128 sunwg_fg_data2
5 3 128 sunwg_fg_data3
(5 rows affected)
通过将sys.sysfilegroups的groupid和sys.sysfiles的groupid关联就可以得到次要文件的分组情况。
修改默认数据文件组
alter database sunwg modify filegroup sunwg_filegroup1 DEFAULT;
创建表的时候指定文件组
1> CREATE TABLE sunwg (id INT) ON sunwg_filegroup1;
2> go。