SQL-Server-2012数据库开发教程第5章.ppt

上传人:可**** 文档编号:75843959 上传时间:2023-03-05 格式:PPT 页数:56 大小:883.50KB
返回 下载 相关 举报
SQL-Server-2012数据库开发教程第5章.ppt_第1页
第1页 / 共56页
SQL-Server-2012数据库开发教程第5章.ppt_第2页
第2页 / 共56页
点击查看更多>>
资源描述

《SQL-Server-2012数据库开发教程第5章.ppt》由会员分享,可在线阅读,更多相关《SQL-Server-2012数据库开发教程第5章.ppt(56页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、SQL Server 2012SQL Server 2012数据库开发教程数据库开发教程数据库开发教程数据库开发教程(第(第(第(第33版)版)版)版)授课教师:授课教师:职务:职务:第第5章章 数据库管理数据库管理课程描述课程描述课程描述课程描述对于使用对于使用对于使用对于使用SQL ServerSQL ServerSQL ServerSQL Server的用的用的用的用户来说,创建数据库是最户来说,创建数据库是最户来说,创建数据库是最户来说,创建数据库是最基本的操作。在创建数据基本的操作。在创建数据基本的操作。在创建数据基本的操作。在创建数据库之前,需要首先了解数库之前,需要首先了解数库之

2、前,需要首先了解数库之前,需要首先了解数据库的存储结构。本章主据库的存储结构。本章主据库的存储结构。本章主据库的存储结构。本章主要介绍数据库的存储结构要介绍数据库的存储结构要介绍数据库的存储结构要介绍数据库的存储结构及数据库的创建和管理。及数据库的创建和管理。及数据库的创建和管理。及数据库的创建和管理。本章知识点本章知识点p5.1 5.1 数据库的存储结构数据库的存储结构p5.2 5.2 创建数据库创建数据库p5.3 5.3 修改数据库修改数据库p5.4 5.4 删除数据库删除数据库p5.5 5.5 分离数据库和附加数据库分离数据库和附加数据库p5.6 5.6 收缩数据库收缩数据库p5.7 5

3、.7 移动数据库移动数据库5.1 数据库的存储结构数据库的存储结构p5.1.1 5.1.1 数据库文件数据库文件p5.1.2 5.1.2 数据库文件组数据库文件组5.1.1 数据库文件数据库文件1 1主数据库文件主数据库文件(Primary Database file)(Primary Database file)p每个数据库有且仅有一个主数据库文件,主数据库文件用来存储每个数据库有且仅有一个主数据库文件,主数据库文件用来存储数据库的启动信息和部分或全部数据。一个数据库可以有一个到数据库的启动信息和部分或全部数据。一个数据库可以有一个到多个数据库文件,其中只有一个文件为主数据库文件。主数据库多

4、个数据库文件,其中只有一个文件为主数据库文件。主数据库文件的文件扩展名为文件的文件扩展名为mdfmdf。2 2次数据库文件次数据库文件(Secondary Database File)(Secondary Database File)次数据库文件用于存储主数据库文件中未存储的剩余数据和数据库对次数据库文件用于存储主数据库文件中未存储的剩余数据和数据库对象。一个数据库可以没有次数据库文件,也可以有多个次数据库象。一个数据库可以没有次数据库文件,也可以有多个次数据库文件。次数据库文件的文件扩展名为文件。次数据库文件的文件扩展名为ndfndf。3 3事务日志文件事务日志文件(Transcation

5、Log File)(Transcation Log File)p事务日志文件用于存储数据库的更新情况等事务日志信息。例如,事务日志文件用于存储数据库的更新情况等事务日志信息。例如,使用使用INSERTINSERT、UPDATEUPDATE、DELETEDELETE等语句对数据库进行更改的操作都等语句对数据库进行更改的操作都会记录在事务日志文件中,当数据库损坏时,可以使用事务日志会记录在事务日志文件中,当数据库损坏时,可以使用事务日志文件恢复数据库。一个数据库可以有一个到多个事务日志文件。文件恢复数据库。一个数据库可以有一个到多个事务日志文件。事务日志文件的扩展名为事务日志文件的扩展名为ldfl

6、df。数据库的逻辑文件名和物理文件名数据库的逻辑文件名和物理文件名逻辑文件名物理文件名My_Dbfile1e:sql_datadata_file1.mdfMy_Dbfile2e:sql_datadata_file2.ndfMy_Dbfile3e:sql_datadata_file3.ndfMy_Logfile1e:sql_loglog_file1.ldfMy_Logfile2e:sql_loglog_file2.ldf5.1.2 数据库文件组数据库文件组p为了便于分配和管理,为了便于分配和管理,SQL ServerSQL Server允许将多个文件归纳允许将多个文件归纳为同一组,并赋予此组一个

7、名称,这就是文件组。为同一组,并赋予此组一个名称,这就是文件组。p文件组分为主文件组文件组分为主文件组(Primary File Group)(Primary File Group)和次文件组和次文件组(Secondary File Group)(Secondary File Group)。p所有数据库都至少包含一个主文件组,主文件组中包含所有数据库都至少包含一个主文件组,主文件组中包含了所有的系统表,当建立数据库时,主文件组包括主数了所有的系统表,当建立数据库时,主文件组包括主数据库文件和未指定组的其他文件。据库文件和未指定组的其他文件。p数据库还可以包含用户定义的文件组,也称次文件组。数据

8、库还可以包含用户定义的文件组,也称次文件组。次文件组是在次文件组是在CREATE DATABASECREATE DATABASE或或ALTER DATABASEALTER DATABASE语句语句中,使用中,使用FILEGROUPFILEGROUP关键字指定的文件组关键字指定的文件组文件组与文件的关系文件组与文件的关系5.2 创建数据库创建数据库5.2.1 使用使用SQL Server Management Studio的的图形界面工具创建数据库图形界面工具创建数据库5.2.2 使用使用CREATE DATABASE语句创建数据库语句创建数据库 5.2.1 使用使用SQL Server Man

9、agement Studio的图形界面工具创建数据库的图形界面工具创建数据库p打开打开SQL Server Management StudioSQL Server Management Studio,可以按照下面的方法来创建数据库。,可以按照下面的方法来创建数据库。p(1 1)在对象资源管理器中展开服务器实例,右击)在对象资源管理器中展开服务器实例,右击“数据库数据库”,在弹出菜,在弹出菜单中单击单中单击“新建数据库新建数据库”,打开,打开“新建数据库新建数据库”窗口,如图窗口,如图5-25-2所示。所示。更改自动增长设置更改自动增长设置”对话框对话框p可以打开可以打开“更改自动增长设更改自动

