仓酷云

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

[学习教程] MSSQL网站制作之SQL Server毗连中的三个最多见毛病

[复制链接]
第二个灵魂 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:23:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
操作被同步到从库上后,则主从都“回天无力”。server|毛病SQLServer毗连中的三个最多见毛病:

一."SQLServer不存在或会见被回绝"

这个是最庞大的,毛病产生的缘故原由对照多,必要反省的方面也对照多.

一样平常说来,有以下几种大概性:

1,SQLServer称号或IP地点拼写有误
2,服务器端收集设置有误
3,客户端收集设置有误

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


=============起首,反省收集物理毗连=============
ping<服务器IP地点/服务器称号>

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

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

1.利用记事本翻开HOSTS文件(一样平常情形下位于C:WINNTsystem32driversetc).
增加一条IP地点与服务器称号的对应纪录,如:
172.168.10.24myserver

2.或在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协定,选择"属性",能够反省客户端默许毗连端口的设置,该端口必需与服务器分歧.

单击"别号"选项卡,还能够为服务器设置别号.服务器的别号是用来毗连的称号,
毗连参数中的服务器是真实的服务器称号,二者能够不异或分歧.别号的设置与利用HOSTS文件有类似的地方.


经由过程以上几个方面的反省,基础上能够扫除第一种毛病.


-----------------------------------------------------------------------------

二."没法毗连到服务器,用户xxx上岸失利"

该毛病发生的缘故原由是因为SQLServer利用了"仅Windows"的身份考证体例,
因而用户没法利用SQLServer的登录帐户(如sa)举行毗连.办理办法以下所示:

1.在服务器端利用企业办理器,而且选择"利用Windows身份考证"毗连上SQLServer
2.睁开"SQLServer组",鼠标右键点击SQLServer服务器的称号,选择"属性",再选择"平安性"选项卡
3.在"身份考证"下,选择"SQLServer和Windows".
4.从头启动SQLServer服务.

在以上办理办法中,假如在第1步中利用"利用Windows身份考证"毗连SQLServer失利,
那就经由过程修正注册表来办理此成绩:

1.点击"入手下手"-"运转",输出regedit,回车进进注册表编纂器
2.顺次睁开注册表项,扫瞄到以下注册表键:
[HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServer]
3.在屏幕右方找到称号"LoginMode",双击编纂双字节值
4.将原值从1改成2,点击"断定"
5.封闭注册表编纂器
6.从头启动SQLServer服务.

此时,用户能够乐成地利用sa在企业办理器中新建SQLServer注册,
可是仍旧没法利用Windows身份考证形式来毗连SQLServer.
这是由于在SQLServer中有两个缺省的登录帐户:
BUILTINAdministrators
<呆板名>Administrator被删除.
要恢复这两个帐户,可使用以下的办法:

1.翻开企业办理器,睁开服务器组,然后睁开服务器
2.睁开"平安性",右击"登录",然后单击"新建登录"
3.在"称号"框中,输出BUILTINAdministrators
4.在"服务器脚色"选项卡中,选择"SystemAdministrators"
5.点击"断定"加入
6.利用一样办法增加<呆板名>Administrator登录.

申明:

以下注册表键:
HKEY_LOCAL_MACHINESOFTWAREMicrosoftMSSQLServerMSSQLServerLoginMode
的值决意了SQLServer将接纳何种身份考证形式.
1.暗示利用"Windows身份考证"形式
2.暗示利用夹杂形式(Windows身份考证和SQLServer身份考证).


-----------------------------------------------------------------------------

三.提醒毗连超时

假如碰到第三个毛病,一样平常而言暗示客户端已找到了这台服务器,而且能够举行毗连,
不外是因为毗连的工夫年夜于同意的工夫而招致堕落.
这类情形一样平常会产生在当用户在Internet上运转企业办理器来注册别的一台一样在Internet上的服务器,
而且是慢速毗连时,有大概会招致以上的超时毛病.有些情形下,因为局域网的收集成绩,也会招致如许的毛病.

要办理如许的毛病,能够修正客户真个毗连超时设置.
默许情形下,经由过程企业办理器注册别的一台SQLServer的超时设置是4秒,
而查询剖析器是15秒(这也是为何在企业办理器里产生毛病的大概性对照年夜的缘故原由).

详细步骤为:
企业办理器中的设置:
1.在企业办理器中,选择菜单上的"工具",再选择"选项"
2.在弹出的"SQLServer企业办理器属性"窗口中,点击"初级"选项卡
3.在"毗连设置"下的"登录超时(秒)"右侧的框中输出一个对照年夜的数字,如20.

查询剖析器中的设置:
工具--选项--毗连--将登录超时设置为一个较年夜的数字



毗连超时改成0

1、先包管ping通
2、在dos下写进telnetip1433不会报错
3、用ip连如企业办理器:
企业办理器-->右键SQlserver组-->新建sqlserver注册-->下一步-->写进远程实例名(IP,呆板名)-->下一步-->选Sqlserver上岸-->下一步-->写进上岸名与暗码(sa,pass)-->下一步-->下一步-->完成
4、假如还不可:
sqlserver服务器-->入手下手菜单-->SQLserver-->服务器收集有用工具-->启用WinSock代办署理-->代办署理地点:(sqlserver服务器IP)-->代办署理端口-->1433-->OK了
5、假如还不可:
sqlserver客户端-->入手下手菜单-->SQLserver-->客户端收集有用工具-->别号-->增加-->写进别号如"鼎力"-->"收集库"选tcp/ip-->服务器称号写进远程ip或实例名-->OK了
对于insert操作,只需要把event_type改成DELETE_ROWS_EVENT;对于delete操作,改成WRITE_ROWS_EVENT
沙发
发表于 2015-1-19 10:11:33 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
小女巫 该用户已被删除
板凳
发表于 2015-1-28 06:07:19 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
因胸联盟 该用户已被删除
地板
发表于 2015-2-5 19:05:42 | 只看该作者
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
山那边是海 该用户已被删除
5#
发表于 2015-2-13 06:54:26 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
再现理想 该用户已被删除
6#
发表于 2015-3-3 18:49:58 | 只看该作者
相信各位对数据库和怎么样学习数据库都有一些经验和看法,也会有人走了一些弯路总结出自己的经验来,希望大家能把各自的看法和经验拿出来分享,给别人一份帮助,给自己一份快乐
再见西城 该用户已被删除
7#
发表于 2015-3-11 12:46:11 | 只看该作者
还不是性能有问题!否则面向对象的数据库早就实现了!建议使用CLR的地方一般是和应用的复杂程度或操作系统环境有很高的耦合度的场景。如你想构建复杂的算法,并且用到了大量的指针和高级数据模型。
小魔女 该用户已被删除
8#
发表于 2015-3-26 14:38:53 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-23 12:10

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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