第二章:数据库和文件管理概述•数据库规划•创建数据库•使用基于策略的管理第1课:规划数据库•什么是文件的类型?•数据是如何存放?•事务日志的工作方式•文件放置的注意事项•什么是文件组?•文件组的注意事项•什么是分区?•容量规划的注意事项什么是文件的类型?FileTypeExtensionDescriptionPrimaryFiles.mdf主要数据文件包含数据库的启动信息和指针到其他文件SecondaryFiles.ndf辅助文件可以被用来传播通过把不同的磁盘驱动器在多个磁盘上每个文件的用户数据Transactionlogs.ldf日志文件包含所有的用于恢复数据库的信息数据是如何存放?Logfile:.ldfExtent:8个连续8KB的页面Page:8KBDatafile:.mdfor.ndf事务日志的工作方式缓冲区高速缓存数据页读入,高速缓存然后进行修改2修改记录在磁盘上的事务日志3检查点确认更新到数据库4数据修改发送的申请1文件放置的注意事项FileTypeConsiderationPrimaryandsecondaryfiles•如果您有经常一起使用的表,你应该放在单独的文件组和它们的物理驱动器tempdb•放置在一个快速磁盘驱动器子系统tempdb的数据库,以确保良好的性能TransactionLogs•建立在物理上独立的磁盘或磁盘阵列的事务日志磁盘和文件放置规划最重要的考虑是磁盘的数量提供给特定的驱动器和驱动器的速度有关AdventureWorksDatabase...Sales.SalesOrderSales.Customer什么是文件组?PrimaryFilegroupOrderHistoryGroupE:\C:\D:\AdventureWorks_Log.ldfAdventureWorks_Data.mdfOrdHist2.ndfOrdHist1.ndfsys...sys.filegroupssys.objectssys.indexesProduction.ProductOrd.HistYear2Ord.HistYear1文件组的注意事项文件不能被移动到不同的文件组一个文件只能属于一个文件组文件组可以包含唯一的数据文件建立在不同的本地物理磁盘上的文件组在相同的连接查询中的表放在不同的文件组放在不同的文件组大量访问的表创建数据库时后,创建一个或多个文件添加到数据库什么是分区?分区计划分区存储方案File1File2File3OrdersJanuaryFebruaryMarch容量规划的注意事项估计数据库的最大大小•一个数据库的增长预测•最大规模的模型数据库•最大规模的界限•最大规模的修改记录•tempdb的最大尺寸演示:使用文件和文件组在这个演示中,你将看到如何:•添加到数据库文件组•文件组设置为只读•检查的文件组状态第2课:创建数据库•创建数据库的注意事项•创建数据库•重要的数据库选项•数据库文件大小调整•收缩数据库•什么是架构?•创建架构创建数据库的注意事项•数据库大小的注意事项初始大小的数据文件日志文件的初始大小数据存储的增长潜力modeldatabasePrimarySecondaryLog创建数据库CREATEDATABASEdatabase_name[ON[PRIMARY][filespec[,n]][FILEGROUPfilegroup_name[DEFAULT]filespec[,n]][,n]][LOGON[filespec[,n]][COLLATEcollation_name]]使用Transact-SQL来创建数据库•database_name•ON•PRIMARY•LOGON•FILEGROUPfilegroup_name•COLLATE重要的数据库选项重要的数据库选项OptionDescriptionAUTO_CLOSE数据库被关闭时,最后一个用户退出AUTO_SHRINK当设置为ON时,数据库文件是定期收缩READ_ONLY当指定为READ_ONLY,用户可以检索数据,但不能修改数据RECOVERYSIMPLE数据库和事务日志备份用于提供全面的可恢复介质故障下面是一些重要的数据库选项:数据库文件大小调整•数据库根据增长参数扩展•手动分配额外的空间扩大数据库•使用MAXSIZE参数来指定最大大小•事务日志文件可以被截断•如果数据库没有可用的空间,引发错误1105收缩数据库•数据库文件中的每个可以减少•数据和事务日志文件可以缩小•文件始终从末尾开始收缩什么是架构?数据库对象的命名空间PersonContact(Server1.AdventureWorks2008.Person.Contact)SalesCustomer(Server1.AdventureWorks2008.Sales.Customer)AdventureWorks2008dboErrorLog(Server1.AdventureWorks2008.dbo.ErrorLog)创建架构CREATESCHEMAschema_name|AUTHORIZATIONowner_name[table_definition|view_definition|grant_statement|revoke_statement|deny_statement]用T-SQL创建架构的语法?使用SQLServerManagementStudio创建架构演示:创建一个数据库和架构在这个演示中,你将看到如何:•创建一个新的数据库•创建一个新的架构•添加一个架构•检查数据库表状态第3课:使用基于策略的管理•配置服务器•引入基于策略的管理•组件的基于策略的管理•实现基于策略的管理配置服务器•配置服务器存储的SQLServer实例的列表•把列表中的SQLServer实例组成一个服务器组•使用策略管理服务器组中的每一个SQLServer实例策略管理,有助于:基于策略的管理•规模轻松•多个服务器•帮助实施跨企业的一贯政策•符合期望的意图•提供了系统配置的逻辑视图•定义数据服务的配置•监视性能•管理多台服务器的操作•优化数据库服务的执行基于策略的管理:基于策略的管理基于策略的管理允许你定义什么可以或不能在服务器上完成•目标•基于策略的管理公司的数据库实体•策略•一个条件和预期的行为•条件•一个布尔表达式,指定一个允许的状态集•方面•一个集模型的属性或特征的行为实现基于策略的管理这个过程包括以下步骤:选择一个管理方面,它包含的属性定义一个条件,指定管理方面定义一个策略,包含目标设定的过滤器检查SQLServer是否符合策略通过SQL管理工作室创建和管理策略1234示范:执行策略在这个演示中,你将看到如何:•自定义新的策略•检查策略现状实验:数据库和文件管理•练习1:创建一个数据库•练习2:监测和管理文件组的使用情况•练习3:创建策略LogoninformationVirtualmachineNYC-SQL-01UsernameStudentPasswordPa$$w0rdEstimatedtime:60minutes