2009-01-19 37 views
3

对于在专用SQL Server上运行的大型数据库(数千个存储过程),最好是将SET NOCOUNT ON包含在每个存储过程的顶部,或者在服务器级别设置该选项(属性 - >连接 - >“没有数“复选框)?这听起来像DRY原则(“不要重复自己”)适用,并且该选项应该设置在一个地方。如果SQL Server还托管了其他数据库,则会反对将其设置在服务器级别,因为其他应用程序可能依赖于它。 SET NOCOUNT的最佳去处是哪里?SET NOCOUNT的最佳地点在哪里?

回答

2

将其设置为服务器的默认值(除了历史原因外,这是默认值)。我从一开始就为所有服务器执行此操作。想知道为什么SET NOCOUNT ON而不是SET COUNT OFF?这是因为在Sybase时代,唯一的UI就是CLI;当查询可能显示没有结果时显示计数是自然的,因此没有指示它是完整的。

1

由于它是一个专用的服务器,我将它设置在服务器级别,以避免必须将其添加到每个存储过程。 唯一的问题就是如果你想要一个没有计数的存储过程。

相关问题