资源简介 (共28张PPT)数据库的管理数据存储方式创建数据库管理数据库性能优化容量规划管理数据库1数据存储方式Extent(8contiguous8-KBpages)Page(8KB)Tables,IndexesDataDatabaseData(file).mdfor.ndfLog(file).ldfMaximumrowsize=8060bytes管理数据库管理数据库从7.0起,去掉了设备,使用操作系统文件.MDF/.NDF:数据库数据文件,一个主文件,多个辅助文件.LDF:数据库日志文件,一个或多个每个文件都有操作系统文件名和逻辑文件名(用在T-SQL中)基本概念复制model数据库页:数据库存储在若干称为页的以8KB为单位的连续磁盘空间块中,1M存储128个页面行不能跨页,即单个行最大数据量为8060字节,32字节存储其他信息一个扩展是8个相邻的页面,扩展和页面一次读入内存事务日志:保存所有当系统出错时需要恢复数据库所需的信息(只保存I、D、U,不记录select语句)管理数据库事务是一组SQL语句的集合,作为一个原子单元执行,要么全部执行,要么全不执行隐性事务:将隐性事务日志模式设为打开显性事务:begintransation/end..事务原理为了维护数据库的一致性,并且便于进行数据库恢复,SQLSERVER将事务记录在事务日志中。先写日志原则。事务Datamodificationissentbyapplication1DiskModificationisrecordedintransactionlogondisk3Datapagesarelocatedin,orreadinto,buffercacheandmodified2BufferCacheDiskCheckpointwritescommittedtransactionstodatabase4日志工作原理管理数据库2创建数据库创建过程中的事件指定选项修改选项查看数据库属性方法:企业管理器、T_SQL管理数据库创建过程中的事件创建数据库文件和事务日志文件要求创建者具有master数据库的权限允许用户定义:数据库的名字数据库的属性数据库文件的位置管理数据库指定选项主文件:主文件组从文件:主文件组或自定义文件组事务日志文件:数据库文件空间的10%-15%文件名和位置文件尺寸:最小512KB,主文件不能小于model数据库主文件大小文件增长方式:默认为自动增长,按值增长和按比例增长最大尺寸:无限和限制Collation:可指定。默认为SQLSERVER实例的排序规则管理数据库创建数据库例CREATEDATABASESampleONPRIMARY(NAME=SampleData,FILENAME='c:\ProgramFiles\..\..\Data\Sample.mdf',SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)LOGON(NAME=SampleLog,FILENAME='c:\ProgramFiles\..\..\Data\Sample.ldf',SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB)COLLATESQL_Latin1_General_Cp1_CI_AS管理数据库修改选项管理数据库文件增长方式文件大小恢复方式:simplefullbulk_loggedTornpagedetection:破损页检测Auto:close,shrink,statisticsUsequotedidentifiers:双引号用于标识符,如表名和字段名Level:指定兼容级别,数字与版本对应(80对应2000)查看数据库属性使用企业管理器使用查询分析器系统函数系统存储过程(sp_helpdborsp_spaceused)DBCC语句(DBCCSQLPERF(LOGSPACE))管理数据库3管理数据库管理数据文件和日志文件的增长自动收缩数据库或数据库文件手工收缩数据库或数据库文件删除数据库管理数据库3.1管理数据文件和日志的增长使用企业管理器或ALTERDATABASE语句:使用ALTER语句时用户必须位于master数据库中使用自动文件增长属性指定各个文件所分配的空间、最大尺寸、增长量通过分配充足的资源,设置最大尺寸和增长量来优化系统性能手工扩充数据文件和事务日志文件的尺寸确定是否自动或手工扩充文件尺寸创建辅助数据文件和事务日志文件管理数据库3.2自动收缩数据库或文件自动执行收缩功能在SQLSERVER企业管理器中指定(DB的)autoshrink选项执行ALTERDATABASE_AUTO_SHRINK语句执行sp_dboptions系统存储过程自动收缩过程中SQLSERVER的活动当超过25%的文件包含未使用的空间时,将收缩数据文件和日志文件收缩活动在后台进行,不影响数据库内的用户管理数据库3.3手工收缩数据库或文件手工收缩的方法:企业管理器DBCCSHRINKDATABASE/DBCCSHRINKFILE收缩数据库和数据库文件不能小于初始尺寸和model尺寸收缩事务日志文件如果事务日志超过预期尺寸,收缩非活动部分如果事务日志不能减小到预期尺寸,返回错误消息,通知用户采取行动配置收缩数据库选项管理数据库3.4删除数据库DROPDATABASENorthwind,pubs方法企业管理器DROPDATABASE语句限制正在恢复中的数据库有用户连接的数据库其中的表作为复制的一部分正在发布的数据库系统数据库增长示例:ALTERDATABASESampleMODIFYFILE(NAME='SampleLog',SIZE=15MB)GO--扩大尺寸ALTERDATABASESampleADDFILE(NAME=SampleData2,FILENAME='c:\ProgramFiles\..\..\Data\Sample2.ndf',SIZE=15MB,MAXSIZE=20MB)GO—增加文件缩小示例:ShrinkinganEntireDatabaseShrinkingaDataFileintheDatabaseShrinkingaDatabaseAutomaticallySetautoshrinkdatabaseoptiontotrueDBCCSHRINKDATABASE(Sample,25)DBCCSHRINKFILE(Sample_Data,10)4性能优化读写分开Raid/filegroupTable和index分离日志分离不同数据库的日志在不同的硬盘上管理数据库4.1RAIDredundantarrayofindependentdiskslevel0through6,常用0,1,5利用RAID提高容错性,不能代替备份策略4.2文件组类型Primary:系统表User_defined:在创建数据库时指定注意事项按比例填充;循环扩展文件只能属于一个文件组文件或文件组只能属于一个数据库,一个数据库可有多个文件组文件组可跨越多个磁盘日志文件不属于任何文件组文件组不提供容错功能管理数据库利用文件组提高性能管理数据库通过将数据负载平衡到多个磁盘中,并且利用并发线程来提高数据访问速度。如果文件组由分布在不同物理磁盘中的多个文件组成,对表的查询是并发的。如果并发线程太多,也可能影响性能。文件组提高查询性能和可维护性,不能提高容错性利用文件组和RAID提高性能管理数据库DiskControllerFilegroupDiskControllerFileEFileFFileGFileHFileAFileBFileCFileDTransactionLogTransactionLogDiskControllerOperatingSystemDiskController5容量规划估计数据库的大小估计表的大小管理数据库5.1估计数据库的大小Model数据库和系统表的尺寸表的数据量索引的数目和尺寸事务日志的尺寸:10%-25%管理数据库5.1估计表的大小估计总行数计算每行长度汇总各列的字节数单行不能超过页面大小计算每页的行数用8060除以行的字节数计算页面数用总行数除以每页的行数管理数据库6总结创建与管理数据库理解数据库文件结构理解数据库属性数据库性能优化管理数据库7练习使用向导创建数据库使用企业管理器创建数据库修改数据库属性数据库的管理 展开更多...... 收起↑ 资源预览