SQL 仮想サーバーのクライアント接続の説明

文書翻訳 文書翻訳
文書番号: 273673
すべて展開する | すべて折りたたむ

目次

概要

この資料でマイクロソフトに関する基本的な説明します。SQL 仮想サーバー クライアント接続します。

詳細

重要です このセクション、メソッド、またはタスク、レジストリを変更する方法を示す手順が含まれています。ただし、レジストリを誤って変更すると深刻な問題が発生。そのため、慎重にこの手順を実行することを確認します。これを変更する前に追加された保護のため、レジストリのバックアップを作成します。その後、問題が発生した場合、レジストリを復元できます。レジストリを復元する方法の詳細については、Knowledge Base の資料を参照するのには、次の資料番号をクリックしてください。
322756 Windows でレジストリを復元する方法


SQL 仮想サーバーのクライアントの動作

Microsoft クラスター サーバー (MSCS)、信頼性と堅牢性を提供します。プラットフォームの上では、SQL Server のミッション ・ クリティカルなアプリケーションを構築できます。、MSCS を使用するほとんどのサーバー アプリケーションを変更する必要はありません。ただし、トランザクション ベースのアプリケーション (たとえば、サーバーなどデータベースMicrosoft SQL Server) 通常、変更が必要な場合、サーバー障害が発生した、フェイル オーバー サポートが正しくトランザクションの損失を防止します。整合性。MSCS で動作するために、クライアント アプリケーションの開発は比較的わかりやすい。データベースの復旧やエラーがアプリケーションを設計する必要があります。点を確認しています。

クラスター、SQL Server を使用しない場合でもサーバーを再起動するとサーバーは自動的にすべてのデータベースを回復します。するにはアプリケーションを一貫性のある状態では、使用、データベースが回復されたことを確認してください。データベース トランザクションがデータベースに正しくフェールオーバーを発生するようと整合性の取れた状態。フェイル オーバーが発生するとトランザクションが不完全であります。すべてのコミット済みのトランザクションの効果をする必要があります。 にロールバックする必要があります。保持します。

フェイル オーバー時に、クライアント アプリケーションを失うそのSQL Server サーバーに接続し、処理を続行する再接続する必要があります。サーバーへのクライアント接続 (たとえば、アプリケーションの状態にある場合Microsoft Internet Information Server [IIS] を使用して開発されています。状態を持たない) クライアント、サーバーに再接続して、処理を続行します。しない限り、クライアントとサーバーは共通の状態がある (たとえば、カーソルを開くセッション変数、Transact SQL グローバル変数、または tempdb 内のデータ)、フェイル オーバーはないです。クライアントに透明。このような場合は、クライアントを設計してください。アプリケーションの接続が失われた、するまたはリセットをユーザーに通知するか自動的に、サーバーへの接続を再確立するアプリケーションがあります。フェイル オーバーの発生時にコミットされていないトランザクションがロールバックされます。バックアップしてください。

クライアントをサーバの障害がどのように処理の説明です。標準を使用しない場合でも、すべての SQL Server クライアント アプリケーションについてクラスター仮想サーバー.エラー チェックのプロセスは非常の似ていますが、クラスターのクライアント データベース アプリケーションです。クラスター フェイル オーバーを開始すると、クライアント プログラムはデータベース接続では、エラー メッセージを受け取ります。は、どのようなクライアント プログラムを試みている時に発生したエラー メッセージに依存します。その時点での操作を行います。

場合は、SQL Server サーバー クラスター上で失敗しました 管理者、TCP リセット パケットは送信されません。場合は、SQL Server プロセスオペレーティング システム (Kill.exe) で強制終了、リセット パケットをします。送信します。

アプリケーションに含まれている場合このクライアント アプリケーションに影響する可能性があります。クエリ タイムアウト パラメーターまたはクエリのタイムアウトがゼロ (0) を指定できません。

アプリケーションの接続を開き、クエリのタイムアウト値があるない場合フェイル オーバーが発生した後、接続状態に残ります。 開いている接続が閉じられていません、事実とは以降の TCP パケットの送信されません接続を示す、接続が完全にアイドル状態です。フェイル オーバーは、TCP を送信しなかったためリセット パケットをクライアント アプリケーションには、開いている接続を待つ、クエリの結果をいつまでも (場合) は、無限のクエリのタイムアウト、および応答を停止 (ハング) するように接続が発生する可能性があります。

するにはクライアント アプリケーションの観点からこの問題に対処する、クエリを変更します。限られた数がタイムアウトしました。

仮想データベース障害時の動作

データベースの仮想サーバーを障害が発生した場合は、接続リンクが失敗しましたエラー メッセージは、待機中のクライアントに返されます。データベースでは、障害が発生しました。クラスターのノードをシャット ダウンし、同じノード上で再起動、設定するパラメーター。

Start\Programs\Administrative Tools (Common)\Cluster Administrator\Group\Failover\Properties
				
グループのフェールオーバーの既定のしきい値は 10 の再起動では 6 時間です。残りのノードにフェイル オーバーが発生するまでの期間。ただし、SQL Server再起動のしきい値では、SQL Server プロパティを使って、確認ことができます。SQL Server のクラスター リソースが、再起動を次の 3 つの既定のしきい値その SQL Server 900 秒で、既定では、グループに影響を。場合は、クライアントは、データベースが復旧している間に、サーバーに接続しようとしています、クライアントは、待機、データベース復元のエラー メッセージを受け取るし、する必要があります。短い待ち時間の後に再試行してください。

SQL Server 6.5 と 7.0 の SQL Server に関する考慮事項

SQL Server 6.5 と 7.0 の SQL Server を行動に記載されているとおりに正確には、前の「仮想データベース障害時の動作」のセクション。

SQL Server7.0 を実行する SQL Server 7.0 の仮想サーバーが 1 つだけの IP アドレスをサポートしているが、その他のポートにお客様が設定されているを聞く可能性があります。これです。「複数受信待ち TCP/IP ポート」「次の」を参照サポート技術情報の記事:
254321 INF: クラスター化された SQL Server アクション、注意事項および基本的な警告

Microsoft SQL Server 2000年に関する考慮事項

SQL Server 2000年の動作の違いをしました、SQL Server 6.5 と 7.0 の SQL Server のバージョン。

SQL Server 2000年が使用するポート

既定では、名前付きインスタンスが動的ポートでリッスンします。最初にゼロ (0) では、サーバーの設定、ポート、サーバーを起動します。オペレーティング システムとサーバーから、空いているポート番号を要求します。そのポートでリッスンします。サーバーがこのレジストリに記録し、使用して、同じポートするたびにします。

サーバー上でリッスンするように構成されている場合は、動的ポートとサーバーを失敗起動時に動的ポートでリッスンするように、[サーバーの別のポートを選択します。

場合は、静的な構成セットアップ中またはセットアップ後にサーバー ネットワーク ユーティリティを使用して、ポートします。このポートが使用されて場合は、TCP/IP 経由の受信に失敗します。

クライアントを検出、ポート番号がでの名前付きインスタンスに接続するには既定以外のポート番号。

接続情報が書き込まれます、このレジストリ キーの"LastConnect"キャッシュ:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\supersocketnetlib\lastConnect
各サーバーと、メソッドのエントリを検索します。レジストリに接続する使用されました。

クライアントします。障害が発生しない限り、各接続の接続情報を再利用するのには、新しい情報を re-negotiates します。これは、場合に発生する可能性があるポート番号誰かが変更されたためかが動的ポートである場合に変更されましたポートで使用するために再割り当ています。

中断した接続

接続が壊れていることができます 3 つの方法のとおりです。
  1. サーバーが失敗します。プロセスを強制終了して終了します。(システム サーバー プロセス ID [spid終了) またはアクセス違反 (AV) またはその他の原因は、オペレーティング ・ システムや必要なサービスは失敗します。
  2. マシンのハードウェア障害または停電。
  3. サーバーがシャット ダウンします。
このような切断された接続のさまざまな動作を展示場します。クライアント コンピューターで表示します。
  1. クライアントは、サーバー障害が発生した場合を受信します。接続の切断エラー メッセージ直ちに。この現象の影響をシミュレートすることができます。OSQL が接続する、時間のかかるクエリを実行し、 強制終了します。 SQL Server のプロセスを終了してください。クライアントを終了します。ODBC エラー メッセージです。
  2. コンピューター エラーはより複雑です。動作ことができます。少し接続損失の検出方法を変更します。

    場合は、クライアントの情報を読み取り中の途中で、接続が失われることがあります。データが停止されるためはすぐに検出します。

    クライアントのみの場合です。結果を待って、少しは動作が異なります。動作によって異なりますKeep Alive のクライアント コンピューターの構成によっては。

    上Microsoft Windows 2000 の Keep Alive が設定、クライアント コードでは、1 つの接続基礎。既定では、Keep Alive 30 秒に設定されます。つまり、ソケットが停止の 30 秒とは、クライアント内で検出したエラーを受信します。メッセージです。Windows NT 4.0 では、Keep Alive の設定することはできませんにあたり接続単位。Alive を維持に影響を与えるため、全体のコンピューターを設定する必要がありますサーバー上のすべてのアプリケーション。

    されているレジストリ キー参照を示します。
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveTime\REG_DWORD 30000

    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters KeepAliveInterval\REG_DWORD 1000
  3. サーバーのシャット ダウンを開始すると、サーバは待機します。クライアントを終了するが。ただし、クライアントが実行されている場合、サーバーは、サーバー内のスレッドを強制終了します。スレッドを強制終了するも可能性があります。異なるエラー メッセージをクライアントに。エラー メッセージは、接続を含めることができます。切断エラーです。ただし、ほとんどの場合、このエラー メッセージが表示します。
    "不明なエラーが発生した、接続されていることがあります。サーバーでの終了"。
    ODBC のネイティブ エラー コードは 0 に設定されます。(0) このケースが、エラー メッセージを返される、クライアント。

関連情報

SQL 仮想サーバー SQL Server 2005 でのクライアントの動作の詳細については、次のマイクロソフト開発ネットワーク (MSDN) Web サイトを参照してください。
http://msdn2.microsoft.com/en-us/library/ms189585.aspx

プロパティ

文書番号: 273673 - 最終更新日: 2011年7月25日 - リビジョン: 2.0
キーワード:?
kbhowto kbinfo kbclientserver kbsql2005cluster kbmt KB273673 KbMtja
機械翻訳の免責
重要: このサポート技術情報 (以下「KB」) は、翻訳者による翻訳の代わりに、マイクロソフト機械翻訳システムによって翻訳されたものです。マイクロソフトは、お客様に、マイクロソフトが提供している全ての KB を日本語でご利用いただけるように、翻訳者による翻訳 KB に加え機械翻訳 KB も提供しています。しかしながら、機械翻訳の品質は翻訳者による翻訳ほど十分ではありません。誤訳や、文法、言葉使い、その他、たとえば日本語を母国語としない方が日本語を話すときに間違えるようなミスを含んでいる可能性があります。マイクロソフトは、機械翻訳の品質、及び KB の内容の誤訳やお客様が KB を利用されたことによって生じた直接または間接的な問題や損害については、いかなる責任も負わないものとします。マイクロソフトは、機械翻訳システムの改善を継続的に行っています。
英語版 KB:273673
Microsoft Knowledge Base の免責: Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com