目录
一、SQL Server概述
1、SQL Server 环境需求
2、SQL Server的特点和组成
(1)SQL Server 特点
(2)SQL Server 基本组成
3、SQL Server 安装需注意
(1)数据文件的存储位置
(2)实例名
(3) 确定启动服务的帐户
(4) 选择安全机制
(5) 选择排序规则
(6) 选择合适网络库
4、SQL Server Management Studio介绍
(1)启动SQL Server Management Studio
(2)Management Studio组件介绍
5、分离和附加数据库文件
(1)分离数据库并复制文件
(2)附加数据库到系统
二、 网络协议配置
1、SQL Server通信结构
(1)SQL Server通信方式
(2)客户端和服务器通信实现过程
2 、配置服务器端网络协议
3、配置客户端网络协议
三、添加新的注册服务器
1、 新建注册服务器
2、 连接到数据库服务器
四、链接服务器建立及其使用
1、链接服务器简介
2、创建链接服务器
3、创建链接服务器登录标志
4、访问链接服务器
5、访问链接服务器的实例
Microsoft 近年SQL Server不断更新版本
但随着SQL Server不断升级换代,对计算机环境要求也在逐步提高。当你安装某一版本SQL Server时,请参考该版本对计算机环境的具体需求。
① 图形化管理:它的管理系统使用图形化管理工具。SQL Server 2005以前称作企业管理器,以后是使用对象资源管理器实现。
② 丰富的编程接口:提供了DB-Library for C、Transact-SQL、嵌入式SQL开发工具、ODBC规范、OLE DB 规范等开发工具。
③ 多线程系统:可以支持多用户并发访问时。
④ 良好的并发控制:系统自动利用动态锁定功能防止用户在进行查询、修改、删除等并发操作时发生的相互冲突。
⑤ 与操作系统的良好接口:SQL Server各种版本与相适应的的Windows操作系统有着良好的接口,并充分利用其中所提供的服务。
⑥ 更加强大的数据引擎:SQL Server具有增强的数据引擎,高级的管理方式,后期版本支持XML、HTTP,并与Web相结合,使其功能更加强大。
⑦ 简单的管理方式:SQL Server能和Windows有机集成,可以充分利用操作系统提供的服务功能。
⑧ 支持XML,支持OLE DB和多种查询,支持分布式的分区视图。
⑨ SQL Server2008增加了简单数据加密、外键管理、集成服务等。
⑩SQL Server2012又增加了列存储索引、序列、AlwaysOn、命令行界面、大数据支持对新的功能。
① 服务器端组件、客户端组件和通信组件
企业管理器; 查询分析器;实用工具和向导
SQL Server服务:执行SQL语句并返回结果;
SQL Server代理:自动执行DBA事先安排好的作业、监视事件、触发警报;
MS DTC (分布式事务协调器):操作分布在多个服务器上的数据库;
MS Search:全文检索和查询服务。
进程通信组件;网络库组件。
②实例组、实例、数据库和基本表
SQL Server 2000的安装过程与其它Microsoft Windows系列产品类似。
用户可根据向导提示,选择需要的选项一步一步地完成。
注意:安装完成后再纠正仓促安装所造成的错误是比较困难的。 所以,在安装前应对系统进行规划。
在安装过程中,安装程序要求你输入磁盘驱动器和安装SQL Server系统数据库的路径。数据文件的默认位置是SQL Server的根目录\program\Files\Microsoft SQL Server\MSSQL和子目录DATA,可以根据需要修改默认目录。 SQL Server运行时所需要的临时数据库tempdb,要允许该文件在不超过数据库配置长度的前提下自动扩充。当SQL Server被关闭并重新启动时,该文件自动缩小到其初始长度,正是由于这个原因,最好要选择一个具有足够空间的驱动器或带区来适应该数据库的增长。
实例是SQL Server 的工作单元。每个实例都由系统数据库和用户数据库组成,拥有独立的管理和运行环境。客户端应用程序通过指定实例的名称访问数据库服务器。 SQL Server支持在同一台主计算机安装多个实例。 实例有系统默认实例和用户的命名实例。
如果在安装之后,才发现排序规则选择不当,要重新选择排序规则,将不得不重新构建数据库,并重新加载数据。当数据庞大时,这种工作是非常繁重的。 一般情况下,安装程序会根据操作系统的类型自动选择正确的选项,不需用户过多参与。 如果用户的应用程序代码依赖于早期版本SQL Server的排序规则,则必须使用排序规则。
网络库也称通信协议。
常用的有:
① 命名管道:它的运行模式是内存的一部分被某个进程用来向另一个进程传递信息。
② 共享内存:最简单协议,没有可配置的设置。仅用于客户端和服务器在同一台计算机上的SQL Server实例。
③ TCP/IP协议:这是默认实例的协议网络库,它与互联网络中硬件结构和操作系统各异的计算机进行通信。是目前在商业中最常用的协议。
以SQL Server 2012为例,其他版本基本相同。
①在“开始”菜单上,依次指向“所有程序”、“Microsoft SQL Server 2012”,再单击SQL Server Management Studio。
② 在“连接到服务器”对话框中,验证默认设置,再单击“连接”,出现SQL Server 2012主界面,
- 菜单条:对菜单条的实际操作中使用并不多。
- 工具条:鼠标指针移到图标上,系统就会给出图标所代表的功能。
- 树形结构:树形结构是经常要使用的工具。
默认情况下,Management Studio中将显示3个组件窗口。
①已注册的服务器窗口 :已注册的服务器窗口列出的是经常管理的服务器,用户可以在此列表中添加和删除服务器。
②对象资源管理器窗口: 对象资源管理器窗口是服务器中所有数据库对象的树视图。
③文档组件窗口 文档窗口:是Management Studio中最大的部分,它可能包含查询编辑器和浏览器窗口。
方法一:使用对象资源管理器。
方法二:使用系统存储过程。
① 运行sp_detach_db
② 复制数据库文件和日志文件。
方法一:使用对象资源管理器。
方法二:使用系统存储过程。
运行 sp_attach_db [ @dbname = ] '数据库名' , [ @filename1 = ] '包括路径的数据库文件的物理名称' [ ,...16 ]。
要实现多个服务器的使用,进行分布式查询,或者通过本地计算机管理别的远程主机上的服务器,再或者要在远程计算机上实现针对本地服务器的管理工作,就必须实现同一个网络上两个SQL Server服务器之间的相互通信。所以需要服务器和客户端网络库的正确配置。
当客户端和服务器在同一台计算机上时,客户端应用程序和服务器使用本地命名管道进行通信;当客户端和服务器运行在不同的计算机上时,二者则使用网络进程进行通信。
网络进程由以下两部分组成。
客户端网络库将数据流包封装进网络包,并调用进程通信API向服务器传递客户请求。
在传递过程中,如果是本地进程通信,则使用共享内存或本地命名管道;如果是网络进程通信,则客户端网络协议栈通过网络连接与服务器端网络协议栈进行通信。服务器端网络库从客户端传来的网络包中解出数据流包送给SQL Server数据库,处理用户的请求。操作完成后,SQL Server将结果集打包到数据流包中,并利用服务器网络库将数据流包封装进网络包,返回给客户端应用程序。
①.使用SQL Server配置管理器启用要使用的协议
②.为数据库引擎分配TCP/IP端口号
③.查看用户使用何种协议进行操作
Select net_transport
From sys.dm_exec_connections
Where session_id=@@spid
用户可以根据需要管理客户端网络协议,如启用或者禁用、设置协议的优先级等,以提供更加可靠的性能。 用户可以根据需要启用或禁用某一客户端协议,如TCP/IP协议
注册连接的服务器,可以在SQL Server Management Studio工具中保存服务器的连接信息,因此可以方便注册服务器以便管理。
除了通过先注册,再连接到数据库服务器的方式之外,用户还可以直接通过“连接到服务器”对话框来连接到数据库服务器。
链接服务器泛指OLE DB 提供的程序和OLE DB数据源。
链接服务器具有以下优点。
(1)远程服务器访问。
(2)对整个企业内的异类数据源执行分布式查询、更新等事务。
(3)能够以相似的方式确定不同的数据源。
使用的系统存储过程是sp_addlinkedserver。
语法格式:
sp_addlinkedserver [@server = ] 'server'
[,[@srvproduct = ] 'product_name']
[,[ @provider = ] 'provider_name' ]
[,[@datasrc = ] 'data_source']
[,[@location = ] 'location']
[,[@provstr = ] 'provider_string']
[,[@catalog = ] 'catalog']
系统存储过程是sp_addlinkedsrvlogin。
语法格式:
sp_addlinkedsrvlogin
[ @rmtsrvname = ] 'rmtsrvname'
[ , [ @useself = ] 'useself' ]
[ , [ @locallogin = ] 'locallogin' ]
[ , [ @rmtuser = ] 'rmtuser' ]
[ , [ @rmtpassword = ] 'rmtpassword' ]
在T-SQL语句中,指定数据库对象可以使用两种对象名:完全限定名和部分限定名。
完全限定名是访问对象的全名,它包含4部分:服务器名、数据库名、所有者名和对象名。
其格式如下: ServerName.DataBaseName.OwnerUserName.TableName
【例】创建链接服务器访问SQL Server数据库。 创建一个名为LinkSQLSrvr的链接服务器,以便对运行于网络名称为zufe-mxh的服务器上的SQL Server实例进行操作。
程序如下:
--创建链接服务器
sp_addlinkedserver
@server = 'LinkSqlSrvr',
@srvproduct = '',
@provider ='SqlOLEDB',
@datasrc = 'zufe-mxh' --必须是真正存在的服务器名称或IP地址
将本地登录sa的访问权限映射到名为LinkedSQLSrvr的链接服务器上的SQL Server授权登录meng(名字可以任意起)。
程序如下:
sp_addlinkedsrvlogin 'LinkSqlSrvr', false, 'sa', 'meng', NULL
GO
在链接服务器中访问SQL Server数据库的表时,必须使用完全限定名LinkedServerName. DataBaseName.OwnerUserName.TableName进行引用。
下面是对SQL Server数据库master的sysobjects表的查询。
SELECT * FROM
LinkSqlSrvr.master.dbo.sysobjects
GO