none
SQL Azure VB.NET ODBC接続が、たまに強制的に切断される RRS feed

  • 質問

  • Windows 2003 Server で、定期的に、VB.NETのコンソールアプリ(バッチ)で
    SQL AzureにODBC接続してデータを読み書きしているんですが(処理件数は1回につき数件・一日に数十回起動します)
    バッチの処理は、数秒で終了しますし、セッションが残っていることは無いんですが

    4日に1回くらい、突然、以下のエラーが発生してしまいます。

    System.Exception: ExecuteSql Error ---> System.InvalidOperationException: 接続が無効にされています。 ---> System.Data.Odbc.OdbcException: ERROR [08S01] [Microsoft][SQL Server Native Client 10.0]TCP プロバイダ : 既存の接続はリモート ホストに強制的に切断されました。

    このように、強制的に切断される原因がわからないんですが、
    ご存知の方いらっしゃいましたら、ご教授ください。

    私の、現時点での推測は以下です。

    ・1 同一IPアドレスからの接続・同一SQL・同一SQL結果など、一定の条件が一定回数繰り返されると
       SQL Azureのセキュリティチェックに該当してしまい、強制終了される?
    ・2 SQL Azureは、接続する際に、間をあけたほうがいい?現状、次回起動まで1分 間をあけています
    ・3 SQL AzureへのODBC接続は、偶発的に接続に失敗することがある? そのため、諦めるしかない?


    よろしくお願いします。


    2013年3月20日 14:56

回答

  • Azure SQL Database の場合、内部的に Reconfiguration (リコンフィグレーション) が発生しており、Reconfiguration が発生すると、アプリケーションからデータベース間のセッションが閉じられるため、該当のエラーが発生する可能性があるかと思います。

    なお、現在は、4日1回の頻度で Reconfiguration (リコンフィグレーション) が発生することはあまりなく、メンテナンス ウィンドウもプレビューですが設定できるようになったので、影響を受ける頻度は少なくなっているのではないかと思います。

    Azure SQL Database ノード側の障害によりフェールオーバーが発生した場合は、同様のエラーがアプリケーション側に戻されますが、Design for Failure の思想にのっとり、アプリケーション側で該当エラーをハンドルし、リトライロジックを実装するなどが必要になるのではないかと思います。


    Azure SQL Database 接続問題 (Connectivity) の対処方法 (3 : 断続的に接続が失敗する場合)

    2021年7月5日 6:27
  • だいぶ昔の投稿で自己解決済のためで閉じます。スレッドの一番上に来てしまうと知らず更新してしまい申し訳ありません😅

    SQL databaseを動かすVMの移動等の再起動で接続が切れることがあるようです。


    2021年7月4日 14:54

すべての返信

  • だいぶ昔の投稿で自己解決済のためで閉じます。スレッドの一番上に来てしまうと知らず更新してしまい申し訳ありません😅

    SQL databaseを動かすVMの移動等の再起動で接続が切れることがあるようです。


    2021年7月4日 14:54
  • Azure SQL Database の場合、内部的に Reconfiguration (リコンフィグレーション) が発生しており、Reconfiguration が発生すると、アプリケーションからデータベース間のセッションが閉じられるため、該当のエラーが発生する可能性があるかと思います。

    なお、現在は、4日1回の頻度で Reconfiguration (リコンフィグレーション) が発生することはあまりなく、メンテナンス ウィンドウもプレビューですが設定できるようになったので、影響を受ける頻度は少なくなっているのではないかと思います。

    Azure SQL Database ノード側の障害によりフェールオーバーが発生した場合は、同様のエラーがアプリケーション側に戻されますが、Design for Failure の思想にのっとり、アプリケーション側で該当エラーをハンドルし、リトライロジックを実装するなどが必要になるのではないかと思います。


    Azure SQL Database 接続問題 (Connectivity) の対処方法 (3 : 断続的に接続が失敗する場合)

    2021年7月5日 6:27