来自 首页 2019-09-19 06:00 的文章
当前位置: 澳门太阳娱乐手机登录 > 首页 > 正文

2012实施与管理实战指南,无法访问SQL

背景:

6.接连的确立和难点排查

对话的树立分成2个部分:

1.延续,即找到那几个实例

2.表明,告诉sql server什么人要连接

目录

6.总是的树立和主题素材排查... 1

6.1商量选用和别称... 1

6.1.1 服务器网络配置... 1

6.1.2 SQL Server Browser的作用... 1

6.1.3 顾客端互联网配置... 2

6.1.4 顾客端网络连接采纳机制... 2

6.2 连接战败检查评定步骤——命名管道... 2

6.3三回九转退步检查测验步骤——TCP/IP. 2

6.3.1 SQL Server监听TCP/IP端口... 2

6.3.2 用户端TCP/IP左券配置... 2

6.3.3 TCP/IP连接keepalive机制... 3

6.3.4 配置SQL Server的keepalive. 3

6.3.5 配置客商端的keepalive. 3

6.3.6 TCP/IP连接难题的解决步骤... 3

6.4普普通通互联网错误... 4

6.5 利用Ring Buffer排查连接难点... 4

 

 

  朋友的景况第二天蓦地探问不了SQL Server,远程SQL Server顾客不能登陆,但是地点SQL Server顾客登入平常。

6.1协商选用和小名

常用协议有3种:

1.Shard Memory:本地访谈会利用的,一般用不到

2.TCP/IP

3.Named Pipes:命名管道不是依照网络左券的,而是基于Server Message Block套件的一种左券,使用IPC$分享来无缝和晶莹剔透的传输数据和客商认证上下文,在做客IPC$分享的时候先要通过Windows认证,那也是命名管道的益处之一。

报错:

6.1.1 服务器网络布局

SQL Server的配备管理器能够安装各样合同的敞开和关闭。配置好协商之后重启服务,会在errorlog中观察服务是不是健康运行。

  客商XX登陆战败(MicroSoft SQL Server,错误18456)

6.1.2 SQL Server Browser的作用

对此命名实例,每一趟运维绑定的端口不一致。所以SQL Server开拓了一套SQL Server分析合同(SSRP)用来监听UDP1434端口。当四个顾客端要访谈那台服务器上的SQL Server实例,都会先掌握UDP1434端口,然后由SSRP合同告诉客商端本台服务器上所设置的SQL Server实例的端口号及命名管道。

SQL Server Browser最小权限如下:

1.回绝通过互联网访谈该管理器

2.闭门羹当地登入

3.拒绝以批管理作业登入

4.不容通过“终端服务”登陆

5.看作服务登入

6.读写与网络通讯相关的SQL Server注册项

SQL Server Browser读取注册表音讯,识别Computer上的享有实例,并评释他们运用的端口和命名管道。

排查:

6.1.3 顾客端网络配置

客户端有4中驱动:

1.MDAC要么WDAC,基于windows,没有供给安装,能够经过cliconfg.exe配置

2.SQL Server Native Client,SQL Server带的装置了才有,随SQL Server版本变化而调换。在SQL Server配置管理器也足以对Native Client进行布置。

3.SQLClient,顾客端应用程序使用的是托管编制程序代码,近来貌似选拔ADO.NET来一连SQL Server。SQLClient没有定点配置工具,是依照Shared Memory->TCP/IP->Named Pipes顺序来连接的。

4.JDBC,用来给Java程序连接SQL Server。

  对与无法连接服务器的,一般的排查手腕,也是最常用的手法。

6.1.4 客商端互连网连接选取机制

SQL Server网络连接机制:

1.SQL Server有谈得来的互连网左券,配置选项,决定SQL Server侦听哪边协议

2.一台服务器上得以有几个SQL Server实例,种种实例使用分化的端口和管道。SQL Server Browser通过读取注册表知道全部实例的互连网布局音信。

3.客商端的数据库连接组件上能够配备候选的网络公约。

客商端开启了八个互连网协议,一般最终决定动用什么合同的次第如下:

1.连接字符串中钦点左券

2.客商端别称

3.物色对应数据驱动的LastConnect注册记录

4.经过SQL Server Browser得知端口号或许管道名称

  1.因为本地登陆不奇怪,那么查看1433端口是还是不是监听。

6.2 连接战败检验步骤——命名管道

  2.远程 telnet 1433 端口是否通的。

6.3总是失利检查评定步骤——TCP/IP

  经过排查发掘,监听符合规律,telnet 也是通的。

6.3.1 SQL Server监听TCP/IP端口

SQL Server监听端口,可感觉机械上的每一个IP地址都安装单独的端口号(不能配备出来),也可感觉具备的IP设置统一的端口号。

  这年就从头悄然了,telnet 通的按理没理由不可能连接到长途服务器上。于是笔者利用SQLCMD登入留意看看 18456的错误的state 到底是不怎么,开采State是1。

6.3.2 顾客端TCP/IP合同配置

  到此地就无解了,一贯没见过如此的意况。

6.3.3 TCP/IP连接keepalive机制

顾客端和服务器之间的tcp连接是长连接,当客商端连接到服务器的时候钦命了keepaliveinterval和keepalivetime参数,在三番三回空闲时间超越keepalivetime,tcp就能够以keepaliveinterval为距离自动发出keepalive包测验连接是或不是存活。要是keepalive检验次数超越注册表的Tcp马克斯DataRetransmissions的定义,对方要么未有影响,就能够关闭这么些有题指标连日。

Sql server的keepalivetime为30s,keepaliveinterval为1s,windows tcp配置私下认可Tcp马克斯DataRetransmissions为5s。

服务端的管服务端的,顾客端的管顾客端的,不过任何三个超过阀值都会关闭连接。

处理:

6.3.4 配置SQL Server的keepalive

能够在SQL Server配置管理器中配置tcp的keepalive时间。当然也足以在注册表上修改。

HKEY_LOCAL_MACHINESOFTWAREMicrosoftMicrosoft SQL ServerMSSQL12.MSSQLSERVER MSSQLServerSuperSocketNetLibTcp

Tcp马克斯DataRetransmissions也足以在注册表上修改:

HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesTcpipParameters

  器重来了,第二天,小编对象和本身说,是因为加了网闸设备变成的。

6.3.5 配置客户端的keepalive

其余顾客端都有keepalive机制,keepalivetime为30s,keepaliveinterval为1s。在那之中仅有native client可以在SQL Server配置处理器上修修改改。

图片 1

当然能够在注册表上修修改改

 

6.3.6 TCP/IP连接难题的化解步骤

涸泽而渔难点思路:

1.证实SQL Server是还是不是监听端口,能够查阅错误日志

2.认证SQL Server监听的端口和配置的值是不是一致

3.反省网络是不是正规

4.telnet翻看是不是能够接连到有个别端口

5.检查登入客商权限

6.3.6.1 监听多个端口

四个端口的监听,能够在安装端口是用逗号隔绝

图片 2

6.3.6.2 端口绑定战败

端口绑定战败,在起步是时候会报错。

能够查看端口是不是被占用

6.3.6.3 检查延续使用的商谈

SELECT*FROMsys.dm_exec_connections

6.3.6.4 访问防火墙后的SQL Server

6.4清淡无奇网络错误

6.5 利用Ring Buffer排查连接难点

Ring Buffer,能够捕捉各个由服务器发起的关闭连接记录,富含会话至极中断大概登录退步,Ring Buffer最多壹仟条数据。

Connectivity Ring Buffer有3种记录:ConnectionClose,Error,LoginTimers。

Connectivity Ring Buffer能够令你在不能采取NetWork Monitor境况下化解棘手的主题材料。

Connectivity Ring Buffer中的LoginTimers记录了百分百登录进程所话的流年。

SELECTCAST(record ASXML) record

       ,CAST( record ASXML). value('(//Record/ConnectivityTraceRecord/RecordTime)[1]','datetime')  recordtime

       ,CAST( record ASXML). value('(//Record/ConnectivityTraceRecord/RecordType)[1]','varchar(20)')  Recordtype

FROMsys.dm_os_ring_buffers

WHERE ring_buffer_type ='RING_BUFFER_CONNECTIVITY'

 

本文由澳门太阳娱乐手机登录发布于首页,转载请注明出处:2012实施与管理实战指南,无法访问SQL

关键词: