-1

通常 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 客户端或服务器吗?

4

2 回答 2

4

用于在客户端和服务器之间进行通信的协议称为Tabular Data Stream

表格数据流 (TDS) 是一种应用层协议,用于在数据库服务器和客户端之间传输数据。它最初是由 Sybase Inc. 于 1984 年为其 Sybase SQL Server 关系数据库引擎设计和开发的,后来由 Microsoft 在 Microsoft SQL Server 中设计和开发。

与其尝试对协议进行逆向工程,不如 a) 使用在您之前的其他人的工作(例如 freetds),或 b) 遵循规范,而不是按照规范进行编码具体实施

于 2013-02-16T06:16:36.067 回答
1

在大多数情况下,像 SQL Server 这样的软件使用的网络协议与任何人无关。这是一个内部实现细节,他们可以随时以任何理由自由更改,或者仅仅因为他们喜欢它。

我希望您有充分的理由需要关心 SQL Server 客户端选择用来与 SQL Server 服务器通信的协议的细节。

毕竟,如果客户端很高兴与服务器交谈,那么您当然没有理由抱怨它。

于 2013-02-16T04:19:04.903 回答