web-dev-qa-db-ja.com

エイリアスがSQLServer 2008r2で機能しない

SQL Server 2008 R2インスタンスを搭載したサーバーがいくつかありますが、どのサーバーでもエイリアスが機能しません。

クライアントはTCP/IPを使用してこれらのサーバーに問題なく接続し、telnetはエイリアスに使用するIP /ポートで動作し、ファイアウォールの例外が作成されます。エイリアスを作成する場合を除いて、基本的にすべて正常に動作します。 TCP/IPまたは名前付きパイプ(ローカルサーバーまたは他のサーバーの1つ)を使用しているサーバー。

最新の累積的な更新をインストールしました。これはネイティブクライアントも更新します(これが問題の原因だと思います)が、まだ問題があります。奇妙な部分は、SQL Server 2005(ネイティブクライアント9)を使用してサーバー上にエイリアスを作成すると、2008r2インスタンスに接続できることです。助言がありますか?

15
Saba

ファイアウォールの問題、TCP/IPの問題ではなく、エイリアスを使用せずにサーバーに定期的に接続でき、エイリアスとの接続にのみ問題があることを確認した後、VistaとWindows7でこの問題が発生します。

解決策は、「SQLServer構成マネージャー」内の「SQLServerネットワーク構成」内に適切なポートを設定することです。

手順は次のとおりです。

[コンピューターの管理]-> [サービスとアプリケーション]-> [SQLServer構成マネージャー]-> [SQLServerネットワーク構成]に移動します

(コンピューター管理からではなく)SQLServer構成マネージャーを直接開くこともできることに注意してください。

次に、SQL Serverネットワーク構成で、まだ有効になっていない場合は、TCP/IPプロトコルを有効にします。

右クリックしてTCP/IPプロトコルのプロパティを開きます

次に、[IPアドレス]タブにいくつかのレコードがあります。

すべての人にTCPポート= 1433

X64オペレーティングシステムを使用している場合、2つの「SQLServerネットワーク構成」ノードがあります。1つは32ビット用で、もう1つは64ビット用です。両方のポートを確認してください。

幸運を

22
m1k4

私にとっての答えは、32ビットのCLICONFGを使用することでした。 Management Studioとインストールしようとしたアプリケーションは、どちらも64ビットサーバー上の32ビットアプリケーションでした。話の教訓は、64ビットと32ビットの両方のエイリアスを作成することです。

6
datawrangler

私にとって重要だったのは、エイリアスを作成するシーケンスでした。次のリンクを参照してください。 W2K8 R2 SQLエイリアスは接続されません すべて、CliConfigエイリアス、およびConfigurationManagerネイティブクライアント構成エイリアスを削除することから始めました。次に、CLICONFGバージョンを最初に追加して、再作成します。

  1. cLICONFGを実行します-TCPエイリアスを作成します(64ビットO/Sを使用している場合はデフォルトでx64バージョンになります)

  2. SQL Server Configuration Managerから、「SQL NativeClient10.0構成」の下にエイリアスを作成します。

SSMSを使用して接続してみてください-それは私にとってはうまくいきました。そうでない場合は、32ビットのセットアップを試すことができます。エイリアスを使用する開発中のアプリケーションはx86であるため、とにかくこれを行いました。

  1. %SystemRoot%/ SysWow64/CliConfg.exe(64ビットO/S上の32ビットバージョン)
  2. 構成マネージャーツールの下の「SQLNativeClient 10.0構成(32ビット)」。
6
Tom Brown

名前付きインスタンスを使用していますか?もしそうなら、ポートが静的に割り当てられていることを確認しましたか?

デフォルトのインスタンスを使用している場合、x64プラットフォームで実行していますか? 32ビットと64ビットのエイリアスがあるため、データベースエンジンと同じボックスのSSMSは、ボックスが64ビットであっても、32ビットセクションのエイリアスを使用します。

2
SPE109

マシン名、localhost、または。(dot)の代わりに、127.0.0.1などのIPアドレスを使用して試してください。

1
Yves

私にとってこれは、64ビットマシンでエイリアスを作成したが、ソフトウェアが32ビットアプリケーションとして実行されていたことが原因でした。

Sql Server Configuration Managerの場合、次のセクションでエイリアスがbothに設定されていることを確認してください。

  1. SQL Native Client {VersionNo}構成
  2. SQL Native Client {versionNo}構成(32ビット)

そうすれば、プロセッサプラットフォームに関係なく利用できるようになります。もちろん、何らかの理由で1つのプラットフォームでのみエイリアスを使用できるようにしたい場合は、適切なエイリアスを設定し、もう一方は設定しないでください。

1
Alan Macdonald

私の場合、接続にポートを配置した場合にのみ機能しました[server]\[instance]、[port]。例:DBSERVER\OPERATIONS、14

0
Jorge Cribb

また、エイリアスが有効になっているリスナーを使用していることを確認します(サーバーが共有メモリ経由でのみリッスンしているときに、エイリアスがTCPを使用するように構成されていますか?)

0
Scott Brickey