仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 614|回复: 8
打印 上一主题 下一主题

[学习教程] MSSQL编程:SQL Server毗连失利毛病及办理[1]

[复制链接]
小妖女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:24:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
提供TCP/IP、ODBC和JDBC等多种数据库连接路径。server|毛病|办理在利用SQLServer的过程当中,用户碰到的最多的成绩莫过于毗连失利了。一样平常而言,有以下两种毗连SQLServer的体例,一是使用SQLServer自带的客户端工具,如企业办理器、查询剖析器、事件探查器等;二是使用用户本人开辟的客户端程序,如ASP剧本、VB程序等,客户端程序中又是使用ODBC大概OLEDB等毗连SQLServer。上面,我们迁就这两种毗连体例,详细谈谈怎样来办理毗连失利的成绩。

  1、客户端工具毗连失利

  在利用SQLServer自带的客户端工具(以企业办理器为例)毗连SQLServer时,最多见的毛病有以下一些:

  1、SQLServer不存在或会见被回绝

   ConnectionOpen(Connect())

  




  2、用户sa登录失利。缘故原由:未与信托SQLServer毗连相干联。

  




  3、超时已过时。

  


上面我们顺次先容怎样来办理这三个最多见的毗连毛病。

  第一个毛病"SQLServer不存在或会见被回绝"一般是最庞大的,毛病产生的缘故原由对照多,必要反省的方面也对照多。一样平常说来,有以下几种大概性:

  1、SQLServer称号或IP地点拼写有误;

  2、服务器端收集设置有误;

  3、客户端收集设置有误。

  要办理这个成绩,我们一样平常要遵守以下的步骤来一步步找出招致毛病的缘故原由。

  起首,反省收集物理毗连:

   ping<服务器IP地点>
 
  大概

   ping<服务器称号>

  假如ping<服务器IP地点>失利,申明物理毗连有成绩,这时候候要反省硬件设备,如网卡、HUB、路由器等。另有一种多是因为客户端和服务器之间安装有防火墙软件酿成的,好比ISAServer。防火墙软件大概会屏障对ping、telnet等的呼应,因而在反省毗连成绩的时分,我们要先把防火墙软件临时封闭,大概翻开一切被关闭的端口。

  假如ping<服务器IP地点>乐成而ping<服务器称号>失利,则申明名字剖析有成绩,这时候候要反省DNS服务是不是一般。偶然候客户端和服务器不在统一个局域网内里,这时候候极可能没法间接利用服务器称号来标识该服务器,这时候候我们可使用HOSTS文件来举行名字剖析,详细的办法是:

  1、利用记事本翻开HOSTS文件(一样平常情形下位于C:WINNTystem32driversetc).

  2、增加一条IP地点与服务器称号的对应纪录,如:

    172.168.10.24myserver

  也能够在SQLServer的客户端收集有用工具内里举行设置,前面会有具体申明。

  其次,利用telnet命令反省SQLServer服务器事情形态:

   telnet<服务器IP地点>1433

  假如命令实行乐成,能够看到屏幕一闪以后光标在左上角一直明灭,这申明SQLServer服务器事情一般,而且正在监听1433端口的TCP/IP毗连;假如命令前往"没法翻开毗连"的毛病信息,则申明服务器端没有启动SQLServer服务,也大概服务器端没启用TCP/IP协定,大概服务器端没有在SQLServer默许的端口1433上监听。

  接着,我们要到服务器上反省服务器真个收集设置,反省是不是启用了定名管道,是不是启用了TCP/IP协定等等。我们能够使用SQLServer自带的服务器收集利用工具来举行反省。

  点击:程序->MicrosoftSQLServer->服务器收集利用工具,翻开该工具后看到的画面以下图所示:

  


  从这里我们能够看到服务器启用了哪些协定。一样平常而言,我们启用定名管道和TCP/IP协定。

  点中TCP/IP协定,选择"属性",我们能够来反省SQKServer服务默许端口的设置,以下图所示:

  




  一样平常而言,我们利用SQLServer默许的1433端口。假如选中"埋没服务器",则意味着客户端没法经由过程列举服务器来看到这台服务器,起到了回护的感化,但不影响毗连。

  反省完了服务器真个收集设置,接上去我们要到客户端反省客户真个收集设置。我们一样能够使用SQLServer自带的客户端收集利用工具来举行反省,所分歧的是此次是在客户端来运转这个工具。

  点击:程序->MicrosoftSQLServer->客户端收集利用工具,翻开该工具后看到的画面以下图所示:

  


  从这里我们能够看到客户端启用了哪些协定。一样平常而言,我们一样必要启用定名管道和TCP/IP协定。

  点击TCP/IP协定,选择"属性",能够反省客户端默许毗连端口的设置,以下图所示。

  


  该端口必需与服务器分歧。

  单击"别号"选项卡,还能够为服务器设置别号。服务器的别号是用来毗连的称号,毗连参数中的服务器是真实的服务器称号,二者能够不异或分歧。以下图中,我们可使用myserver来取代真实的服务器称号sql2kcn-02,而且利用收集库NamedPipes。别号的设置与利用HOSTS文件有类似的地方。

  

在需要把许多新记录插入某个数据表的场合,DELAY_KEY_WRITE选项的作用将非常明显。另外,索引还会在硬盘上占用相当大的空间。因此应该只为最经常查询和最经常排序的数据列建立索引。注意,如果某个数据列包含许多重复的内容,为它建立索引就没有太大的实际效果。
蒙在股里 该用户已被删除
沙发
发表于 2015-1-19 11:04:27 | 只看该作者
呵呵,这就是偶想说的
精灵巫婆 该用户已被删除
板凳
发表于 2015-1-25 14:23:22 | 只看该作者
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
谁可相欹 该用户已被删除
地板
发表于 2015-2-2 22:24:32 | 只看该作者
比如日志传送、比如集群。。。
金色的骷髅 该用户已被删除
5#
发表于 2015-2-8 14:39:47 | 只看该作者
而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
老尸 该用户已被删除
6#
发表于 2015-2-25 18:58:15 | 只看该作者
另一个是把SQL语句写到服务器端,就是所谓的SP(存储过程);
透明 该用户已被删除
7#
发表于 2015-3-8 01:44:07 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
第二个灵魂 该用户已被删除
8#
发表于 2015-3-15 19:50:36 | 只看该作者
呵呵,这就是偶想说的
小妖女 该用户已被删除
9#
 楼主| 发表于 2015-3-22 03:11:36 | 只看该作者
然后最好有实践机会,能够把实践到的和实践结合起来,其实理论思考是个非常困扰和痛苦的事情
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-23 04:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表