10、增长设置置”对话框,如图对话框,如图5-35-3所示。所示。p可以按下列选项指定数据文可以按下列选项指定数据文件的大小自动增长方式:件的大小自动增长方式:p 按兆字节:指定数据文件按兆字节:指定数据文件增长所基于的兆字节数。增长所基于的兆字节数。p 按百分比:指定希望数据按百分比:指定希望数据文件自动增长所基于的百分文件自动增长所基于的百分比。比。p 不限制文件增长:指定数不限制文件增长:指定数据文件增长不受限制。据文件增长不受限制。p 限制文件增长(限制文件增长(MBMB):指):指定数据文件可以增长到的大定数据文件可以增长到的大小(小(MBMB)。)。5.2.2 使用使用CREATE DA

11、TABASE语句创语句创建数据库建数据库pTransact-SQLTransact-SQL语言使用语言使用CREATE DATABASECREATE DATABASE语句来创建语句来创建数据库。数据库。CREATE DATABASECREATE DATABASE语句的简单语法格式如下:语句的简单语法格式如下:CREATE DATABASE CREATE DATABASE 数据库名称数据库名称 ON ON ,.n ,.n ,.n ,.n LOG ON LOG ON ,.n ,.n 【例【例5-1】p设已经在设已经在e e盘建立了两个文件夹:盘建立了两个文件夹:e:sql_datae:sql_da

12、ta和和e:sql_loge:sql_log,分别用来存放数据,分别用来存放数据库文件和事务日志文件,使用库文件和事务日志文件,使用CREATE DATABASECREATE DATABASE语句创建一个语句创建一个companycompany数据库。数据库。p代码如下:代码如下:CREATE DATABASE company CREATE DATABASE company -创建创建companycompany数据库数据库ON PRIMARY ON PRIMARY -定义在主文件组上的文件定义在主文件组上的文件(NAME=company_data,(NAME=company_data,-主数

13、据文件逻辑名称主数据文件逻辑名称FILENAME=e:sql_datacompany.mdf,FILENAME=e:sql_datacompany.mdf,-主数据文件物理名称主数据文件物理名称SIZE=10,SIZE=10,-初始大小为初始大小为10MB10MBMAXSIZE=unlimited,MAXSIZE=unlimited,-最大限制为无限大最大限制为无限大FILEGROWTH=10%)FILEGROWTH=10%)-增长速度为增长速度为10%10%LOG ONLOG ON-定义事务日志文件定义事务日志文件(NAME=company_log,(NAME=company_log,-事务

14、日志文件逻辑名称事务日志文件逻辑名称FILENAME=e:sql_logcompany.ldf,FILENAME=e:sql_logcompany.ldf,-事务日志文件物理名称事务日志文件物理名称SIZE=1,SIZE=1,-初始大小为初始大小为1MB1MBMAXSIZE=500,MAXSIZE=500,-最大限制为最大限制为500MB500MBFILEGROWTH=1)FILEGROWTH=1)-增长速度为增长速度为1MB1MB【例【例5-2】p创建一个雇员信息数据库创建一个雇员信息数据库employeesemployees,包含两个数据文件和两个事务日志文件。,包含两个数据文件和两个事务

15、日志文件。p代码如下:代码如下:CREATE DATABASE employees CREATE DATABASE employees -数据库名称数据库名称ON PRIMARY ON PRIMARY -定义在主文件组上的文件定义在主文件组上的文件(NAME=employee1,(NAME=employee1,-主数据文件逻辑名称主数据文件逻辑名称FILENAME=e:sql_dataemployee1.mdf,FILENAME=e:sql_dataemployee1.mdf,-主数据文件物理名称主数据文件物理名称SIZE=10,SIZE=10,-主数据文件初始大小为主数据文件初始大小为10M

16、B10MBMAXSIZE=unlimited,MAXSIZE=unlimited,-最大限制为无限大最大限制为无限大FILEGROWTH=10%),FILEGROWTH=10%),-增长速度为增长速度为10%10%(NAME=employee2,(NAME=employee2,-次数据文件逻辑名称次数据文件逻辑名称FILENAME=e:sql_dataemployee2.ndf,FILENAME=e:sql_dataemployee2.ndf,-次数据文件物理名称次数据文件物理名称SIZE=20,SIZE=20,-次数据文件初始大小为次数据文件初始大小为20MB20MBMAXSIZE=100,

17、MAXSIZE=100,-次数据文件最大限制为次数据文件最大限制为100MB100MBFILEGROWTH=1)FILEGROWTH=1)-次数据文件增长速度为次数据文件增长速度为1MB1MBLOG ON LOG ON -定义事务日志文件定义事务日志文件(NAME=employeelog1,(NAME=employeelog1,-事务日志文件逻辑名文件事务日志文件逻辑名文件FILENAME=e:sql_logemployeelog1.ldf,FILENAME=e:sql_logemployeelog1.ldf,-事务日志文件物理名称事务日志文件物理名称SIZE=10,SIZE=10,-初始大小

18、为初始大小为10MB10MBMAXSIZE=50,MAXSIZE=50,-最大限制为最大限制为50MB50MBFILEGROWTH=1),FILEGROWTH=1),-增长速度为增长速度为1MB1MB(NAME=employeelog2,(NAME=employeelog2,-事务日志逻辑文件名事务日志逻辑文件名FILENAME=e:sql_logemployeelog2.ldf,FILENAME=e:sql_logemployeelog2.ldf,-事务日志文件物理名称事务日志文件物理名称SIZE=10,SIZE=10,-初始大小为初始大小为10MB10MBMAXSIZE=50,MAXSIZ

19、E=50,-最大限制为最大限制为50MB50MBFILEGROWTH=1)FILEGROWTH=1)-增长速度为增长速度为1MB1MB【例【例5-3】p创建创建testtest数据库,包含一个主文件组和两个次文件组。数据库,包含一个主文件组和两个次文件组。CREATE DATABASE testCREATE DATABASE testON PRIMARY ON PRIMARY -定义在主文件组上的文件定义在主文件组上的文件(NAME=pri_file1,(NAME=pri_file1,FILENAME=e:sql_datapri_file1.mdf,FILENAME=e:sql_datapri

20、_file1.mdf,SIZE=10,MAXSIZE=50,FILEGROWTH=15%),SIZE=10,MAXSIZE=50,FILEGROWTH=15%),(NAME=pri_file2,(NAME=pri_file2,FILENAME=e:sql_datapri_file2.ndf,FILENAME=e:sql_datapri_file2.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=15%),SIZE=10,MAXSIZE=50,FILEGROWTH=15%),FILEGROUP Grp1 FILEGROUP Grp1 -定义在次文件组定义在次文件组Grp1Gr

21、p1上的文件上的文件(NAME=Grp1_file1,(NAME=Grp1_file1,FILENAME=e:sql_data Grp1_file1.ndf,FILENAME=e:sql_data Grp1_file1.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5),SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=Grp1_file2,(NAME=Grp1_file2,FILENAME=e:sql_data Grp1_file2.ndf,FILENAME=e:sql_data Grp1_file2.ndf,SIZE=10,MAXSIZE=

22、50,FILEGROWTH=5),SIZE=10,MAXSIZE=50,FILEGROWTH=5),FILEGROUP Grp2 FILEGROUP Grp2 -定义在次文件组定义在次文件组Grp2Grp2上的文件上的文件(NAME=Grp2_file1,(NAME=Grp2_file1,FILENAME=e:sql_data Grp2_file1.ndf,FILENAME=e:sql_data Grp2_file1.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5),SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=Grp2_file2,(N

23、AME=Grp2_file2,FILENAME=e:sql_data Grp2_file2.ndf,FILENAME=e:sql_data Grp2_file2.ndf,SIZE=10,MAXSIZE=50,FILEGROWTH=5)SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOG ON LOG ON -定义事务日志文件定义事务日志文件(NAME=test_log,(NAME=test_log,FILENAME=e:sql_logtest_log.ldf,FILENAME=e:sql_logtest_log.ldf,SIZE=5,MAXSIZE=25,FILEGROWTH

24、=5)SIZE=5,MAXSIZE=25,FILEGROWTH=5)创建数据库需要注意以下几点。创建数据库需要注意以下几点。p每个数据库都有一个所有者,可以在该数据库中执行某每个数据库都有一个所有者,可以在该数据库中执行某些特殊的活动,数据库被创建之后,创建数据库的用户些特殊的活动,数据库被创建之后,创建数据库的用户自动成为该数据库的所有者。默认情况下,只有系统管自动成为该数据库的所有者。默认情况下,只有系统管理员和数据库所有者可以创建数据库,也可以授权其他理员和数据库所有者可以创建数据库,也可以授权其他用户创建数据库。用户创建数据库。p在每个在每个SQL ServerSQL Server实例

25、下,最多只能创建实例下,最多只能创建3276732767个数个数据库。据库。p所创建的数据库名称必须符合标识符的命名规则。所创建的数据库名称必须符合标识符的命名规则。p要让日志文件能够发挥作用,通常将数据文件和日志文要让日志文件能够发挥作用,通常将数据文件和日志文件存储在不同的物理磁盘上。件存储在不同的物理磁盘上。5.3 修改数据库修改数据库p5.3.1 5.3.1 使用数据库属性对话框修改数据库使用数据库属性对话框修改数据库p5.3.2 5.3.2 使用使用ALTER DATABASEALTER DATABASE语句修改数据库语句修改数据库5.3.1 使用数据库属性对话框修改数据库使用数据库

26、属性对话框修改数据库p在在SQL Server Management StudioSQL Server Management Studio中,展开数据库文件夹,用鼠标右中,展开数据库文件夹,用鼠标右击所要修改的数据库名称,从弹出的快捷菜单中选择击所要修改的数据库名称,从弹出的快捷菜单中选择“属性属性”命令,命令,打开数据库属性对话框。以例打开数据库属性对话框。以例5-35-3创建的创建的testtest数据库为例,打开的数据数据库为例,打开的数据库属性对话框如图库属性对话框如图5-45-4所示。在该对话框选择不同的页可以查看或修改所示。在该对话框选择不同的页可以查看或修改数据库文件及其他属性。

27、数据库文件及其他属性。“文件文件”页页p“文件文件”页的显示内容类似于图页的显示内容类似于图5-55-5,可以用,可以用创建数据库时的方法修改数据库文件的属性或创建数据库时的方法修改数据库文件的属性或创建新的数据库文件。创建新的数据库文件。“文件组文件组”页页p在在“文件组文件组”页中,可以查看或删除文件组。页中,可以查看或删除文件组。但如果文件组中有文件,则不能被删除,必须先但如果文件组中有文件,则不能被删除,必须先将文件移出文件组后再删除。将文件移出文件组后再删除。“文件组文件组”页如图页如图5-65-6所示。所示。4“选项选项”页页5“权限权限”页页p在在“权限权限”页中,可以设置用户对

28、该数页中,可以设置用户对该数据库的使用权限,关于权限的设置将在据库的使用权限,关于权限的设置将在第第1111章介绍。章介绍。5.3.2 使用使用ALTER DATABASE语句修改数据语句修改数据库库ALTER DATABASEALTER DATABASE数据库名称数据库名称 ADD FILE ADD FILE ,.n ,.n TO FILEGROUP TO FILEGROUP 文件组名称文件组名称|ADD LOG FILE|ADD LOG FILE ,.n ,.n|REMOVE FILE|REMOVE FILE 逻辑文件名逻辑文件名|ADD FILEGROUP|ADD FILEGROUP文件

29、组名称文件组名称|REMOVE FILEGROUP|REMOVE FILEGROUP文件组名称文件组名称|MODIFY FILE|MODIFY FILE|MODIFY NAME=|MODIFY NAME=新数据库名新数据库名|MODIFY FILEGROUP|MODIFY FILEGROUP 文件组名称文件组名称 文件组属性文件组属性|NAME=NAME=新文件组名称新文件组名称 :=:=(NAME=(NAME=逻辑文件名逻辑文件名 ,NEWNAME=,NEWNAME=新逻辑文件名新逻辑文件名 ,FILENAME=,FILENAME=物理文件名物理文件名 ,SIZE=,SIZE=大小大小 ,M

30、AXSIZE=,MAXSIZE=最大限制最大限制|UNLIMITED|UNLIMITED ,FILEGROWTH=,FILEGROWTH=增长量增长量 )。【例【例5-4】添加一个包含两个数据文件的文件组和一个事务日志文件到添加一个包含两个数据文件的文件组和一个事务日志文件到employeesemployees数据库中。数据库中。ALTER DATABASE employees ALTER DATABASE employees -修改数据库修改数据库employeesemployeesADD FILEGROUP data1 ADD FILEGROUP data1 -添加文件组添加文件组data

31、1data1ALTER DATABASE employees ALTER DATABASE employees -修改数据库修改数据库employeesemployeesADD FILE ADD FILE -添加数据文件添加数据文件(NAME=employee3,(NAME=employee3,-逻辑文件名逻辑文件名 FILENAME=e:sql_dataemployee3.ndf,FILENAME=e:sql_dataemployee3.ndf,-物理文件名物理文件名 SIZE=1,SIZE=1,-定义文件大小定义文件大小 MAXSIZE=50,MAXSIZE=50,-定义文件最大限制定义文

32、件最大限制 FILEGROWTH=1),FILEGROWTH=1),-定义文件增长量定义文件增长量(NAME=employee4,(NAME=employee4,FILENAME=e:sql_dataemployee4.ndf,FILENAME=e:sql_dataemployee4.ndf,SIZE=2,SIZE=2,MAXSIZE=50,MAXSIZE=50,FILEGROWTH=10%)FILEGROWTH=10%)TO FILEGROUP data1 TO FILEGROUP data1 -将以上两个文件添加到将以上两个文件添加到data1data1文件组文件组ALTER DATABA

33、SE employeesALTER DATABASE employeesADD LOG FILE ADD LOG FILE -添加日志文件添加日志文件(NAME=employeelog3,(NAME=employeelog3,FILENAME=e:sql_logemployeelog3.ldf,FILENAME=e:sql_logemployeelog3.ldf,SIZE=1,SIZE=1,MAXSIZE=50,MAXSIZE=50,FILEGROWTH=1)FILEGROWTH=1)【例【例5-5】p删除例删除例5-45-4中添加到数据库中添加到数据库employeesemployees中的

34、一个数据文中的一个数据文件件employee4employee4。ALTER DATABASE employeesALTER DATABASE employeesREMOVE FILE employee4REMOVE FILE employee4【例【例5-6】p给添加到数据库给添加到数据库employeesemployees中的文件中的文件employee3employee3大小设置为大小设置为5MB5MB。ALTER DATABASE employeesALTER DATABASE employeesMODIFY FILEMODIFY FILE(NAME=employee3,(NAME=e

35、mployee3,SIZE=5MB)SIZE=5MB)【例【例5-7】p将数据库文件名将数据库文件名employeesemployees修改成修改成MyEmployeesMyEmployees。ALTER DATABASE employeesALTER DATABASE employeesMODIFY NAME=MyEmployeesMODIFY NAME=MyEmployeesp也可以通过执行系统存储过程也可以通过执行系统存储过程sp_renamedbsp_renamedb修改数据库文件名,代修改数据库文件名,代码为:码为:EXEC sp_renamedb EXEC sp_renamedb

36、employees,MyEmployeesemployees,MyEmployees5.4 删除数据库删除数据库p对于不再使用的数据库,可以删除它们对于不再使用的数据库,可以删除它们以释放所占用的磁盘空间。可以使用图以释放所占用的磁盘空间。可以使用图形界面工具删除数据库,也可以使用形界面工具删除数据库,也可以使用DROP DATABASEDROP DATABASE语句删除数据库。语句删除数据库。提示提示p如果数据库当前正在使用,则无法删除如果数据库当前正在使用,则无法删除该数据库。该数据库。5.4.1 使用图形界面工具删除数据库使用图形界面工具删除数据库p在在SQL Server SQL Se

37、rver Management Management StudioStudio中,右击中,右击要删除的数据库,要删除的数据库,在弹出菜单中选在弹出菜单中选择择“删除删除”命令,命令,打开打开“删除对象删除对象”窗口,如图窗口,如图5-85-8所示。单击所示。单击“确确定定”按钮即可删按钮即可删除选择的数据库。除选择的数据库。5.4.2 使用使用DROP DATABASE语句删除语句删除数据库数据库pDROP DATABASEDROP DATABASE语句的语法如下:语句的语法如下:DROP DATABASE DROP DATABASE 数据库名称数据库名称,n,np【例【例5-85-8】删除创

38、建的数据库】删除创建的数据库companycompany。DROP DATABASE companyDROP DATABASE companyp显示结果为:显示结果为:正在删除数据库文件正在删除数据库文件 e:sql_logcompany.ldfe:sql_logcompany.ldf。正在删除数据库文件正在删除数据库文件 e:sql_datacompany.mdfe:sql_datacompany.mdf。5.5 分离数据库和附加数据库分离数据库和附加数据库p5.5.1 5.5.1 分离数据库分离数据库p5.5.2 5.5.2 附加数据库附加数据库5.5.1 分离数据库分离数据库p分离数据库

39、指将数据库从分离数据库指将数据库从SQL ServerSQL Server实例实例中删除,但保留数据库的数据文件和日志中删除,但保留数据库的数据文件和日志文件。可以在需要的时间将这些文件附加文件。可以在需要的时间将这些文件附加到到SQL ServerSQL Server数据库中。如果不需要对数数据库中。如果不需要对数据库进行管理,又希望保留其数据,则可据库进行管理,又希望保留其数据,则可以对其执行分离操作。这样,在以对其执行分离操作。这样,在SQL SQL Server Management StudioServer Management Studio中就看不到该中就看不到该数据库了。如果需要

40、对已经分离的数据库数据库了。如果需要对已经分离的数据库进行管理,则参照进行管理,则参照5.5.25.5.2小节中介绍的方小节中介绍的方法将其附加到数据库即可。法将其附加到数据库即可。1使用图形界面工具分离数据库使用图形界面工具分离数据库p在在SQL Server Management SQL Server Management StudioStudio的对象资源管理器中,的对象资源管理器中,右击要分离的数据库,在弹出右击要分离的数据库,在弹出菜单中选择菜单中选择“任务任务”“”“分离分离”,打开,打开“分离数据库分离数据库”窗口,窗口,如图如图5-95-9所示。所示。p在窗口中显示了要分离的数

41、据在窗口中显示了要分离的数据库名称,请确认是否是要分离库名称,请确认是否是要分离的数据库。默认情况下,分离的数据库。默认情况下,分离操作将在分离数据库时保留过操作将在分离数据库时保留过期的优化统计信息;若要更新期的优化统计信息;若要更新现有的优化统计信息,请选中现有的优化统计信息,请选中“更新统计信息更新统计信息”复选框。配复选框。配置完成后,单击置完成后,单击“确定确定”按钮。按钮。执行分离操作后,数据库名称执行分离操作后,数据库名称从对象资源管理器中消失。但从对象资源管理器中消失。但是,数据库的数据文件和日志是,数据库的数据文件和日志文件仍然存在。文件仍然存在。2使用存储过程使用存储过程s

42、p_detach_db分离数据库分离数据库p存储过程存储过程sp_detach_dbsp_detach_db的语法结构如下:的语法结构如下:sp_detach_db dbname=dbname sp_detach_db dbname=dbname ,skipchecks=skipchecks ,skipchecks=skipchecks ,KeepFulltextIndexFile=,KeepFulltextIndexFile=KeepFulltextIndexFile KeepFulltextIndexFile 参数说明参数说明 dbname=dbname dbname=dbname指定要分

43、离的数据库的名称。指定要分离的数据库的名称。skipchecks=skipchecks skipchecks=skipchecks指定跳过还是运行指定跳过还是运行UPDATE UPDATE STATISTICSTATISTIC。skipchecks skipchecks 的数据类型为的数据类型为nvarchar(10)nvarchar(10),默认值为,默认值为 NULLNULL。要跳过。要跳过UPDATE STATISTICSUPDATE STATISTICS,请指定,请指定truetrue。要显式运行。要显式运行UPDATE STATISTICSUPDATE STATISTICS,请指定,

44、请指定falsefalse。默认情况下,执行。默认情况下,执行 UPDATE UPDATE STATISTICS STATISTICS 以更新有关以更新有关SQL ServerSQL Server数据库引擎中的表数据和索引数据库引擎中的表数据和索引数据的信息。对于要移动到只读媒体的数据库,执行数据的信息。对于要移动到只读媒体的数据库,执行UPDATE UPDATE STATISTICSSTATISTICS非常有用。非常有用。KeepFulltextIndexFile=KeepFulltextIndexFile KeepFulltextIndexFile=KeepFulltextIndexFil

45、e指定指定在数据库分离操作过程中是否删除与正在被分离的数据库关联的在数据库分离操作过程中是否删除与正在被分离的数据库关联的全文索引文件。全文索引文件。KeepFulltextIndexFile KeepFulltextIndexFile 的数据类型为的数据类型为nvarchar(10)nvarchar(10),默认值为,默认值为truetrue。如果。如果KeepFulltextIndexFile KeepFulltextIndexFile 为为NULLNULL或或falsefalse,则会删除与数据库关联的所有全文索引文件以及全,则会删除与数据库关联的所有全文索引文件以及全文索引的元数据。文

46、索引的元数据。【例【例5-9】p要分离数据库要分离数据库HrSystemHrSystem,可以使用如下语句:,可以使用如下语句:Exec sp_detach_db HrSystemExec sp_detach_db HrSystemp在分离数据库时,需要拥有对数据库的独占访问权限。在分离数据库时,需要拥有对数据库的独占访问权限。如果要分离的数据库正在使用中,则必须将其设置为如果要分离的数据库正在使用中,则必须将其设置为SINGLE_USERSINGLE_USER模式,才能进行分离操作。可以使用下面模式,才能进行分离操作。可以使用下面的语句对数据库设置独占访问权限。的语句对数据库设置独占访问权限

47、。USE masterUSE masterALTER DATABASE HrSystemALTER DATABASE HrSystemSET SINGLE_USERSET SINGLE_USERGOGO5.5.2 附加数据库附加数据库p1 1使用图形界面工具附加数据库使用图形界面工具附加数据库p2 2使用使用CREATE DATABASECREATE DATABASE语句附加数据库语句附加数据库1使用图形界面工具附加数据库使用图形界面工具附加数据库p在在SQL Server Management StudioSQL Server Management Studio的对象资源管理器中,右键单的对

48、象资源管理器中,右键单击击“数据库数据库”项,在弹出菜单中选择项,在弹出菜单中选择“附加附加”,打开,打开“附加数据附加数据库库”窗口,如图窗口,如图5-105-10所示。所示。p单击单击“添加添加”按钮,打开按钮,打开“定位数据库文件定位数据库文件”对话框,如图对话框,如图5-115-11所示。所示。附加数据库的信息附加数据库的信息p选择分离数据库的数据选择分离数据库的数据文件,例如文件,例如HrSystem.mdfHrSystem.mdf,然后单,然后单击击“确定确定”按钮。返回按钮。返回“附加数据库附加数据库”窗口,窗口,此时要附加的数据库信此时要附加的数据库信息已经出现在表格中,息已经

49、出现在表格中,如图如图5-125-12所示。所示。2使用使用CREATE DATABASE语句附加语句附加数据库数据库CREATE DATABASE CREATE DATABASE 数据库名数据库名 ON ON ,.n ,.n FOR ATTACH|ATTACH_REBUILD_LOG FOR ATTACH|ATTACH_REBUILD_LOG;:=:=(NAME=NAME=逻辑文件名逻辑文件名,FILENAME=FILENAME=操作系统文件名操作系统文件名 ,SIZE=,SIZE=文件大小文件大小 KB|KB|MBMB|GB|TB|GB|TB ,MAXSIZE=,MAXSIZE=文件最大大

50、小文件最大大小 KB|KB|MBMB|GB|TB|UNLIMITED|GB|TB|UNLIMITED ,FILEGROWTH=,FILEGROWTH=文件递增大小文件递增大小 KB|KB|MBMB|GB|TB|%|GB|TB|%),.n),.n GOGO参数说明参数说明 ON ON关键字指定显式定义用来存储数据库数据部分的磁盘文件关键字指定显式定义用来存储数据库数据部分的磁盘文件(数据文件)。(数据文件)。FOR ATTACH FOR ATTACH关键字指定通过附加一组现有的操作系统文件来创关键字指定通过附加一组现有的操作系统文件来创建数据库。建数据库。FOR ATTACH_REBUILD_L

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作计划

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com