当我们在SQL Server中执行“Alter”查询时,我们得到“命令执行成功”消息。
所以我的问题是,是什么让SQL Server在执行查询后显示该消息?
据我所知,该查询可能返回一些值,具体取决于该值,SQL Server决定显示哪条消息。那么,根据哪个SQL Server显示成功的消息返回的值是什么?
答案 0 :(得分:1)
“消息”选项卡显示SqlConnection.InfoMessage
返回的内容。这是TDS协议功能。 SQL Server不仅可以返回结果集,还可以返回消息和错误。
SSMS没有决定要展示什么。它只输出SQL Server发送给它的任何内容。
答案 1 :(得分:1)
这是在TDS
层处理的,具体取决于语句,客户可以返回其中一个令牌值。
此link包含所有TOKENS
例如..
令牌流名称:DONE
表示SQL语句的完成状态。
此标记用于指示SQL语句的完成。由于可以在单个SQL批处理中将多个SQL语句发送到服务器,因此可以生成多个DONE标记。在这种情况下,除最终DONE标记之外的所有标记都将具有设置了DONE_MORE位的状态值。
另请查看此链接以了解how SQLServer executes a query。