SQL SERVER 使用知识手册.docx
- 文档编号:30550122
- 上传时间:2023-08-16
- 格式:DOCX
- 页数:40
- 大小:1.09MB
SQL SERVER 使用知识手册.docx
《SQL SERVER 使用知识手册.docx》由会员分享,可在线阅读,更多相关《SQL SERVER 使用知识手册.docx(40页珍藏版)》请在冰豆网上搜索。
SQLSERVER使用知识手册
SQLSERVER2000使用知识手册
在网络环境下进行数据库系统的应用开发,需要选择具体的DBMS。
本章首先介绍当前流行的关系数据库系统MicrosoftSQLServer的基本知识,接着以MicrosoftSQLServer2000为背景,介绍数据库系统设计的方法和SQLServer的高级应用技术。
1SQLServer简介
MicrosoftSQLServer是高性能、客户/服务器的关系型数据库管理系统RDBMS,能够支持大吞吐量的事务处理,也能在MicrosoftWindows2000Server网络环境下管理数据的存取以及开发决策支持应用程序。
由于MicriosoftSQLServer是开放式的系统,其他系统可以与它进行完好的交互操作。
1.1SQLServer2000的特点
(1)对操作系统的要求低
SQLServer2000除了继续支持Windows2000Server外,还新增了SQLServer2000桌面版(DesktopEdition),此版本可以安装在Windows95/98/2000专业版上,用来建立数据库,这使得SQLServer2000变得非常通用,可以在任何大小的计算机上运行,包括膝上机、台式机和高档服务器。
(2)管理自动化
许多关键性的工作、数据库调整和最佳化处理等都由系统自动完成,减少了人为手工调整。
例如,系统会动态调整内存需求,自动缩减库和增加数据库所占文件的空间大小,自动更新统计数据等等。
(3)新的EnterpriseManager
它以MMC(MicrosoftManagementConsole)为基础加以设计,其界面和其他微软服务器产品一致,看上去很像Windows的资源管理器。
(4)简化了SQLServer2000数据库与Windows文件系统之间的关系,具有更好的可伸缩性
在SQLServer2000中,数据库驻留在操作系统文件上,而不再位于SQLServer的逻辑设备中,取消了以前必须先建立设备(Device),再在设备上建立数据库的观念,现在仅使用CREATEDATABASE语句即可创建数据库及其所有文件,从而简化了数据库设计和管理的工作。
SQLServer2000允许数据库自动扩展,不再需要管理员发出额外的ALTER语句命令。
(6)提供数据库挖掘功能
在SQLServer2000中加入的OLAP(On-LineAnalyticalProcessing)服务,可以帮助公司建立决策分析的应用。
1.2 SQLServer2000环境介绍
1)系统目录用途介绍
若使用默认值,安装程序会把大部分SQLServer2000系统文件存放在启动盘的MSSQL目录下,并且在此目录下将创建多个子目录,用于存放不同的目的文件,列举如下:
\BACKUP存放备份文件
\Binn存放客户端和服务器端可执行文件与DLL文件
\Data存放数据库文件,包括系统数据库、实例数据库和用户数据库
\FTDATA存放全文索引目录文件
\Install存放有关安装方面的信息文件
\JOBS存放工作文件
\LOG存放日志文件
\REPLDATA存放复制数据
\Upgrade存放升级工具及SQLServer7升级到2000时产生的文件
2)自动创建的数据库
在安装SQLServer2000时,安装程序会自动创建4个系统数据库(master、model、msdb、tempdb)和两个范例数据库(Northwind、pubs),系统数据库由系统自动维护。
(1)master数据库
其中记录了所有SQLServer2000的系统信息、登录账号、系统配置设置、系统中所有数据库及其系统信息以及存贮介质信息等。
master数据库的数据文件为master.mdf,日志文件为mastlog.ldf。
(2)model数据库
此系统数据库是SQLServer2000为用户创建数据库提供的模板数据库,每个新建的数据库都是在一个model数据库的副本上扩展而生成的,所以对model数据库的修改一定要小心。
model数据库的数据文件为model.mdf,日志文件为modellog.ldf。
(3)msbd数据库
msdb数据库主要用于SQLServer2000存储任务计划信息、事件处理信息、备份恢复信息以及异常报告等。
msdb数据库的数据文件为msdbdata.mdf,日志文件为msdblog.ldf。
(4)tempdb数据库
tempdb数据库存放所有临时表和临时的存储程序,并且供SQLServer2000存放目前使用中的表,它是一个全局的资源,临时表和存储程序可供所有用户使用。
每次SQLServer2000启动时它会自动重建并且重设为默认大小,使用中它会依需求自动增长。
(5)Northwind数据库
Northwind是SQLServe2000提供的范例数据库,它包含一个称为NorthwindTraders公司的销售数据库。
(6)pubs数据库。
pubs数据库也是SQLServer2000提供的范例数据库,它包含一个书籍出版公司的数据库范例。
3)SQLServe2000提供的主要服务
(1)MSSQLServer:
运行SQLServer的服务。
它管理着存储数据库的所有文件,处理所有客户应用传送来的T-SQL命令,执行其他服务器上的存储过程,并支持从多个不同数据源获取数据的分布式查询。
(2)SQLServerAgent:
管理SQLServer周期性行为的安排,并在发生错误时通知系统管理员。
它包括作业(Jobs)、警告(Alerts)和操作员(Operator)三部分。
(3)MicrosoftServerService:
一个全文本索引和搜索引擎。
它可以在所选表列上创建有关词汇的特殊索引,T-SQL语言可以利用这些索引来支持语言搜索和近似搜索。
(4)MSDTC(MicrosoftDistributedTransactionCoordinator):
管理包含不同数据源的事务。
它可以正确提交分布式事务,以确保所有服务器上的修改都被保存或回退。
其中,SQLServe、SQLServerAgent和MSDTC可作为WindowsNT/2000服务来运行,MicrosoftServerService服务只能运行在WindowNT/2000Server上。
1.3 SQLServer2000的工具介绍
1)服务管理器(ServiceManager)
SQLServer的服务管理器用来启动、停止和暂停SQLServer过程。
必须在进行任何数据库操作前启动SQLServer。
服务管理器可以从SQLServer的程序组中进行启动。
如图1所示。
图1 SQLServer的启动
启动后的SQLServer服务管理器对话框如图2所示。
对服务(MSSQLServer、SQLServerAgent和MSDTC)的选择可用服务(Services)列表。
双击绿、黄、红交通灯,就可以达到启动开始/继续(Start/Continue)、暂停(Pause)和停止(Stop)的目的。
图2 SQLServer服务管理器
2)企业管理器(EnterpriseManager)
企业管理器(EnterpriseManager)是用户管理SQLServer2000的主要工具和图形界面,用户可以在这个全图形界面的环境下建立数据库、表、数据、视图、存储过程、规则、默认值和用户自定义的数据类型等功能。
EnterpriseManager主界面如图3所示。
图3SQLServer的企业管理器
3)查询分析器(QueryAnalyzer)
查询分析器(QueryAnalyzer)提供的图形界面可用来分析一个或多个查询执行计划,查看数据结果并且依查询的方式提出最佳化的索引建立方式,以便改进查询效率。
例如,查询pubs库中表jobs的内容,步骤如下:
在Windows开始菜单中执行“程序|MicrosoftSQLServer|查询分析器”命令,进入查询分析器对话框,如图4所示,在查询分析器窗口的数据库复选框中选择pubs库;在命令窗口中输入SQL语句:
SELECT*FROMJOBS后,点击ExecuteQuery按钮,查询结果便显示在输出窗口中。
图4 SQLServer查询分析器
4)其他工具
(1)事件探查器可以即时监督、捕捉、分析SQLServer2000的活动,对查询、存储过程、锁定、事务和日志的变化进行监视,以及在另一个服务器上重现所捕获的数据。
如图5所示。
(2)客户端网络实用工具(ClientNetworkUtility)可以用来配置客户端到服务器的连接。
(3)服务器网络实用工具(ServerNetworkUtility)是SQLServer2000服务器端的网络配置界面。
(4)导入和导出数据(ImportandExportData)提供了导入、导出以及在SQLServer2000和OLEDB、ODBC及文件间转换数据的功能。
(5)联机丛书(BookOnline)提供了联机文档,包括有关操作维护的说明。
(6)OLAPServices提供了在线分析处理功能(需要另外安装OLAP管理工具)。
图5 创建跟踪的多选项卡对话框
2数据库的创建、修改和删除
2.1 创建SQLServer数据库
通常可以采用以下3种方法来创建数据库。
1)用企业管理器来创建数据库
用企业管理器新建数据库的主要步骤如下:
(1)在Windows开始菜单中执行“程序|MicrosoftSQLServer|企业管理器”命令,进入SQLServerEnterpriseManager界面。
在SQLServerEnterpriseManager展开SQLServer组,再展开数据库项,右击数据库,在弹出的快捷菜单中选择“新建数据库…”命令,如图6所示。
图6 创建新的数据库
(2)此时,弹出“数据库属性”对话框,在“常规”选择卡中,输入数据库的名称“studb”,对所建的数据库进行设置,如图7所示。
图7 数据库属性对话框
(3)如果想改变新的数据文件,单击“数据文件”选择卡,如图8所示。
如果要改变在文件名、位置、初始大小(MB)和文件组中提供的缺省值,单击适当的小格子,并键入新值。
(4)可以从上面所示的选项中选择、指定数据库文件的增长方式和速率。
(5)同样可以指定数据库文件的大小限制。
(6)同理可以修改事务日志文件,单击“事务日志”选择卡。
如果要改变在文件名、位置、初始大小(MB)和文件组中提供的缺省值,单击适当的小格子,并键入新值。
图8 “数据文件”选择卡
2)利用SQL查询分析器来创建数据库
在SQL查询分析器命令窗口中输入创建数据库的SQL语句后,点击“执行查询”按钮,就可以在输出窗口中直接看到语句的执行结果,如图9所示。
图9SQL查询分析器创建数据库
3)利用“向导”来创建数据库
利用“向导”创建数据库的主要步骤如下:
(1)在SQLServerEnterpriseManager中展开SQLServer组,在菜单上选择“工具|向导”,如图10所示。
(2)单击“数据库”,再双击“创建数据库向导”,如图11所示。
(3)按照图上的向导,一步步的选择下去,即可创建数据库。
图10 选择“向导”创建数据库
图11 选择创建数据库向导
2.2 修改数据库
在SQLServerEnterpriseManager中,展开SQLServer组,再展开数据库项,右击studb数据库,在弹出的快捷菜单中选择“属性”命令,此时出现“studb属性”数据库属性对话框,在该对话框中可以查看数据库的各项设置参数。
在这个对话框的前四个选项卡中,可对建库时所作的设置进行修改,在“选项”选择卡(如图12所示)中还可对其他参数进行修改。
图12 数据库属性对话框
2.3 删除数据库
在SQLServerEnterpriseManager中,展开SQLServer组,再展开数据库项,选择要删除的数据库名,右击鼠标选择“删除”命令,并在弹出的确认对话框中选择“是”即可。
3 表和主键的创建
3.1 表的创建
利用企业管理器创建新表的步骤如下:
(1)在SQLServerEnterpriseManager中展开SQLServer组,再展开数据库项,选择要建表的数据库studb,在“表”选项上右击鼠标,执行“新建表…”命令,如图13所示。
(2)在进入的设计表的字段的窗口界面,如图14所示。
在各列中填写相应字段的列名、数据类型和长度后,在工具条上按保存按钮,在“选择表名称”对话框中输入新的数据表名称。
图13 选择“新建表”创建新表
图14新建表结构
3.2 主键的创建
在创建的表时可以创建该表的主键,方法如下:
(1)在图14的新建数据表结构中,选择要设为主键的列SNO。
(2)在要建的主键列中单击右键,会弹出如图15所示的快捷菜单,选择“设置主键”,就出现如图16所示的设置主键后的界面。
图15 设置主键
图16 设置主键后的界面
我们也可采用在SQL查询分析器中通过运行SQL语句来创建表。
3.3 用SQL查询分析器的命令方式来创建表
可以用SQL语句在查询分析器的命令方式下来创建数据表。
进入SQL查询分析器窗口,连接数据库后(在数据库组合框中选择studb),在“SQL查询分析器”界面命令窗口中输入创建课程表C和成绩表SC的SQL语句后,点击“执行查询”按钮,就可以在输出窗口中直接看到语句的执行结果,如图17所示。
图17 用SQL查询分析器的命令方式来创建表
4 数据的插入、修改、删除和查询
在SQLServerEnterpriseManager中,对表进行数据的插入、删除、修改操作非常方便。
4.1 数据的插入
(1)在SQLServerEnterpriseManager中,展开SQLServer组,再展开数据库项,展开要插入数据的表(如S)所在的数据库(如studb),在选定的表上单击右键,在弹出的快捷菜单中选择“打开表|返回所有行”命令,然后出现数据输入界面,在此界面上可以输入相应的数据,如图18所示,点击“运行”按钮或关闭此窗口,数据都被自动保存。
图18数据输入界面
(2)用SQL语句插入数据的方法是:
在图18所示界面中点击“SQL窗格”按钮,出现图19所示界面,在此界面的窗口中输入相应的SQL语句后,点击“运行”按钮,在出现的对话框中选择“确定”按钮,即可完成数据的插入。
图19执行SQL语句插入数据
(3)在SQL查询分析器中用SQL语句插入数据的方法:
进入SQL查询分析器,连接数据库后,(在数据库组合框中选择studb),在SQL查询分析器中的命令窗口中输入SQL语句,再执行该语句,也可实现数据的插入。
例如向C表和SC表插入数据如图20所示。
图20 利用SQL查询分析器向数据表中插入数据
4.2 数据的修改
在SQLServerEnterpriseManager中修改数据,如同插入数据一样进入数据输入界面,在此界面中对数据进行修改后,点击“运行”按钮或关闭此窗口,数据都被自动保存。
也可点击“SQL窗格”按钮,输入相应的修改数据的SQL语句后,点击“运行”按钮,修改后的数据被自动保存。
也可进入SQL查询分析器,启动SQL语句的输入环境,在SQL查询分析器中的命令窗口中输入SQL的修改语句,再执行该语句,也可实现数据的修改。
4.3 数据的删除
用上面同样的方法,打开要删除数据的表后,点击“SQL窗格”按钮,输入相应的删除数据的SQL语句后,点击“运行”按钮,删除数据的表被自动保存。
同样进入SQL查询分析器,启动SQL语句的输入环境,在SQL查询分析器中的命令窗口中输入SQL的删除语句,再执行该语句,也可实现对数据的删除。
4.4 数据的查询
进入SQL查询分析器窗口,连接数据库后(在数据库组合框中选择studb),在SQL查询分析器中的命令窗口中输入SQL语句后,点击“执行查询”按钮,就可以在输出窗口中直接看到语句的执行结果,如图21所示。
图21 SQL查询结果
5 数据库的备份和恢复
5.1 数据库的备份
(1)在SQLServerEnterpriseManager中,展开SQLServer组,再展开数据库项,选定要备份的数据库(studb),在选定的数据库上单击右键,在弹出的快捷菜单中选择“所有任务|备份数据库...”命令,如图22所示。
弹出一个“备份数据库”对话框,如图23所示。
图22 数据库备份菜单选择
图23备份数据库对话框
(2)在图23的“备份数据库”对话框中,从“数据库”选择框中选择需要备份的数据库,在“名称”和“描述”中分别输入该设备备份的名称和简单描述。
然后可以在“目的”中选择备份的设备。
单击“添加”按钮,弹出一个“选择备份目的”对话框,如图24所示。
图24 选择备份目的对话框
(3)从图24的“选择备份目的”对话框中点击文件名后的“…”按钮,弹出一个“备份设备位置”对话框,如图25所示。
在“备份设备”文件夹中选择作为备份目标的设备,在“文件名”中输入备份的文件名(studb_back),单击“确定”后,返回图24所示的选择备份目的对话框,再单击“确定”后,则返回图23所示的备份数据库对话框,这时在“目的”选择区域的框中就有了刚才选择的设备。
如果选择不正确,还可以通过“删除”按钮删除选择的备份设备。
此外,对本对话框的“调度”参数进行设定,可以选择周期性地或者以后某个时刻进行备份,设定好各个选项后,单击“确定”就可以进行备份了。
图25 备份设备位置对话框
5.2 数据库的恢复
(1)在SQLServerEnterpriseManager中,展开SQLServer组,再展开数据库项,在数据库项上单击右键,在弹出的菜单中选择“所有任务|还原数据库…”命令,弹出一个“还原数据库”对话框。
在对话框中的“还原为数据库”输入框中输入需要恢复的数据库的名称,然后在“还原”选项中选择“从设备”,如图26所示。
再从图26的“还原数据库”对话框中,单击“选择设备”按钮,弹出一个“选择还原设备”对话框,从中再单击“添加”按钮,在弹出的“选择备份目的”对话框(图24)中点击文件名后的“…”按钮,再从弹出的“备份设备位置”对话框(图25)中的“备份设备”文件夹中选择作为备份目标的设备,在“文件名”中输入备份的文件名(studb_back),单击“确定”后,返回图24所示的选择备份目的对话框,再单击“确定”后,则返回到“选择还原设备”对话框,如图27所示。
这时在“还原自”选择区域的框中就有了需要还原的备份设备,单击“确定”返回“还原数据库”对话框,如图28所示。
(2)选择“选项”选择卡,点击“在现有数据库上强制还原”复选框,如图29所示。
单击确定按钮,即可进行数据库的恢复。
图26 还原数据库对话框
图27 选择还原设备对话框
图28 选择好设备的还原数据库对话框
图29 还原数据库“选项”选择卡对话框
6 高级应用技术
6.1 存储过程
存储过程是存储在服务器上的预先编译好的SQL语句,可以在服务器上的SQLServer环境下运行。
由于SQLServer管理系统中的数据库,因此最好在用户系统上运行存储过程来处理数据。
存储过程可以返回值、修改值,将系统欲请求的信息与用户提供的值进行比较。
它能识别数据库,而且可以利用SQLServer优化器在运行时获得最佳性能。
1)存储过程概述
用户可向存储过程传递值,存储过程也可返回内部表中的值,这些值在存储过程运行期间进行计算。
广义上讲,使用存储过程有如下好处:
(1)性能
因为存储过程是在服务器上运行的,服务器通常是一种功能更强的机器,它的执行时间要比在工作站中的执行时间短。
另外,由于数据库信息己经物理地在同一系统中准备好,因此就不必等待记录通过网络传递进行处理。
存储过程具有对数据库即时的访问,这使得信息处理极为迅速。
(2)客户/服务器开发好处
将客户端和服务器端的开发任务分离,可减少完成项目需要的时间。
用户可独立开发服务器端组件而不涉及客户端,但可在客户方应用程序间重复使用服务器端组件。
(3)安全性
如同视图,可使用存储过程作为一种工具来加强安全性。
可以创建存储过程来完成所有增加、删除和查询操作,并可通过编程方式控制上述操作中对信息的访问。
(4)面向数据规则的服务器端措施
这是使用智能数据库引擎的最重要原因之一,存储过程可利用规则和其他逻辑控制输入系统的信息。
在创建用户系统时要切记客户用服务器模型。
数据管理工作由服务器负责,因为报表和查询所需的数据表述和显示的操作在理想模型中应驻留在客户方。
从而优化了用户处理应用程序的过程。
虽然SQLServer被定义为非过程化语言,但SQLServer允许使用流程控制关键字。
用户可以使用流程控制关键字创建一个过程,以便保存供后续执行。
用户可使用这些存储过程对SQLServer数据库和其表进行数据处理,而不必使用传统的编程语言,如C或者C#编写程序。
2)如何建立存储过程
(1)用户可以使用CREATEPROCEDURE语句创建一个存储过程。
在默认的情况下,执行所创建的存储过程的许可权归数据库的拥有者。
数据库的拥有者可以改变赋给其他用户运行存储过程的许可。
定义存储过程的语法格式如下:
CREATEPROCEDUREprocedure_name[:
number]
[{@parameterdata_type}[VARYING][=default][OUTPUT]][,…n]
[WITH{RECOMPILE│ENCRYPTION│RECOMPILE,ENCRYPTION}]
[FORREPLICATION]
AS Sql_statement[,…n]
上述语句中的procedure_name(存储过程名)和Sql_statement(包含在存储过程中的任何合法的SQL语句)两个参数必须传递给CREATEPROCEDURE语句。
可选项@parameterdata_type表示存储过程中定义的局部变量parameter,类型为data_type。
关键字OUTPUT表示允许用户将数据直接返回到在其他处理过程中要用到的变量中。
返回值是当存储过程执行完成时参数的当前值。
为了保存这个返回,在调用该过程时SQL调用脚本必须使用OUTPUT关键字。
[WITH{RECOMPILE│ENCRYPTION│RECOMPILE,ENCRYPTION}][FORREPLICATION]允许用户选择任何存储过程和执行过程。
(2)用SQLServerEnterpriseManager来创建存储过程
在Windows开始菜单中执行“程序|MicrosoftSQLServer|企业管理器”命令,进入SQLServerEnterpriseManager界面。
在SQLServerEnterpriseManager中展开SQLServer组,再展开数据库项,选择要创建存储过程的数据库(如s
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL SERVER 使用知识手册 使用 知识 手册
![提示](https://static.bdocx.com/images/bang_tan.gif)