ミラーリング-サーバーのネットワークアドレスに到達できません


12

SQL Server 2008 R2がインストールされています。3つのインスタンスが含まれています。

  1. デフォルト(MSSQLServer)
  2. 最初のインスタンス
  3. 2番目のインスタンス

これらはすべて、ネットワークサービスとしてログオンです。

デフォルトのインスタンスはプリンシパルサーバーです。最初のインスタンスはミラーリングです。2番目のインスタンスは監視サーバーです。

最初に、プリンシパルデータベースのフルバックアップとトランザクションログバックアップを取得しました。同じデータベース名を保持して最初のインスタンスに復元し、リカバリ状態はリカバリなしです

最後に、ミラーリングを開始しましたが、次に示す2つのエラーメッセージが表示されます。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

回答:


12

基本的な接続テストを試してください。

  1. 5022、5023、および5024がリッスンしていることを確認します。
  2. 使用しているサーバー名が正しいことを確認してください。

コマンドラインから:

netstat -an

ここに画像の説明を入力してください

私のサーバーでは、5022がリッスンしていることがわかります。

次に、telnetを介してこれらのポートに接続できることを確認します

telnet fully-qualified-server-name 5022

ミラーリングプロパティGUIの[監視]フィールドのすぐ下にある[ メモ]セクションで言及しているように、サーバー名は完全修飾tcpアドレスである必要があります。

ここに画像の説明を入力してください

黒い画面が表示されるだけです。この例では、接続エラーの原因となる名前を選択しました。「接続を開けませんでした」と表示された場合、ミラー、プリンシパル、およびミラーリング監視サーバーとして定義されているサーバーに到達できないか、正しい名前を使用していません。

telnetクライアントは、Windows 2008の機能の下に追加できます。

Windows 2008では、[コンピューター]を右クリックすると、完全なコンピューター名が表示されます。コマンドラインからもpingできるはずです。例:ping myservername

更新

各SQL Serverインスタンスで次のクエリを実行し、結果を質問に入れてください。これらのトラブルシューティングのヒントの多くは、http//msdn.microsoft.com/en-us/library/ms189127.aspxからのものです

TCPエンドポイントを表示する

SELECT type_desc, port FROM sys.tcp_endpoints;

ミラーリングエンドポイントのステータスを表示する

SELECT state_desc FROM sys.database_mirroring_endpoints;

ROLEが正しいことを確認してください

SELECT role FROM sys.database_mirroring_endpoints;

エンドポイントへのアクセス許可を表示する

SELECT EP.name, SP.STATE, 
   CONVERT(nvarchar(38), suser_name(SP.grantor_principal_id)) 
      AS GRANTOR, 
   SP.TYPE AS PERMISSION,
   CONVERT(nvarchar(46),suser_name(SP.grantee_principal_id)) 
      AS GRANTEE 
   FROM sys.server_permissions SP , sys.endpoints EP
   WHERE SP.major_id = EP.endpoint_id
   ORDER BY Permission,grantor, grantee; 
GO

他のサーバーインスタンスからのサービスアカウントのログインには、CONNECT権限が必要です。他のサーバーからのログインにCONNECT許可があることを確認してください。エンドポイントに対するCONNECT権限を持っている人を特定するには、各サーバーインスタンスで次のTransact-SQLステートメントを使用します。

出力例:

name    STATE   GRANTOR PERMISSION  GRANTEE
TSQL Local Machine  G   sqladmin    CO      public
TSQL Named Pipes    G   sqladmin    CO      public
TSQL Default TCP    G   sqladmin    CO      public
TSQL Default VIA    G   sqladmin    CO      public
Mirroring   G   SERVERNAME\Grantor  CO      SERVERNAME\Grantee

Grantorは(CO)接続許可を割り当てたアカウント、Granteeは接続許可を持つアカウントです

コマンドラインから実行しipconfig /all、ホスト名が返す内容を確認します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.