逍遥一派 发表于 2015-1-16 22:24:13

MSSQL网页编程之SQL Server 不存在或会见被回绝

使为了数据安全,我们搭建了主从。但实时主从备份只能防止硬件问题,比如主库的硬盘损坏。但对于误操作,则无能为力。比如在主库误删一张表,或者一个update语句没有指定where条件,导致全表被更新。server|会见这个是最庞大的,毛病产生的缘故原由对照多,必要反省的方面也对照多。

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

  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的客户端收集有用工具内里举行设置,前面会有具体申明。
一样平常而言,我们启用定名管道和TCP/IP协定。

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

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

  接上去我们要到客户端反省客户真个收集设置

  我们一样能够使用SQLServer自带的客户端收集利用工具来举行反省,

  所分歧的是此次是在客户端来运转这个工具。

  点击:程序MicrosoftSQLServer客户端收集利用工具

  翻开该工具后,在"惯例"项中,能够看到客户端启用了哪些协定。

  一样平常而言,我们一样必要启用定名管道和TCP/IP协定。

  点击TCP/IP协定,选择"属性",能够反省客户端默许毗连端口的设置,该端口必需与服务器分歧。

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

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

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

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

  1、在服务器端利用企业办理器,而且选择"利用Windows身份考证"毗连上SQLServer

  2、睁开"SQLServer组",鼠标右键点击SQLServer服务器的称号,选择"属性",再选择"平安性"选项卡

  3、在"身份考证"下,选择"SQLServer和Windows"。

  4、从头启动SQLServer服务。

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

  1、点击"入手下手""运转",输出regedit,回车进进注册表编纂器

  2、顺次睁开注册表项,扫瞄到以下注册表键:



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身份考证)。

3、提醒毗连超时

  假如碰到第三个毛病,一样平常而言暗示客户端已找到了这台服务器,而且能够举行毗连,不外是因为毗连的工夫年夜于同意的工夫而招致堕落。

  这类情形一样平常会产生在当用户在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了
  其次,利用telnet命令反省SQLServer服务器事情形态

  telnet<服务器IP地点>1433

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

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

  点击:程序MicrosoftSQLServer服务器收集利用工具

  翻开该工具后,在"惯例"中能够看到服务器启用了哪些协定。
因此,我们的第一个“米”,就是二进制日志binlog必须是rowbased的。在rowbase下,二进制日志binlog同时记录了更新前后的整行记录。

透明 发表于 2015-1-19 10:53:59

无法深入到数据库系统层面去了解和探究

莫相离 发表于 2015-1-26 20:31:17

呵呵,这就是偶想说的

精灵巫婆 发表于 2015-2-4 20:55:01

数据库物理框架没有变动undo和redo都放在数据库得transaction中,个人感觉是个败笔。如果说我们在设计数据库的时候考虑分多个数据库,可能能在一定程度上避免I/O效率问题。

第二个灵魂 发表于 2015-2-10 10:11:11

SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.

海妖 发表于 2015-3-1 09:18:38

每天坚持做不一样的是,认真做笔录,定时复习。一个月你就可以有一定的收获。当然如果你想在sql方面有一定的造诣,你少不了需要看很多很多的书籍了。

活着的死人 发表于 2015-3-10 13:37:17

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。

愤怒的大鸟 发表于 2015-3-17 08:10:35

一个是把SQL语句写到客户端,可以使用DataSet进行加工;

再现理想 发表于 2015-3-24 03:57:06

而写到本地,我又考虑到效率问题.大家来讨论讨论吧,分数不打紧,就给10分,十全十美,没啥对错,各抒己见,但是要有说服力的哦~
页: [1]
查看完整版本: MSSQL网页编程之SQL Server 不存在或会见被回绝