-1

通常、SQLServerトランザクションはこのようなマルチバイトコードを使用しています。

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.'.

しかし、昨日、SQLServerがこのようなシングルバイトを使用することがあることがわかりました。

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ソリューション会社で働いていますが、これが監視の問題を引き起こしています。プログラムを変更したので、テストする必要があります。しかし、私は同じ状況を作る方法がわかりません。

誰かがSQLServerクライアントまたはサーバーを構成する方法を教えてもらえますか?

4

2 に答える 2

4

クライアントとサーバー間の通信に使用されるプロトコルは、Tabular Data Streamと呼ばれます。

表形式データ ストリーム (TDS) はアプリケーション層プロトコルであり、データベース サーバーとクライアントの間でデータを転送するために使用されます。これは、1984 年に Sybase Inc. が自社の Sybase SQL Server リレーショナル データベース エンジン用に最初に設計および開発したもので、後に Microsoft が Microsoft SQL Server 用に設計および開発しました。

プロトコルをリバース エンジニアリングしようとするよりも、a) あなたの前に行った他の人 (freetds など) の作業を使用するか、b)仕様の癖に合わせてコーディングするよりも、仕様に従ってください。特定の実装

于 2013-02-16T06:16:36.067 に答える
1

ほとんどの場合、SQLServerなどのソフトウェアで使用されるネットワークプロトコルは誰の仕事でもありません。これは内部実装の詳細であり、いつでも、理由を問わず、またはそのように感じたという理由だけで自由に変更できます。

SQLServerクライアントがSQLServerサーバーとの通信に使用することを選択したプロトコルの詳細を気にする必要がある非常に正当な理由があることを願っています。

結局のところ、クライアントがサーバーとの会話に満足しているのであれば、それについて文句を言う理由は確かにありません。

于 2013-02-16T04:19:04.903 に答える