让 sql server 2005 在其 TDS 协议中不使用 unicode?

让 sql server 2005 在其 TDS 协议中不使用 unicode?

这可能是一个非常愚蠢的问题,但是......

TDS 协议sql server 使用的似乎使用 unicode 或 UTF-16 字符编码。类似查询select foo from bar出现 s.e.l.e.c.t. .f.o.o. .f.r.o.m. .b.a.r在 wireshark 中的 tcp 流中。

如果您有一个通过网络连接到 SQL 服务器的应用程序,该应用程序绝对不会并且可能永远不会使用 unicode 文本字段,那么有没有办法告诉 SQL 客户端使用 ascii 对查询进行编码以减少网络流量?

答案1

表格数据流 (TDS) 协议文档明确指出协议中的 SQL 语句将以 Unicode 编码(第 2.2 节)。除非您在带宽受限的网络上运行,否则担心这一点可能只是小菜一碟。(如果您的带宽受限到这个问题的地步,您可能需要考虑通过压缩来传输流量。)

答案2

我刚刚发现这似乎对 SQL Server TDS 流量进行了某种压缩:

http://www.nitrosphere.net/store/nitroaccelerator

我的初步测试表明它效果很好,但价格相当昂贵。

相关内容