SQL Server 2008基础教程 (4)

上传人:沈*** 文档编号:244571152 上传时间:2024-10-05 格式:PPT 页数:53 大小:1.11MB
返回 下载 相关 举报
SQL Server 2008基础教程 (4)_第1页
第1页 / 共53页
SQL Server 2008基础教程 (4)_第2页
第2页 / 共53页
SQL Server 2008基础教程 (4)_第3页
第3页 / 共53页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第,*,页,2024年10月5日,第,1,页,第,4,章 管理数据库,本章概述,本章要点,本章内容,2024年10月5日,第,2,页,本章概述,业务数据存储在什么地方?数据库对象存储在哪里?对于业务数据而言,什么样的存储方式是合理的?如果数据量剧增之后,数据库能否适应这些变化?回答诸如此类的问题,首先需要明白到底什么是数据库。数据库是数据库管理系统的核心,是存放数据库对象的容器,是使用数据库系统时首先面对的对象。管理数据库就是设计数据库、定义数据库和维护数据库的过程。数据库的效率和性能在很大程度上取决于数据库的设计和优化。,本章将对,Microsoft SQL Server,系统的数据库管理进行全面的研究和分析。,2024年10月5日,第,3,页,本章要点,数据库的管理问题,数据库文件和文件组的基本特征,数据库的物理存储方式和大小估算方法,使用,CREATE DATABASE,语句定义数据库,数据库选项的作用和设置方式,扩大数据库的原因和方法,收缩数据库的原因和方法,文件组的管理方式,数据库快照的作用和特点,优化数据库设计的方法,2024年10月5日,第,4,页,本章内容,4.1,概述,4.2,数据库文件和文件组的基本特征,4.3,定义数据库,4.4,修改数据库,4.5,管理数据库快照,4.6,其他相关操作,4.7,优化数据库,4.8,本章小结,4.1,概述,为了有效地实现数据库的管理工作,必须至少解决,8,个方面的问题,包括,数据库文件的存储问题、数据库的大小问题、确定数据库运行时的行为特征、数据库的更改问题、数据库的扩大问题、数据库的收缩问题、如何兼顾数据库的事务处理效率和决策支持效率问题和数据库的性能优化问题等。,2024年10月5日,第,5,页,4.2,数据库文件和文件组的基本特征,本节主要讲述数据库文件的类型、事务的概念、文件组的作用、估算数据库文件大小的方法等内容。,2024年10月5日,第,6,页,数据库文件,在,Microsoft SQL Server 2008,系统中,一个数据库至少有一个数据文件和一个事务日志文件。,当然,一个数据库也可以有多个数据文件和多个日志文件。数据文件用于存放数据库的数据和各种对象,而事务日志文件用于存放事务日志。一个数据库最多可以拥有,32767,个数据文件和,32767,个日志文件。,2024年10月5日,第,7,页,文件组,文件组就是文件的逻辑集合。为了方便数据的管理和分配,文件组可以把一些指定的文件组合在一起。,使用文件和文件组时,应该考虑下列因素:,(1),一个文件或者文件组只能用于一个数据库,不能用于多个数据库;,(2),一个文件只能是某一个文件组的成员,不能是多个文件组的成员;,(3),数据库的数据信息和日志信息不能放在同一个文件或文件组中,数据文件和日志文件总是分开的;,(4),日志文件永远也不能是任何文件组的一部分。,2024年10月5日,第,8,页,估算大小,通过理解数据库的空间管理,可以估算数据库的设计尺寸。数据库的大小等于数据库中的表大小、索引大小以及其他占据物理空间的数据库对象大小之和。,假设某个数据库中只有一个表,该表的数据行字节是,800B,。这时,一个数据页上最多只能存放,10,行数据。如果该表大约有,100,万行的数据,那么该表将占用,10,万个数据页的空间。因此,该数据库的大小估计为:,1000008KB=800000KB=781.25MB,。根据数据库大小的估计值,再考虑其他因素,就可以得到数据库的设计值。,2024年10月5日,第,9,页,4.3,定义数据库,定义数据库就是创建数据库和设置数据库选项。,本节从,3,个方面讲述定义数据库:创建数据库、设置数据库选项和查看数据库信息。,2024年10月5日,第,10,页,创建数据库,创建数据库就是确定数据库名称、文件名称、数据文件大小、数据库的字符集、是否自动增长以及如何自动增长等信息的过程。在一个,Microsoft SQL Server,实例中,最多可以创建,32767,个数据库。数据库的名称必须满足系统的标识符规则。在命名数据库时,一定要保证数据库名称简短并有一定的含义。,具有,CREATE DATABASE,、,CREATE ANY DATABASE,或,ALTER ANY DATABASE,权限的用户才可以执行创建数据库的操作。,2024年10月5日,第,11,页,创建一个最简单的数据库,2024年10月5日,第,12,页,使用,CREATE DATABASE,语句创建数据库,2024年10月5日,第,13,页,创建有多个文件和文件组的数据库,2024年10月5日,第,14,页,数据库的状态和选项,为了理解数据库的运行特征,需要了解数据库的状态和选项。下面分别介绍数据库的状态和选项。,数据库总是处在某个特定的状态中,例如,,ONLINE,状态表示数据库处于正常的在线状态,可以对数据库执行正常的操作。数据库的状态清单和特征描述如表,4-1,所示。,2024年10月5日,第,15,页,数据库选项,设置数据库选项是定义数据库状态或特征的方式,例如可以设置数据库的状态为,EMERGENCY,。每一个数据库都有许多选项,可以使用,ALTER DATABASE,语句中的,SET,子句来设置这些数据库选项。需要注意的是,使用,Microsoft SQL Server Management Studio,工具只能设置其中大多数的选项。下面,首先介绍,Microsoft SQL Server 2008,系统提供的数据库选项,然后讲述如何设置这些选项。,在,Microsoft SQL Server 2008,系统中,共有大约,30,多个数据库选项。这些数据库选项的清单和功能描述如表,4-2,所示。,2024年10月5日,第,16,页,设置数据库选项,2024年10月5日,第,17,页,查看数据库信息,在,Microsoft SQL Server 2008,系统中,可以使用一些目录视图、函数、存储过程查看有关数据库的基本信息。,sys.databases,数据库和文件目录视图可以查看有关数据库的基本信息,,sys.database_files,可以查看有关数据库文件的信息,,sys.filegroups,可以查看有关数据库文件组的信息,,sys.master_files,可以查看数据库文件的基本信息和状态信息。,DATABASEPROPERTYEX,函数可以查看指定数据库的指定选项的信息,一次只能返回一个选项的设置。,2024年10月5日,第,18,页,查看数据库选项的设置,2024年10月5日,第,19,页,查看数据库空间使用状况信息,2024年10月5日,第,20,页,使用,sp_helpdb,存储过程查看数据库,2024年10月5日,第,21,页,“数据库属性,AdventureWorks,”对话框,2024年10月5日,第,22,页,4.4,修改数据库,数据库创建之后,可以根据需要使用,ALTER DATABASE,语句对数据库进行修改。,除了前面讲过的设置数据库选项之外,修改操作还包括更改数据库名称、扩大数据库、收缩数据库、修改数据库文件、管理数据库文件组以及修改字符排列规则等。,下面将详细讨论这些内容。,2024年10月5日,第,23,页,更改数据库名称,数据库创建之后,一般情况下不要更改数据库的名称,因为许多应用程序都可能使用了该数据库的名称。数据库名称更改之后,需要修改相应的应用程序。如果确实需要更改数据库名称,可以使用,ALTER DATABASE,语句做到。,使用,ALTER DATABASE,语句更改数据库名称的语法形式如下:,ALTER DATABASE database_name MODIFY NAME = new_database_name,2024年10月5日,第,24,页,更改数据库名称,2024年10月5日,第,25,页,扩大数据库,在,Microsoft SQL Server,系统中,如果数据库的数据量不断膨胀,可以根据需要扩大数据库的尺寸。,有,3,种扩大数据库的方式。第一种方式是设置数据库为自动增长方式,可以在创建数据库时设置;第二种方式是直接修改数据库的数据文件或日志文件的大小;第三种方式是在数据库中增加新的次要数据文件或日志文件。,2024年10月5日,第,26,页,通过增加新的数据文件来扩大数据库,2024年10月5日,第,27,页,通过扩大数据文件的大小来扩大数据库,2024年10月5日,第,28,页,收缩数据库,如果数据库的设计尺寸过大了,或者删除了数据库中的大量数据,这时数据库会白白耗费大量的磁盘资源。根据用户的实际需要,可以收缩数据库的大小。,在,Microsoft SQL Server,系统中,有,3,种收缩数据库的方式。第一种方式是设置数据库为自动收缩,可以通过设置,AUTO_SHRINK,数据库选项实现;第二种方式是收缩整个数据库的大小,可以通过使用,DBCC SHRINKDATABASE,命令完成;第三种方式是收缩指定的数据文件,可以使用,DBCC SHRIKNFILE,命令实现。除了这些命令方式之外,也可以使用,SQL Server Management Studio,工具来收缩数据库。,2024年10月5日,第,29,页,不能使用,ALTER DATABASE,语句直接收缩数据库文件,2024年10月5日,第,30,页,使用,AUTO_SHRINK,数据库选项设置,在,Microsoft SQL Server,系统中,数据库引擎会定期检查每一个数据库的空间使用情况。如果某个数据库的,AUTO_SHRINK,选项设置为,ON,,则数据库引擎将自动收缩数据库中文件的大小。如果该选项的设置为,OFF,,则不自动收缩数据库的大小。该选项的默认值是,OFF,。,在,ALTER DATABASE,语句中,设置,AUTO_SHRINK,选项的语法形式如下:,ALTER DATABASE database_name SET AUTO_SHRINK ON,2024年10月5日,第,31,页,使用,DBCC SHRINKDATABASE,命令,DBCC SHRINKDATABASE,命令是一种比自动收缩数据库更加灵活收缩数据库的方式,可以对整个数据库进行收缩。,DBCC SHRINKDATABASE,命令的基本语法形式如下:,DBCC SHRINKDATABASE (database_name, target_percent),2024年10月5日,第,32,页,使用,DBCC SHRINKDFILE,命令,DBCC SHRINKDFILE,命令可以收缩指定的数据库文件,并且可以将文件收缩至小于其初始创建的大小,重新设置当前的大小为其初始创建的大小。这是该命令与自动收缩、,DBCC SHRINKDATABASE,命令不同的地方。在执行收缩数据库操作时,,DBCC SHRINKDFILE,命令的功能最强大。,DBCC SHRINKDFILE,命令的基本语法形式如下:,DBCC SHRINKFILE (file_name, target_size),2024年10月5日,第,33,页,使用,SQL Server Management Studio,2024年10月5日,第,34,页,修改数据库文件,用户可以根据需要使用,ALTER DATABASE,语句修改数据库中指定的文件。这些修改操作包括增加数据文件、在指定的文件组中增加指定文件、增加日志文件、删除指定的文件以及修改指定的文件等。增加数据文件、修改指定的文件等操作已经讲过了,下面通过一些示例讲述有关数据库文件的其他操作。,如果要在指定的文件组中增加文件,则可以使用,TO FILEGROUP,子句。例如,如果,LGCom,数据库包含了两个数据文件,即,LGF1,和,LGF2,。现在要新增加一个,LGF3,文件并且将其放在,FG1,文件组,(,该文件组必须已经存在,),中,那么可以使用如图,4-14,所示的命令。,2024年10月5日,第,35,页,在指定的文件组中增加文件,2024年10月5日,第,36,页,管理文件组,文件组是数据库数据文件的逻辑组合,它可以对数据文件进行管理和分配,以便提高数据库文件的并发使用效率。,Transact-SQL,语言没有提供独立的管理文件组的命令,只能通过,ALTER DATABASE,语句提供管理文件组的命令。这些管理文件组的命令包括新建文件组、设置默认的文件组、设置文件组的属性、修改文件组以及删除文件组等。下面详细介绍管理文件组的操作。,2024年10月5日,第,37,页,新建文件组的同时不能设置为默认文件组,2024年10月5日,第,38,页,将文件组设置为只读状态,2024年10月5日,第,39,页,4.5,管理数据库快照,相片是被照对象在照像时刻的静态图像表示,数据库快照与此类似。数据库快照提供了源数据库在创建快照时刻的只读、静态视图,可以有效地支持报表数据汇总和数据分析等只读操作。,如果源数据库中包含了未提交事务,那么这些事务不包含在数据库快照中。需要说明的是,数据库快照必须与源数据库在同一个服务器实例上。,数据库快照是在数据页级上进行的。,2024年10月5日,第,40,页,限制,必须与源数据库在相同的服务器实例上创建数据库快照。,数据库快照捕捉开始创建快照的时刻点,不包括所有未提交的事务。,数据库快照是只读的,不能在数据库快照中执行修改操作。,不能修改数据库快照的文件。,不能创建基于,model,、,master,、,tempdb,等系统数据库的快照。,不能对数据库快照执行备份或还原操作。,不能附加或分离数据库快照。,数据库快照不支持全文索引,因此源数据库中的全文目录不能传输过来。,数据库快照继承快照创建时源数据库的安全约束。但是由于快照是只读的,源数据库中对权限的修改不能反映到快照中。,数据库快照始终反映创建该快照时的文件组状态。,2024年10月5日,第,41,页,创建数据库快照,2024年10月5日,第,42,页,4.6,其他相关操作,除了前面讲述的数据库操作之外,数据库管理操作还包括分离数据库、附加数据库和删除数据库等。,下面介绍这些操作。,2024年10月5日,第,43,页,分离数据库,分离数据库是指将数据库从,Microsoft SQL Server,实例中删除,但是该数据库的数据文件和事务日志文件依然保持不变。这样可以将该数据库附加到任何的,Microsoft SQL Server,实例中。,可以使用,sp_detach_db,存储过程来执行数据库分离操作,当然也可以使用,SQL Server Management Studio,工具来执行分离操作。例如,如果要分离,LGCom,数据库,可以执行如图,4-18,所示的命令。,2024年10月5日,第,44,页,分离数据库,2024年10月5日,第,45,页,附加分离的数据库,2024年10月5日,第,46,页,删除数据库,如果数据库不再需要了,可以使用,DROP DATABASE,语句删除该数据库。例如,如果要删除,LGCom,数据库,可以使用下面的命令:,DROP DATABASE LGCom,2024年10月5日,第,47,页,4.7,优化数据库,在创建数据库时,有两个基本目标:提高数据库的性能和提高数据库的可靠性。提高数据库的性能就是提高操纵数据库的速度。提高数据库的可靠性就是数据库中某个文件破坏之后,数据库依然可以正常使用的能力。一般地,可以通过选择如何放置数据文件和日志文件、如何使用文件组以及如何使用,RAID,等技术来优化数据库和数据库文件。,2024年10月5日,第,48,页,放置数据文件和日志文件,在创建数据库时,为了提高操纵数据的效率,应该遵循下面两个原则:,(1),尽可能地把数据文件分散在不同的物理磁盘驱动器中;,(2),把数据文件和日志文件分散在不同的物理磁盘驱动器上。这样可以最大程度地允许系统执行并行操作,从而提高系统使用数据的效率。,2024年10月5日,第,49,页,使用文件组,使用文件组的优势在于提高系统的操作性能。使用文件组的两个明显的优点是:第一,可以平衡多个磁盘上的数据访问负荷;第二,可以使用并行线程提高数据访问的效率。,另外,使用文件组还可以简化数据库的维护工作,可以备份或恢复单个的文件或文件组而不必备份或恢复整个数据库。对于海量数据库来说,备份文件或文件组是一个有效的备份策略,可以把表和索引分布到不同的文件组中。对于那些常用的表来说,这样可以提高查询语句的效率。,2024年10月5日,第,50,页,使用,RAID,技术,RAID,是,Redundant Array of Independent Disks,的缩写,中文含义是独立磁盘冗余阵列。,RAID,是一种磁盘系统,可以将多个磁盘驱动器组合成一个磁盘阵列,以提供高性能、高可靠性、大存储能力及低成本。磁盘容错阵列可以分成,6,个等级,即,RAID0,到,RAID5,。每一种等级都使用了不同的算法来提高系统的性能。,在,Microsoft SQL Server 2008,系统中,经常涉及的,RAID,技术包括,RAID0,、,RAID1,和,RAID5,。下面介绍这,3,种容错等级的特点。,2024年10月5日,第,51,页,4.8,本章小结,本章全面研究数据库管理的内容。,首先,分析了常见的数据库管理中的问题。第二,对数据库的文件和文件组的基本特征进行了介绍。第三,对数据库的定义、状态分析、属性设置、信息查看进行了研究。第四,讨论了数据库的扩大、收缩、文件组管理等操作。第五,对数据库快照的功能特点和操作进行了概述。第六,讲述了有关分离、附加数据库等操作。最后,研究了提高数据库性能和可靠性的技术。,2024年10月5日,第,52,页,【,思考和练习,】,1.,数据库管理中的主要问题是什么?,2.,数据文件和日志文件的作用分别是什么?,3.,如何规划数据库的大小?,4.,如何使用,CREATE DATABASE,语句创建数据库?,5.,数据库的状态和选项的作用是什么?如何设置这些状态和选项?,6.,为什么要扩大数据库?扩大数据库的方法是什么?比较这些方法的特点。,7.,为什么要收缩数据库?收缩数据库的方法是什么?比较这些方法的特点。,8.,如何管理文件组?,9.,为什么要引入数据库快照?如何创建数据库快照?,10.,如何理解数据库快照中稀疏文件的作用?,11.,如何执行数据库分离和附加操作?,12.,什么是,RAID,技术?讨论如何提高数据库的性能和可靠性,2024年10月5日,第,53,页,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!