新しいサーバーと更新されたバージョンのMicrosoft SQL Serverを使用してテスト環境をアップグレードしていますが、問題が発生しています。
新しいサーバーでは、一部のストアドプロシージャを実行すると、古いコードに「オブジェクトが閉じられているときは操作が許可されません」が表示されます。このメッセージは古いサーバーには表示されませんでした。追跡するSET NOCOUNT ON;
と、ストアドプロシージャに追加することで問題を解決できます。
データベースのデフォルトを調べましたが、デフォルトに関連する異なる設定(SQL Server 2008とSQL Server 2014)はありませんでした。
SET NOCOUNT ON
1000のストアドプロシージャに追加する必要なく、これをグローバルに解決するには、どの設定を検討する必要がありますか?
@AaronBertrand同意します。私は上のNOCOUNTを設定していた持っていたテンプレートにあったが、それはこの時点では、このプロジェクトではオプションではありません最後のプロジェクト
—
UnhandledExcepSean
スクリプトを記述して、すべてのストアドプロシージャを変更し、ストアドプロシージャ
—
エリックA
SET NOCOUNT ON;
の開始時(後にBEGIN
)に追加できることに注意してください。ストアドプロシージャの数は、実際には問題になりません。
@ Erik-A-ストアドプロシージャが始まることを確信することはできません
—
マックスヴァーノン
BEGIN
-それは素晴らしいですが、必須ではありません。
SET NOCOUNT ON;
。