对于在专用SQL Server上运行的大型数据库(数千个存储过程),最好将其包含SET NOCOUNT ON在每个存储过程的顶部,或者在服务器级别设置该选项(属性->连接->“无计数”)复选框)?这听起来像适用DRY原则(“不要重复自己”),并且该选项应仅设置在一个位置。如果SQL Server还托管其他数据库,那将反对在服务器级别设置它,因为其他应用程序可能依赖它。最好的地方在SET NOCOUNT哪里?
SET NOCOUNT ON
SET NOCOUNT
将其设置为服务器的默认值(出于历史原因除外)。我从一开始就为所有服务器执行此操作。有没有想过为什么将SET NOCOUNT ON设置为SET COUNT OFF?这是因为早在Sybase时代,唯一的UI是CLI。当查询可能不显示任何结果,因此没有任何迹象表明已完成时,自然会显示计数。