此处将为大家介绍关于SQLServer2008网络协议深入理解的详细内容,并且为您解答有关sqlserver2008网络配置的相关问题,此外,我们还将为您介绍关于SQLServer2005使用的网络协
此处将为大家介绍关于SQL Server 2008网络协议深入理解的详细内容,并且为您解答有关sql server 2008网络配置的相关问题,此外,我们还将为您介绍关于SQL Server 2005使用的网络协议、SQL Server 2008 Internal #003 SQL Server 引擎的协议层 关系引、SQL Server2005与SQLServer2008并存时, 怎样连接到2008、sql-server – SQL Server 2008 R2 – 备份2005 dbs并迁移到2008新机器的最佳计划是什么?的有用信息。
本文目录一览:- SQL Server 2008网络协议深入理解(sql server 2008网络配置)
- SQL Server 2005使用的网络协议
- SQL Server 2008 Internal #003 SQL Server 引擎的协议层 关系引
- SQL Server2005与SQLServer2008并存时, 怎样连接到2008
- sql-server – SQL Server 2008 R2 – 备份2005 dbs并迁移到2008新机器的最佳计划是什么?
SQL Server 2008网络协议深入理解(sql server 2008网络配置)
sql Server 2008支持四种协议,Shared Memory;TCP/IP;Named Pipes和Virtual Interface Adapter(VIA)。代开sql Server配置管理器之后,会显示一个配置sql Server服务,sql Server网络协议和sql Native Client协议的节点。可以通过展开sql Server 2008网络配置节点进行服务器协议的配置。 Shared Memory:Shared Meory协议只能由本地连接使用,因为它是一个用于服务器内部通信的由进程共享内存的空间。在sql Server上本地运行的应用程序或任务可以利用Shared Memroy协议
Named Pipes:Named Pipes协议使用进程间通信信信道进行高效的服务器内部通信和局域网通信,但由于通过网络或防火墙连接时Named Pipes需要过多的开销,而且它还要求打开额外的端口445,所以一般来说最好禁用Named Pipes。然而有许多应用程序需要用到Named Pipes协议,因为他们是围绕NetbBIOS或给予LAN的协议设计的。Named Pipes可以轻松访问单个安全域中的远程过程调用,因而对这些应用程序很有帮助。如果您需要支持这些应用程序,而sql Server并没有暴露给外部通信量,那么启用Named Pipes协议和相应的端点的风险是最小的。
TCP/IP:TCP/IP是大部分sql安装时的主要也是首选的协议。 Virtual Interface Adapter:该协议与支持的硬件和网络配置一起使用。虚拟接口体系由Compaq,也就是现在的惠普,Intel和Microsoft联合开发,被设计成一个可减少创痛网络协议的开两开销的高性能协议,该协议在用户模式上下文而非内核模式上下文下运行。VIA网络客户机与系统区域网络连接。
sql Native Client配置
sql Native Client支持同样的四种服务器端协议,除了配置客户端协议之外,还可以设置协议的绑定顺序。可以使用sql Native Client配置节点创建别名。通过制定一个别名,不用改变服务器名称就可以把客户端的请求定向到该服务器。别名也可以用来取代复杂的命名实例名称。
sql Server端点
sql Server 2008将连接对象作为端点,允许侦听不同的端口,为不同的服务使用不同的传输协议。sql Server提供了四种不同类型的端点:Tsql(默认和TCP);数据库镜像;SOAP;Service broker。
默认Tsql端点:在安装过程中会创建5个Tsql端点:Tsql默认TCP,Tsql默认VIA,Tsql Named Pipes,Tsql本地计算机,Dedicated Administrator Connection(DAC,专用管理员连接)。Tsql端点为四个支持的协议提供链接服务,第五个用来支持DAC的端点侦听一个专用TCP端口,该端口在启动时被配置为支持一个管理连接。配置的端口记录在当前sql Server日志文件中。 Tsql默认TCP端点创建于sql Server实例的安装过程中,并被自动配置为替默认实例侦听端口1433.每次启动命名实例时,命名实例Tsql默认TCP端点都会被随机分配一个 TCP端口。不过,可以通过sql Server配置管理器静态配置命名实例的端口号。配置一个静态端口能够简化客户端访问,减少对于美剧命名实例的sql Server浏览器服务的依赖。VIA协议用于支持VIA硬件设备,VIA协议取决于供应商的实现方案,所以如果不选择特定的硬件供应商,讨论VIA端点还是比较困难的
Tsql Named Pipes端点用于支持Named Pipes协议连接。
Tsql本地计算机端点允许使用Shared Memory协议进行连接。
SQL Server 2005使用的网络协议
在客户端计算机连接到数据库引擎之前,服务器必须在侦听启用的网络库,并且要求启用服务器网络协议。使用SQL Server配置管理器可以进行以下的设置。 启用SQL Server实例要侦听的服务器协议。 禁用不再需要的服务器协议。 指定或更改每个数据库引擎、将侦听的
在客户端计算机连接到数据库引擎之前,服务器必须在侦听启用的网络库,并且要求启用服务器网络协议。使用sql server配置管理器可以进行以下的设置。
启用SQL Server实例要侦听的服务器协议。
禁用不再需要的服务器协议。
指定或更改每个数据库引擎、将侦听的IP地址、TCP/IP端口和命名管道等。
为所有已启用的服务器协议启用安全套接字层加密。
若要连接到SQL Server 2005数据库引擎,必须启用网络协议。SQL Server 2005数据库可一次通过多种协议为请求服务。客户端用单个协议连接到SQL Server.如果客户端程序不知道SQL Server在侦听哪个协议,可以配置客户端按顺序尝试多个协议。SQL Server 2005使用的网络协议有以下几种。
1.Shared Memory协议
Shared Memory是可供使用的最简单协议,没有可配置的设置。由于使用Shared Memory协议的客户端仅可以连接到同一台计算机上运行的SQL Server实例,因此它对于大多数数据库活动而言是没用的。如果怀疑其他协议配置有误,,可以使用Shared Memory协议进行故障排除。
2.TCP/IP协议
TCP/IP是Internet上广泛使用的通用协议。它与互联网络中硬件结构和操作系统各异的计算机进行通信。它包括路由网络流量的标准,并能提供高级安全功能。TCP/IP协议是目前在商业中最常用的协议。
3.Named Pipes协议
Named Pipes是为局域网而开发的协议。它的运行模式是内存的一部分被某个进程用来向另一个进程传递信息。因此,一个进程的输出就是另一个进程的输入。第二个进程可以是本地的,也可以是远程的。
4.VIA协议
虚拟接口适配器(VIA)协议和VIA硬件一同使用。请咨询硬件供应商,了解有关使用VIA的信息。
5.Named Pipes与TCP/IP套接字协议
在快速局域网环境中,传输控制协议或Internet协议(TCP/IP)套接字客户端和Named Pipes客户端在性能方面相近。但是,网络速度越慢,TCP/IP套接字客户端与Named Pipes客户端的性能差异越明显,这是因为进程间通信(IPC)的机制在对等项间的通信方式不同。
说明:该协议必须在客户端和服务器上同时启用才可以正常工作。服务器可以同时监听所有已启用的协议的请求。客户端计算机可以选取一个协议,或按照SQL Server配置管理器中列出的顺序尝试这些协议。
SQL Server 2008 Internal #003 SQL Server 引擎的协议层 关系引
Components of the SQL Server Engine SQL Server 主要有四个组件: The relational engine Query processor The storage engine SQLOS Protocol layer (没有出现在下图中) 无论通过哪种客户端工具提交的批处理语句到SQL Server中都要与这四个组件进行交互.
components of the sql server engine
SQL Server 主要有四个组件:
- The relational engine – Query processor
- The storage engine
- SQLOS
- Protocol layer (没有出现在下图中)
无论通过哪种客户端工具提交的批处理语句到SQL Server中都要与这四个组件进行交互.
- Protocol Layer 协议层将从客户端发送的请求翻译成SQL Server能识别的指令,并且将查询或者错误结果又从SQL Server中翻译成客户端能理解的信息, 就是一种基于某种协议的信息交换.
- Relational Engine Layer - 关系型数据引擎层主要用来处理SQL语句,构建,编译或者调优并执行.
- Storage Engine - 存储引擎 主要是数据的存储管理.
- SQLOS Layer - 主要是与操作系统交互, 因为这里面涉及到线程的管理,同步,死锁,内存管理等方面,还有缓冲池.
Observing Engine Behavior
SQL Server 2008 包含了一套系统对象可以允许开发者或者管理员深入的了解SQL Server内部信息. 这些对象就是动态管理对象 Dynamic Management Objects,它们包含各种各样的视图和函数, 但是大多数都是视图, 所有我们也叫它们动态管理视图 Dynamic Management Views. DMVs 在SQL Server 2008的每一个数据库中都存在,但是它们并不是真正存在于磁盘上的表,它们只是基于SQL Server内部的一些结构.
从这些对象中可以获取在多个会话,事务或者用户请求的过程中服务器端状态的变化信息,这样就可以使用这些对象来作一些诊断,内存以及处理器的调优或者在所有的会话中监控一些内容.
可以对它们作一些简单的分类:
- dm_exec_* 包含了一些间接或者直接关联到用户语句执行的信息.
- dm_os_* 包含了一些低级别的信息,比如像内存,所,计划等等.
- dm_tran_* 和事务相关的信息
- dm_io_* 网络和磁盘上IO活动的信息
- dm_db_* 包含了有关数据库和数据库对象的相关信息,比如索引的信息
Protocols 协议
SQL Server 服务器可以同时支持来自于不同客户端的不同的协议,每一个客户端都只使用一种协议与SQL Server交互. 如果客户端程序不知道 SQL Server正在监听哪一种协议,那么你可以尝试依次使用不同的协议与服务器连接,目前有如下这些协议可供使用:
- Shared Memory - 共享内存协议. 不需要配置, 但是客户端和服务器端必须在同一台机器上.
- Named Pipes - 命名管道协议. 一种为本地局域网开发的协议 LANs, 在一个进程中使用了一部分内存将信息传递到另外的一个进程, 所以一个进程的输出就是另外一个进程的输入,另外的一个进程可以是本地的也可以是远程的.
- TCP/IP – TCP/IP 协议在互联网上用的最多.不同网络中不同的硬件或者操作系统等等都可以基于TCP/IP协议进行通信.在 SQL Server 中使用TCP/IP协议需要配置相当多的内容,但是目前大多数网络中的机器都已经进行过适当的配置了.
- Virtual Interface Adapter(VIA) 一种基于VIA硬件的协议,比较特别,跟机器中硬件有关.
Tabular Data Stream Endpoints
SQL Server 2008 也允许你创建 TDS端点, 这样SQL Server监听器就可以监听额外的TCP端口.在配置的时候, SQL Server 会自动为上面的四种协议都创建端点,如果协议启用了,那么用户就可以访问.如果协议禁用了,那么即使端点存在但用户也不能访问.
The Relational Engine
前面已经提到关系型引擎也被叫做 Query processor 查询处理器,因为在这里面SQL Server将决定你的查询语句将最终如何被执行.有两个非常重要的组件, 一个是Query Optimization 查询优化器, 一个是 Query Execution 查询执行器. 在整个查询处理器中或者在整个数据产品中 Query Optimizer 是最为复杂的一个组件,它决定了是哪种执行计划将被执行,中间的过程也比较复杂.
关系引擎同时也是一个承上启下的组件,因为它要管理从存储引擎返回的查询数据并且处理这些返回的结果.而关系引擎和存储引擎是通过OLE DB row sets 联系在一起的.
关于关系引擎中的Command Parser, Query Optimizer, Query Executor 等概念和细节请参考我的另一篇 随笔笔记
http://www.cnblogs.com/biwork/archive/2013/04/11/3015655.html
The Storage Engine
存储引擎包括所有参入到数据的访问和管理的所有组件,在SQL Server 2008中,存储引擎主要是由3部分内容组成的: Access methods, locking and transaction services 和 utility commands.
Access methods
当SQL Server需要定位数据的时候,它就调用了Access methods的代码,这些代码就会组建和访问扫描数据页和索引页并且准备 OLE DB row sets来返回到关系引擎.
同样的,当数据被插入时,access methods 就能从客户端收到 OLE DB row set.
Access methods code 包含了打开表,抽取合适数据,更新数据等组件. Access methods code 并不是真正去抽取页,它发送请求到缓冲管理器,由缓冲管理器最终将页的数据读取到缓存中或者从磁盘上将数据读取到缓存中. 当扫描开始的时候, 有一个 look-ahead 这样的机制取得页上行或者索引的入口,被检索的行一旦满足被检索的条件就被称为是有效的检索.Access method 不仅仅是为 SELECT语句服务, 对于其它的符合条件的 UPADATE,DELETE等操作都有效,比如说带了WHERE条件的语句它也起作用,还有就是为那些有需要修改索引入口的一些修改操作.
Access method的分类:
- Row and Index Operations
- Page Allocation Operations
- Versioning Operations
查看更多 SQL Server Internal 笔记 - Microsoft SQL Server 2008 Internals 读书笔记
SQL Server2005与SQLServer2008并存时, 怎样连接到2008
启动2008, 但是连接中却显示的是sql server 9.0, 这里是因为没有连接好. Server name: 对应的下拉列表中, 拉到最底下, Browse for more, / Local Servers / 数据库引擎 下面就有你本机上所有的实例名.。 选择 计算机名\SQL2008 , 就可以连接到了。 注: 200
启动2008, 但是连接中却显示的是sql server 9.0, 这里是因为没有连接好.
Server name: 对应的下拉列表中, 拉到最底下, "Browse for more", / "Local Servers" / "数据库引擎" 下面就有你本机上所有的实例名.。
选择 计算机名\SQL2008 , 就可以连接到了。
sql-server – SQL Server 2008 R2 – 备份2005 dbs并迁移到2008新机器的最佳计划是什么?
我已经备份了数据库并将它们复制到新机器上.
我应该创建新数据库然后还原备份吗?
我应该还原备份,在此过程中创建它们吗?
我是不是该…..
在我的新机器上设置这些数据库的最可靠和最简单的方法是什么?
解决方法
关于SQL Server 2008网络协议深入理解和sql server 2008网络配置的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于SQL Server 2005使用的网络协议、SQL Server 2008 Internal #003 SQL Server 引擎的协议层 关系引、SQL Server2005与SQLServer2008并存时, 怎样连接到2008、sql-server – SQL Server 2008 R2 – 备份2005 dbs并迁移到2008新机器的最佳计划是什么?的相关知识,请在本站寻找。
本文标签: