【发布时间】:2016-08-28 13:35:45
【问题描述】:
当我们在 SQL Server 中执行“Alter”查询时,我们会收到“命令执行成功”消息。
所以我的问题是,是什么让 SQL Server 在执行查询后显示该消息?
据了解,该查询可能会返回一些值,根据该值,SQL Server 决定显示哪条消息。那么,根据哪个 SQL Server 显示成功消息返回的值是多少?
【问题讨论】:
标签: sql-server database-administration
当我们在 SQL Server 中执行“Alter”查询时,我们会收到“命令执行成功”消息。
所以我的问题是,是什么让 SQL Server 在执行查询后显示该消息?
据了解,该查询可能会返回一些值,根据该值,SQL Server 决定显示哪条消息。那么,根据哪个 SQL Server 显示成功消息返回的值是多少?
【问题讨论】:
标签: sql-server database-administration
消息选项卡显示SqlConnection.InfoMessage 返回的内容。这是一个 TDS 协议功能。 SQL Server 不仅可以返回结果集,它还可以返回消息和错误。
SSMS 没有决定显示什么。它只是输出 SQL Server 发送给它的任何内容。
【讨论】:
这是在TDS 层处理的,根据语句,客户端可能会返回令牌值之一..
此link 包含所有令牌
例如..
令牌流名称:DONE
表示 SQL 语句的完成状态。
此标记用于指示 SQL 语句的完成。由于可以在单个 SQL 批处理中将多个 SQL 语句发送到服务器,因此可以生成多个 DONE 令牌。在这种情况下,除了最终的 DONE 令牌之外的所有令牌都将具有一个设置了 DONE_MORE 位的状态值。
还可以查看此链接以了解how SQLServer executes a query。
【讨论】: