Я знаю, что это довольно старый пост, но он был первым хитом в Google, когда я искал ответ.Приведенный выше ответ на тестирование был очень хорошей идеей.
Я проверил это и хотел обновить вышеупомянутое с некоторыми дополнительными деталями.
Область, которую вы создаете с помощью SET NOCOUNT ON, переходит клюбые процы, которые вызывает ваша процедура.Поэтому, если ваша процедура включает SET NOCOUNT ON, а затем вы вызываете sproc, этот sproc получает настройку SET NOCOUNT.Параметр исчезает, когда вы выходите из спрока, но параметр стекает в вызываемые спроки.Если вы установили NOCOUNT внутри вызываемого спрока, внешний спрок будет иметь установленный NOCOUNT, который он установил, и внутренний спрок не повлияет на внешний спрок.
Так что я думаю, что вам на самом деле не нужно сбрасыватьэто в конце вашего sproc, потому что ваши настройки никогда не будут вытекать из вашего sproc вверх;однако, если ваш sproc зависит от настройки, он должен установить его до того, как он ему понадобится, потому что, если он вызывается из другого sproc, он может иметь настройку, отличную от вашей.