加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 财气网 (https://www.caiqiwang.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server-2008 – 传递给SQL Server的查询已损坏

发布时间:2020-12-26 04:02:31 所属栏目:MsSql教程 来源:网络整理
导读:我们在客户站点的应用程序遇到了一个奇怪的错误.我们已经设法将其缩小到只使用Management Studio和SQL Server来复制行为的程度. 我们有两台机器,A和B: +------------+ +--------------------+| [A] | | [B] || Management | -------------- | SQL Server 200

我们在客户站点的应用程序遇到了一个奇怪的错误.我们已经设法将其缩小到只使用Management Studio和SQL Server来复制行为的程度.

我们有两台机器,A和B:

+------------+                   +--------------------+
|    [A]     |                   |        [B]         |
| Management |  -------------->  | SQL Server 2008 R2 |
|   Studio   |                   |   Enterprise x64   |
+------------+                   +--------------------+

我们在机器A上的Management Studio中针对机器B上的SQL Server实例运行SQL脚本.我们实际上并不是在执行脚本,只是解析它.

大多数情况下,解析操作正常.偶尔(看似随机),解析操作失败并出现语法错误.错误消息显示脚本中包含错误的部分,该错误显示为原始脚本中的某些SQL已被截断并附加了随机字符.

一个例子:

原来的SQL:

SELECT DISTINCT ST.TABLE_NAME as TableName
FROM INFORMATION_SCHEMA.TABLES AS ST
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS SC
ON SC.TABLE_NAME = ST.TABLE_NAME
WHERE ST.TABLE_TYPE = 'BASE TABLE'
AND SC.COLUMN_NAME = 'Identity'
AND ST.TABLE_NAME != 'dtproperties'
ORDER BY ST.TABLE_NAME

出错的SQL(由SQL Server报告):

SELECT DISTINCT ST.TABLE_NAME as TableName
FROM INFORMATION_SCHEMA.TABLES AS ST
INNER JOIN INFORMATION_SCHEMA.COLUMNS AS SC
ON SC.TABLE_NAME = Sā怊

上面的示例显示了查询是如何被破坏的.它并不总是发生,并且并不总是与导致错误的SQL相同.将此脚本解析为另一个SQL Server实例不会产生任何错误,表明该脚本正常.

看来有些东西正在破坏正在接收服务器的SQL.这使我认为问题在于客户端或从客户端到服务器的SQL传输.我从发生错误的时间段开始有一个SQL跟踪,这表明SQL在收到SQL时已经损坏了.

我们无法找到此行为的任何可能原因,因此无法找到修复程序.因为错误看似随机发生,所以很难生成提交错误报告的复制步骤.

有任何想法吗?

解决方法

拉出SQL Server.是时候进行系统检查了.内存(计算器,但也可能是网卡)是罪魁祸首.我希望看到内存错误出现.

(编辑:财气旺网 - 财气网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读