名前付きSQL Serverインスタンスのエイリアスを作成する方法


8

開発者のコ​​ンピューターには、developer_2005という名前のSQL Serverインスタンスがあります。私たちが作成しているC#アプリケーションのリソース設定ファイルでは、インスタンス名はfoob​​arに設定されています(実際ではありませんが、例として)。したがって、アプリケーションを(デバッグまたはリアルタイムで)実行すると、foob​​arという名前のローカルホスト上のSQL Serverに接続しようとします。

エイリアスなどを作成して、アプリケーションが実際にfoob​​arという名前のlocalhostでSQL Serverを見つけ、実際にはdeveloper_2005という名前のインスタンスに接続しているのではないかと思います。

アプリケーションの構成ファイルの接続文字列は、データソース= localhost \ foobar;初期カタログ= barfoo;統合セキュリティ= Trueで、プロバイダー名はSystem.Data.SqlClientです。localhost \ foobarlocalhost \ developer_2005に変更すると、アプリケーションは正常に接続できます。ファイルの文字列を変更する必要がないように、エイリアスを作成するにはどうすればよいですか?

SQL Server Management Studioで、登録されたサーバー名 "localhost \ developer"を使用してサーバー登録を作成しようとしましたが、これでは効果がなかったようです。それが実際に何をしたかさえわかりません...しかし、SQL Server構成マネージャー\ SQLネイティブクライアントの構成\エイリアスを発見しました。そして、私はこれが解決策があるところだと思います。しかし、私は新しいものを追加する方法を完全に理解できません...新しいものを作成するとき、私はエイリアス名、ポート番号、プロトコル、およびサーバーを提供する必要があり、私は実際に何を入れるべきか手掛かりがありませんそれらのどちらか。

回答:


6

エイリアス名:foobar(使用したい名前)

サーバー名:コンピューターの実際の名前またはIPアドレス(localhostまたは127.0.0.1ではありません)

プロトコル:TCP / IP

ポート:デフォルトのポート(1433)

TCP / IPプロトコルが有効になっていることを確認します(デフォルトでは無効になっています)

新しいエイリアスを使用するように接続文字列を変更します(Data Source = foobar)


サーバー名localhostは正しいです。これは、エイリアスを作成する必要がある名前付きインスタンス名です。
Svish

次に、サーバー名としてlocalhost \ instancenameを使用する必要があります。
マッシモ

エイリアス名はどうですか?サーバー名としてlocalhost \ developer_2005を使用し、エイリアスとしてlocalhost \ foobarを使用する必要がありますか?うまくいきますか?
Svish

よく確認しました...実際にそれができるようです。少なくともSQL Server 2008では(2005年に機能するかどうかわからない)。
マッシモ

私は私の答えを編集しました、それを試してください。
マッシモ

1

あなたが正しい、あなたがする必要があるのはNative Clientの設定で新しいエイリアスを定義することです。

  • エイリアス名:作成するエイリアス
  • サーバー名:実際のサーバー名
  • プロトコル:TCP / IP
  • ポート:デフォルトのポート(1433)

これを試して:

  • エイリアス名:localhost \ foobar
  • サーバー名:localhost \ developer_2005
  • プロトコル:TCP / IP
  • ポート:1433

そして、それは私がいるところです。しかし、私はそれらのフィールドに何を入れますか?よく
わかり

構成ファイルの接続文字列はData Source = localhost \ foobar; Initial Catalog = barfoo; Integrated Security = True with provider name System.Data.SqlClientです。正しく接続するには、localhost \ foobarlocalhost \ developer_2005に変更する必要があります。エイリアスを作成する必要がないようにするにはどうすればよいですか?
Svish

これはできません。接続文字列はfoob​​arと呼ばれる名前付きインスタンスを探しています。エイリアスは、それ自体が名前付きインスタンスではなく、トップレベルの名前としてのみ使用できます。
マッシモ

アプリケーションで接続文字列を変更する以外に、これを解決する方法はありませんか?
2008

私はもっ​​とよくチェックしました...あなたは実際にそれをすることができるようです。少なくともSQL Server 2008では(2005年に機能するかどうかわからない)。
マッシモ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.