web-dev-qa-db-ja.com

SQL Serverクラスターリソースは、ポート1433上にない限りオンラインになりません

2ノードのSQL Server 2008 R2クラスターは、リソースの1つが削除されるまで正常に動作します。正常に追加し直しました。ただし、以前に使用していたポートではなく1433にある場合を除き、クラスターはSQLサービスをオンラインにできません。以下は、アプリケーションエラーログです。

[sqsrvres] checkODBCConnectError:sqlstate = 08001;ネイティブエラー= 274d;メッセージ= [Microsoft] [SQL Server Native Client 10.0] SQL Serverへの接続を確立中にネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできません。インスタンス名が正しいかどうか、およびSQL Serverがリモート接続を許可するように構成されているかどうかを確認してください。詳細については、SQL Server Books Onlineを参照してください。

サービスのステータスはPending Onlineになり、しばらくするとオフラインになります。 SQL構成マネージャーを使用して、1433に戻しましたが、再び正常に動作します。

クォーラムのチェックポイントを無効にしてみました( SQL Serverの名前付きインスタンスの動的ポートをSQL Server 2005クラスターの静的ポートに変更する方法 )。古いエイリアスを使用しない限り、何も機能しませんポート番号。

ここで何か不足していますか?

5
dba

デフォルトのインスタンスのインストール(MSSQLSERVERのインスタンス名とポート1433)は、SQLブラウザーサービスを無効にします。これは、1433が想定されているためです。クラスター化されたSQLインストールでは、クラスターサービスはインスタンスに接続し、サーバーが起動していることを示すために「select @@ servername」を実行しようとしますが、これはデフォルトのインスタンスであるため、デフォルトで1433を使用しようとします。ポートを変更した後、SQLブラウザーサービスを再度有効にして、instance:portのマッピングが行われるようにしましたが、うまくいきませんでした。

試すことができるのは、デフォルトのインストールの仮想SQL名(ネットワーク名)を使用して各ノードにクライアント側のエイリアス(SQL Server構成マネージャーを使用)を設定し、SQLVIRTUALが指すようにポート番号をエイリアスに配置することです。 SQLVIRTUAL、3876、または変更しようとしているポート。この方法では、クラスターサービスがインスタンスをポーリングして1433にあるかどうかを確認しようとすると、エイリアスによって実際のポートにリダイレクトされます。このために動的ポートを使用することはできません。

2

この問題を手伝ってくれてありがとう。問題は、レジストリのremappipenamesが1ではなく0に設定されていたことです。値を1に戻した後、SQLサーバーリソースはデフォルト以外のポートを使用してオンラインにできました。また、エイリアスを使用する必要もありません。

2
dba