通常SQL Server事务使用这样的多字节代码。
11:29:52.925182 IP 192.168.10.9.3862 > 192.168.10.5.1433: P 4117707564:4117707692(128) ack 672638990 win 6432 <nop,nop,timestamp 771920 264690946>
0x0000: 4500 00b4 7c2a 4000 4006 28bb c0a8 0a09 E...|*@.@.(.....
0x0010: c0a8 0a05 0f16 0599 f56f 3b2c 2817 a80e .........o;,(...
0x0020: 8018 1920 9605 0000 0101 080a 000b c750 ...............P
0x0030: 0fc6 dd02 0101 0080 0000 0100 5300 4500 ............S.E.
0x0040: 4c00 4500 4300 5400 2000 4300 4f00 5500 L.E.C.T...C.O.U.
0x0050: 4e00 5400 2800 2a00 2900 2000 4600 5200 N.T.(.*.)...F.R.
0x0060: 4f00 4d00 2000 7300 6500 6e00 6400 5f00 O.M...s.e.n.d._.
0x0070: 7200 6500 7300 7500 6c00 7400 2000 2800 r.e.s.u.l.t...(.
0x0080: 5200 4500 4100 4400 5000 4100 5300 5400 R.E.A.D.P.A.S.T.
0x0090: 2900 2000 5700 4800 4500 5200 4500 2000 )...W.H.E.R.E...
0x00a0: 5200 4500 5300 5500 4c00 5400 3d00 2700 R.E.S.U.L.T.=.'.
0x00b0: 5300 2700 S.'.
但我发现sql Server有时会使用这样的单字节,昨天。
11:29:31.688331 IP 192.168.10.8.3989 > 192.168.10.5.1433: P 3116352293:3116352333(40) ack 2215594188 win 11788 <nop,nop,timestamp 750683 264691313>
0x0000: 4500 005c fd77 4000 4006 a7c6 c0a8 0a08 E..\.w@.@.......
0x0010: c0a8 0a05 0f95 0599 b9bf c325 840f 48cc ...........%..H.
0x0020: 8018 2e0c 95ac 0000 0101 080a 000b 745b ..............t[
0x0030: 0fc6 de71 0101 0028 0000 0100 5345 4c45 ...q...(....SELE
0x0040: 4354 2043 4f55 4e54 2028 202a 2920 4652 CT.COUNT.(.*).FR
0x0050: 4f4d 204e 4f44 4543 4f44 4520 OM.NODECODE.
我正在为某种DAM解决方案公司工作,这导致了一些监控问题。 我修改了我的程序,我需要测试。 但我不知道如何处理同样的情况。
有人可以告诉我如何配置SQL Server客户端或服务器吗?
答案 0 :(得分:4)
用于在客户端和服务器之间进行通信的协议称为Tabular Data Stream:
表格数据流(TDS)是一种应用层协议,用于在数据库服务器和客户端之间传输数据。它最初由Sybase Inc.在1984年为其SQL SQL Server关系数据库引擎设计和开发,后来由Microsoft在Microsoft SQL Server中设计和开发。
不是你试图对协议进行逆向工程,而是a)使用在你之前走过的其他人的工作(例如freetds),或b)跟随specification,而不是而不是编码到特定实现的怪癖。
答案 1 :(得分:1)
在大多数情况下,像SQL Server这样的软件使用的网络协议是无人问津的。这是一个内部实现细节,无论出于何种原因,他们都可以随时自由更改,或者只是因为他们感觉就好。
我希望您有充分的理由需要关心SQL Server客户端选择用于与SQL Server服务器通信的协议的详细信息。
之后,如果客户很高兴与服务器通话,那么你肯定没有理由抱怨它。