今天准备继续敲机房系统的时候,连接数据库,但是无法连接上服务器了,又出现了这样的提示:
之前也曾出现过这种情况,但是只知道要开启一些服务,但却不知道是为什么。昨天不知道哪根筋搭错了,不老老实实敲系统,却把有关数据库的服务项打开,只要是没有启用的,都给启用了,然后,今天数据库就连接不上了,而且自己也忘了都改了哪些服务项。然后就是各种查找各种试,未果。
于是又想起张文康的博客来了,他的博客里写过这个问题。确实,找到了问题的所在:我没有禁用VIA协议。
还记得SQL SERVER 2005中的网络配置里有一项是VIA协议吗?需要将它禁用以后才可以启动MSSQLSERVER。否则,启用其他服务的时候会给出相应提示:
但是为什么要禁用它才可以呢?它的存在又有什么用呢?
VIA协议是SQL Server的一个连接协议,全名Virtual Interface Architecture,中文名是虚拟接口架构。这个协议本是Wintel联盟想出来的。(Wintel,微特尔,字面上是指由MicrosoftWindows操作系统与IntelCPU所组成的个人计算机。实际上是指Microsoft与Intel的商业联盟,该联盟意图并成功地取代了IBM公司在个人计算机市场上的主导地位,所以也称Wintel联盟。)软硬联手造就了VIA,本来为了和不同的虚拟设备通信。任何设备都可以认为是虚拟设备,就是实现的抽象,本来为了适应不同的硬件厂商,适应不同的网络,或者java
virtual machine,跨平台等,结果过于理想化,目标太大实现较为复杂,目前还是TCP/IP协议为至尊王者。
在SQL SERVER配置管理器帮助里对VIA的属性是这样描述的:
默认端口:
默认设置是 0:1433,格式为 <network interface card number>:<port number>
启用:
可能的值包括“是”和“否”。默认情况下,VIA
协议是禁用的。
侦听信息:
默认设置是 0:1433,格式为 <network interface card number>:<port number>。侦听多个端口时,将它们用英文逗号分开。此字段最多允许 2047
个字符。
在SQL SERVER 2005中有四种网络配置协议,它们分别是:Shared Memory、TCP/IP、Named
Pipes和VIA。默认情况下,SQL Server
使用“Shared Memory”协议连接到 SQL Server
的本地实例,使用“TCP/IP”或“命名管道”连接到其他计算机上的 SQL Server
实例。
SharedMemory:
是可供使用的最简单协议,没有可配置的设置。由于使用 Shared Memory
协议的客户端仅可以连接到同一台计算机上运行的 SQL Server
实例,因此它对于大多数数据库活动而言是没用的。如果怀疑其他协议配置有误,请使用 Shared Memory
协议进行故障排除。
TCP/IP:
是 Internet
上广泛使用的通用协议。它与互连网络中硬件结构和操作系统各异的计算机进行通信。它包括路由网络流量的标准,并能够提供高级安全功能。它是目前在商业中最常用的协议。将计算机配置为使用 TCP/IP
可能很复杂,但大多数联网的计算机已经配置正确。
NamedPipes:
是为局域网而开发的协议。内存的一部分被某个进程用来向另一个进程传递信息,因此一个进程的输出就是另一个进程的输入。第二个进程可以是本地的(与第一个进程位于同一台计算机上),也可以是远程的(位于联网的计算机上)。
VIA:
虚拟接口适配器 (VIA)
协议和 VIA 硬件一同使用。请咨询硬件供应商,了解有关使用 VIA
的信息。
安装了多个 SQL Server
实例后,可以检查端口设置并将每个端口配置为仅可以被一个实例使用。使用 TCP/IP
时,SQL Server 阻止两个实例侦听同一个端口,但使用 VIA
时不阻止。如果两个实例在侦听同一个端口,则传入的 VIA 连接可能无法连接,或连接到意外实例。
也就是说如果同一计算机上安装有两个或多个 Microsoft SQL Server
实例,则 VIA 连接可能会不明确。VIA
协议启用后,将尝试使用 TCP/IP 设置,并侦听端口 0:1433。对于不允许配置端口的 VIA
驱动程序,两个 SQL Server 实例均将侦听同一端口。传入的客户端连接可能是到正确服务器实例的连接,也可能是到不正确服务器实例的连接,还有可能由于端口正在使用而被拒绝连接。所以不推荐使用 VIA
协议。
分享到:
相关推荐
Microsoft SQL Server Management Studio Express(SSMSE)是一种免费、易于使用的图形管理工具,用于管理SQL Server 2005 Express Edition和SQL Server 2005 ExpressEdition with Advanced Services。注意:SSMSE ...
SQLServer 脚本批量禁用、启用登录账号..
Microsoft SQL Server 2005 向后兼容组件SQLServer2005_BC.msi
Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含 最新版本的 Data Transformation Services 2000 运行时 ...
SQLServer2005_BC 32/64位 向后兼容兼容补丁
SQL Server2005基本方法和语句
sql server 2005 向后兼容程序32位版 用于新版本程序兼容旧版本数据库
资源名称:SQL Server 2005数据库开发实战内容简介:本书综合讲解了Microsoft SQL Server 2005程序开发与界面设计的相关知识,内容全面,结构合理,论述清晰,对Microsoft SQL Server 2005技术及其实际应用都有独到...
SQL Server 2005 启用远程连接
本书通过大量翔实的示例,向读者展示了SQL Server 2005数据库的原理、开发、应用及管理的相关技术和技巧。全书15章,可分为3大部分:第1部分(第1、2章)概述了数据库的基本原理,包括数据处理的基础知识、数据库的基本...
完全卸载sql server 2005比较麻烦,这是关于卸载sql server 2005的一个方法。
sql server 2005 sp4补丁。 sql server 2005 sp4补丁 sql server 2005 sp4补丁 希望有人能用到。
SQL Server 2005 ETL专家系列之一:SQL Server DTS的前世今生 SQL Server 2005 ETL专家系列之二:SQL Server 2005 Integration Service的基本任务 SQL Server 2005 ETL专家系列之三:SQL Server 2005 Integration ...
sql server 2005 完整版,下载压缩文件,里面含有32位的和64位的可选择
在SQLServer2008上面成功附件SQLServer2005的方法
SQL Server 2005微软官方权威参考书. 公球公认SQL Server 2005 经典著作.. 数据库“铁人”、微软MVP胡百敬先生鼎力推荐 微软SQL Server 总部Principal Group 项目经理朱凌志鼎力推荐 本书详细介绍了数据...
Microsoft SQL Server 2005 Backward Compatibility Components (Microsoft SQL Server 2005 向后兼容组件) SQL Server Backward Compatibility 包中包含最新版本的 Data Transformation Services 2000 运行时 (DTS...
SQL Server 2005 php驱动是php5的一个扩展,它提供访问SQL Server 2005和SQL Server 2000.该扩展数据访问接口可以应用在所有版本(包括体验版)的SQL Server 2005和SQL Server 2000.该SQL Server 2005 php驱动支持...
SQL Server 2005盛宴系列,名师讲堂