コンピューターに複数のSQL Serverインスタンス(異なるバージョン)があります。各インスタンスのエイリアスを (
最初にすべてを解決したと思いましたが、接続するエイリアス名に関係なく、すべてSQL2017インスタンスにつながります。
もっと情報を提供したいのですが、どこから始めればよいかわかりません。そして、私が何を間違っているのか考えていますか?
SQL Serverインスタンスに正しく接続するには、network library
がIP address
とport number
の2つのことを知っている必要があります。これら2つは必要十分です。
named instance
の「名前」はlibrary
に違いはありません。named instances
が導入されたときに発明され、port number
を決定するためだけに使用されます。
port number
がconnection string
にない場合、network library
はSQL Server Browser
(UDP 1434)にinstance name
を送信するよう要求します。応答としてport number
を受け取ります。
接続文字列にport number
がある場合、インスタンス名は無視されます。
instance name
をbla-bla-bla
に変更して、自分でテストできます。alias
を作成するか、単にSSMS
接続ダイアログ.\bla-bla-bla,1433
を入力すると、 default instance
に接続されている。
逆も同様です。instance name
のnamed instance
を省略して、named instance
がリッスンしている正しいport
を指定した場合。たとえば、.,8852
where 8852
は、名前が指定されていなくても、このnamed instance
に接続されるnamed instance
のport
です。
ボックスで実行されている名前付きインスタンスがある場合、ポート番号は非常に重要です。各エイリアスを一意にするには、tcp/ipプロパティにある各インスタンスに関連付けられているポート番号を使用する必要があります。
いくつかの便利なリンク:
パラメータフィールドとサーバーは、トラフィックを正しいインスタンスに転送するために最も重要です。
たとえば、以下はホスト名(ここにサーバー名を入力)と2466でリッスンしているインスタンスに接続します。
アプリサーバー(その他)からリモートで接続するには、64ビットと32ビットの両方にcliconfg.exeを使用して同じエイリアス名を構成する必要があります。これは、エイリアスにリモートで接続するのに役立ちます。
また、他のインスタンスが動的ポートを使用していないことを確認する必要があります。そうしないと、再起動後にポート番号が変更され、エイリアスが再び壊れます。