《sqlserver数据库.ppt》由会员分享,可在线阅读,更多相关《sqlserver数据库.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)1Version No:1.0Version No:1.0SQLServer数据库管理 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)2Version No:1.0Vers
2、ion No:1.0数据库存储结构数据库存储结构数据库的存储结构逻辑存储结构逻辑存储结构数据库是由哪些性质的信息所组成。实际上,SQL Server的数据库是由诸如表、视图、索引等各种不同的数据库对象所组成。物理存储结构物理存储结构讨论数据库文件是如何在磁盘上存储的,数据库在磁盘上是以文件为单位存储的,由数据库文件和事务日志文件组成,一个数据库至少应该包含一个数据库文件和一个事务日志文件。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)3Version No:1.0Version No:1.0数
3、据库文件数据库文件主数据库文件一个数据库可以有一个或多个数据库文件,一个数据库文件只能属于一个数据库。当有多个数据库文件时,有一个文件被定义为主数据库文件(简称为主文件),其扩展名为mdf。主数据库文件用来存储数据库的启动信息以及部分或者全部数据,是所有数据库文件的起点,包含指向其它数据库文件的指针。一个数据库只能有一个主数据库文件。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)4Version No:1.0Version No:1.0数据库文件数据库文件辅助数据库文件一个用于存储主数据库文件
4、中未存储的剩余数据和数据库对象,一个数据库可以没有辅助数据库文件,但也可以同时拥有多个辅助数据库文件。辅助数据库文件的扩展名为ndf(简称为辅助文件)。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)5Version No:1.0Version No:1.0数据库文件数据库文件事务日志文件一个存储数据库的更新情况等事务日志信息,当数据库损坏时,管理员使用事务日志恢复数据库。每一个数据库至少必须拥有一个事务日志文件,而且允许拥有多个日志文件。事务日志文件的扩展名为ldf,日志文件的大小至少是512
5、KB。SQL Server事务日志采用提前写入的方式。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)6Version No:1.0Version No:1.01.创建数据库创建数据库1使用向导创建数据库 2使用企业管理器创建数据库 3使用Transact-SQL语言创建数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)7Version No:1.0Version No:1.0创建数据库创建数
6、据库谁可以创建数据库(即数据库所有者)?创建数据库的权限默认授予sysadmin和dbcreator固定服务器角色的成员,但可以授予其它用户。创建数据库需要包括哪些内容?数据库的名称数据库命名必须符合规范数据库的大小数据文件的存放位置文件组的设置Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)8Version No:1.0Version No:1.0使用使用T-SQL语言创建数据库语言创建数据库CREATE DATABASE SampleON PRIMARY(NAME=SampleData,FI
7、LENAME=c:Program Files.DataSample.mdf,SIZE=10MB,MAXSIZE=15MB,FILEGROWTH=20%)LOG ON (NAME=SampleLog,FILENAME=c:Program Files.DataSample.ldf,SIZE=3MB,MAXSIZE=5MB,FILEGROWTH=1MB)主数据库文件主数据库文件事务日志文件事务日志文件逻辑文件名逻辑文件名物理文件名物理文件名文件增长量文件增长量数据库的名称、大小、数据文件位置Copyright2006Copyright2006College of ITSoft(HZIEE)Colle
8、ge of ITSoft(HZIEE)9Version No:1.0Version No:1.0CREATE DATABASE database_nameON PRIMARY (NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED ,FILEGROWTH=growth_increment),nLOG ON (NAME=logical_file_name,FILENAME=os_file_name,SIZE=size,MAXSIZE=max_size|UNLIMITED ,FILEGRO
9、WTH=growth_increment),n使用使用Transact-SQL语言创建数据库语言创建数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)10Version No:1.0Version No:1.0Transact-SQL语言的命令格式说明:用 括起来的内容表示是可选的;,n表示重复前面的内容;用括起来表示在实际编写语句时,用相应的内容替代;用 括起来表示是必选的;类似A|B的格式,表示A和B只能选择一个,不能同时都选。使用使用Transact-SQL语言创建数据库语言创建数据库
10、Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)11Version No:1.0Version No:1.0database_name:数据库的名称。数据库名称在服务器中必须唯一,最长为128个字符,并且要符合标识符的命名规则。每个服务器管理的数据库最多为32767个。PRIMARY:用于指定主文件组中的文件。如果不指定PRIMARY关键字,则在命令中列出的第一个文件将被默认为主文件。SIZE:指定数据库的初始容量大小。如果没有指定主文件的大小,则SQL Server默认其与模板数据库中的主文件
11、大小一致,其它数据库文件和事务日志文件则默认为1MB。指定大小的数字size可以使用KB、MB、GB和TB后缀,默认的后缀为MB。Size中不能使用小数,其最小值为512KB,默认值为1MB。主文件的size不能小于模板数据库中的主文件。使用使用Transact-SQL语言创建数据库语言创建数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)12Version No:1.0Version No:1.0MAXSIZE:指定操作系统文件可以增长到的最大尺寸。如果没有指定,则文件可以不断增长直到充满
12、磁盘。FILEGROWTH:指定文件每次增加容量的大小,当指定数据为0时,表示文件不增长。增加量可以确定为以KB、MB作后缀的字节数或以%作后缀的被增加容量文件的百分比来表示。默认后缀为MB。如果没有指定FILEGROWTH,则默认值为10%,每次扩容的最小值为64KB。使用使用Transact-SQL语言创建数据库语言创建数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)13Version No:1.0Version No:1.0创建数据库(举例)创建数据库(举例)例1:使用CREATE
13、DATABASE创建一个student数据库,所有参数均取默认值。例2:创建一个Student1数据库,该数据库的主文件逻辑名称为Student1_data,物理文件名为Student1.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Student1_log,物理文件名为Student1.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为1MB。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)14Version No:1.0Version No:1
14、.0例3:创建一个指定多个数据文件和日志文件的数据库。该数据库名称为students,有1个10MB和1个20MB的数据文件和2个10MB的事务日志文件。数据文件逻辑名称为student1和student2,物理文件名为student1.mdf和student2.ndf。主文件是student1,由primary指定,两个数据文件的最大尺寸分别为无限大和100MB,增长速度分别为10%和1MB。事务日志文件的逻辑名为studentlog1和studentlog2,物理文件名为studentlog1.ldf和studentlog2.ldf,最大尺寸均为50MB,文件增长速度为1MB。创建数据库(
15、举例)创建数据库(举例)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)15Version No:1.0Version No:1.0创建文件组创建文件组文件组的概念文件组的概念文件组是 SQL Server 中一个或多个文件的命名集合,它构成分配或用于数据库管理的单个单元文件组的使用场合文件组的使用场合当有多个磁盘,希望把文件分布在这些磁盘上以提高性能文件组的类型文件组的类型两种文件组:主文件组和用户定义文件组主文件组包含主文件的文件组用户定义的文件组在首次创建或以后更改数据库时,用户明确创建的
16、任何文件组Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)16Version No:1.0Version No:1.0Northwind 数据库数据库默认文件组默认文件组OrderHistory组组sys.sys.sys.sys.sysuserssysusers sysobjectssysobjects .OrdersOrders CustomersCustomers ProductsProducts OrdHistYear2OrdHistYear2 OrdHistYear1OrdHistYea
17、r1 Northwind.mdfNorthwind.mdfC:D:OrdHist1.ndfOrdHist1.ndfOrdHist2.ndfOrdHist2.ndfNorthwind.IdfNorthwind.IdfE:创建文件组(续)创建文件组(续)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)17Version No:1.0Version No:1.0创建文件组(续)创建文件组(续)ALTER DATABASE NorthwindADD FILEGROUP OrderHistoryGroup
18、GOALTER DATABASE NorthwindADD FILE (NAME=OrdHistYear1,FILENAME=c:HistoryDB OrdHist1.ndf,SIZE=5MB)TO FILEGROUP OrderHistoryGroupGOCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)18Version No:1.0Version No:1.02.管理数据库管理数据库查看数据库信息管理数据库和日志文件的增长数据库的分离与附加删除数据库数据库的备份与还原Copyright200
19、6Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)19Version No:1.0Version No:1.0检索数据库信息检索数据库信息使用系统存储过程来显示数据库以及数据库参数的信息 sp_helpdb sp_helpdb 数据库名Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)20Version No:1.0Version No:1.0使用Transact-SQL语言修改数据库 只有数据库管理员或具有CREATE D
20、ATABASE权限的数据库所有者才有权执行该语句。ALTER DATABASE语句的语法格式如下:修改数据库修改数据库 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)21Version No:1.0Version No:1.0Alter database databasenameadd file,n to filegroup filegroupname|add log file,n|remove file logical_file_name|remove filegroup filegroup
21、_name|modify file|modify name=new_databasename|add filegroup filegroup_name|modify filegroup filegroup_namefilegroup_property|name=new_filegroup_name 修改数据库修改数据库 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)22Version No:1.0Version No:1.0add file,n to filegroup filegroupna
22、me:表示向指定的文件组中添加新的数据文件。add log file,n:增加新的日志文件。remove file logical_file_name:删除指定的操作系统文件。remove filegroup filegroup_name:删除指定的文件组。modify file:修改某个操作系统文件。modify name=new_databasename:重命名数据库。add filegroup filegroup_name:增加一个文件组。modify filegroup filegroup_name:修改某个指定文件组的属性。Copyright2006Copyright2006Coll
23、ege of ITSoft(HZIEE)College of ITSoft(HZIEE)23Version No:1.0Version No:1.0修改数据库(举例)修改数据库(举例)ALTER DATABASE Sample MODIFY FILE(NAME=SampleLog,SIZE=15MB)GOALTER DATABASE SampleADD FILE (NAME=SampleData2,FILENAME=c:Program Files.DataSample2.ndf,SIZE=15MB,MAXSIZE=20MB)GOCopyright2006Copyright2006College
24、 of ITSoft(HZIEE)College of ITSoft(HZIEE)24Version No:1.0Version No:1.0管理数据文件和日志文件的增长管理数据文件和日志文件的增长ALTER DATABASE Sample MODIFY FILE(NAME=SampleLog,SIZE=15MB)GOALTER DATABASE SampleADD FILE (NAME=SampleData2,FILENAME=c:Program Files.DataSample2.ndf,SIZE=15MB,MAXSIZE=20MB)GO使文件自动增长手动扩充数据库文件添加次要数据库文件C
25、opyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)25Version No:1.0Version No:1.03.管理数据库管理数据库收缩数据库或数据文件 当为数据库分配的空间过大,或者对空间的需求降低时,可以收缩整个数据库或数据库中的某个数据文件的大小。有以下 2 种收缩数据库方法:自动收缩手动收缩Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)26Version No:1.0Version No:
26、1.03.管理数据库管理数据库收缩数据库自动收缩 Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)27Version No:1.0Version No:1.03.管理数据库管理数据库手动收缩收缩数据库DBCC SHRINKDATBASE命令收缩数据文件DBCC SHRINKFILE命令DBCC SHRINKDATABASE(DBCC SHRINKDATABASE(数据库名数据库名,目标百分比目标百分比 ,NOTRUNCATE|TRUNCATEONLY)NOTRUNCATE|TRUNCATEONL
27、Y)DBCC SHRINKFILE(DBCC SHRINKFILE(文件名文件名|文件文件idid,目标大小目标大小 ,EMPTYFILE|NOTRUNCATE|TRUNCATEONLY)EMPTYFILE|NOTRUNCATE|TRUNCATEONLY)Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)28Version No:1.0Version No:1.0收缩数据库或文件(续)收缩数据库或文件(续)有一个小型的酒店管理系统,其营业数据为有一个小型的酒店管理系统,其营业数据为150MB,对其
28、中的对其中的50%的数据进行备份并删除后,要把数据库的数据进行备份并删除后,要把数据库立即缩小为初始的大小(即立即缩小为初始的大小(即100MB)。下面哪条语句)。下面哪条语句能够实现该功能?能够实现该功能?A.DBCC SHRINKFILE(JiuDianData,NOTRUNCATE)B.DBCC SHRINKDATABASE(JiuDianData,25)C.DBCC SHRINKDATABASE(JiuDianData,100)D.ALTER DATABASE JiuDianData SET AUTO_SHRINK ONCopyright2006Copyright2006College
29、 of ITSoft(HZIEE)College of ITSoft(HZIEE)29Version No:1.0Version No:1.03.管理数据库管理数据库数据库的分离与附加 当磁盘空间使用殆尽,或硬件需要升级等情况下,需要将数据库移动到其它的物理驱动器上,这时需要先将数据库分离。当硬件整理完成后,再将数据库附加到数据库服务器中,继续运行。注意事项(1)确定没人在使用此数据库;(2)确定数据库里没有未完成的任务。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)30Version No:
30、1.0Version No:1.03.管理数据库管理数据库数据库的分离与附加分离数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)31Version No:1.0Version No:1.03.管理数据库管理数据库数据库的分离与附加附加数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)32Version No:1.0Version No:1.03.管理数据库管理数据库删除数据库使用企业管理
31、器删除数据库在查询分析器中删除数据库删除数据库的T-SQL语句DROP DATABASE Demo,HongWenSoft Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)33Version No:1.0Version No:1.0删除数据库删除数据库1利用企业管理器删除数据库 2利用Drop语句删除数据库 Drop database database_name,n 说明:只有处于正常状态下的数据库,才能使用DROP语句删除。当数据库处于以下状态时不能被删除:数据库正在使用;数据库正在恢复;数据
32、库包含用于复制的已经出版的对象。DROP DATABASE Northwind,pubsCopyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)34Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原在企业管理器中备份数据库在企业管理器中还原数据库Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)35Version No:1.0Version No:1.04.数据
33、库的备份与还原数据库的备份与还原在企业管理器中备份数据库选择备份命令Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)36Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原在企业管理器中备份数据库选择备份目的Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)37Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原
34、在企业管理器中备份数据库选定备份文件Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)38Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原在企业管理器中还原数据库选择还原命令Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)39Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原在企业管理器中还原数据库输入数据
35、库名Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)40Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原在企业管理器中还原数据库选择备份文件Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)41Version No:1.0Version No:1.04.数据库的备份与还原数据库的备份与还原在企业管理器中还原数据库设置还原的数据库选项此处的路径此处的路径必须是正确必须是正确的的(存在的存在的)路路径。径。Copyright2006Copyright2006College of ITSoft(HZIEE)College of ITSoft(HZIEE)42Version No:1.0Version No:1.0回回 顾顾使用SQL Server 企业管理器和查询分析器创建数据库理解数据库配置参数及其意义管理数据库以及日志文件掌握数据库的备份和还原方法
限制150内