5

/クエリ通知を持つサーバーでアプリケーションを実行していますSqlDependency-別のサーバー上のテーブルの変更を監視しています。

SQL Server を再起動/再起動するまで問題なく動作します。一部のメンテナンスやパッチのために SQL Server を再起動すると、他のアプリケーションが次のエラーをスローして停止します。SQL Server が起動して実行されると、変更を監視しないため、停止したと断言できます。

クエリ通知を再サブスクライブするには、アプリケーションを再起動する必要があります。アプリケーションを停止するコード内で例外をスローしていません。例外をキャッチしてメールを送信しています。

System.Data.SqlClient.SqlException (0x80131904): サーバーに要求を送信するときに、トランスポート レベルのエラーが発生しました。(プロバイダー: TCP プロバイダー、エラー: 0 - 既存の接続がリモート ホストによって強制的に閉じられました。) --->

System.Data.SqlClient.SqlException (0x80131904): SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。

私はSqlDependency/ 通知のクエリを初めて使用するので、これが予想される動作なのか、間違っているのかわかりません。再サブスクライブするためにジョブを再起動する必要がないことは、(他の投稿 ( SqlDependency Reliablity? ) から) 私の理解です。

あなたの時間と答えに感謝します

4

1 に答える 1

0

SQL Server を再起動すると、サービスが停止し、SQL Server に接続されているすべてのアプリケーションで次のエラーがスローされるため、これは正常です。

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。

この問題を回避するために、アプリケーションごとに異なるインスタンスを使用できます。この問題を回避するために、別の名前で新しいサーバー インスタンスをインストールできます。単一の SQL Server インスタンスを再起動すると、他の SQL Server インスタンスはオンラインのままになります。

次の手順に従って、新しい SQL Server インスタンスをインストールまたは作成できます。

https://4sysops.com/archives/how-to-create-a-new-sql-server-2012-instance/

于 2015-10-23T01:12:48.130 に答える