Как создать псевдоним для именованного экземпляра SQL Server

8

На моем компьютере разработчика у меня есть экземпляр SQL Server с именем developer_2005 . В файлах настроек ресурсов создаваемого нами приложения C # имя экземпляра устанавливается на foobar (не совсем, но просто в качестве примера). Поэтому, когда я запускаю приложение (в режиме отладки или выпуска), оно пытается подключиться к SQL Server на локальном хосте с именем foobar .

Мне интересно, возможно ли создать псевдоним или что-то подобное, чтобы приложение действительно находило SQL Server на локальном хосте с именем foobar , но на самом деле оно подключается к экземпляру с именем developer_2005 .

Строка подключения в файле конфигурации приложения: Источник данных = localhost \ foobar; Начальный каталог = barfoo; Интегрированная безопасность = True с именем поставщика System.Data.SqlClient . Если я изменю localhost \ foobar на localhost \ developer_2005, тогда приложение может подключиться так, как должно. Как я могу создать псевдоним, чтобы мне не пришлось менять строку в файле?

В SQL Server Management Studio я пытался создать регистрацию сервера с зарегистрированным именем сервера «localhost \ developer», но, похоже, это не помогло. Даже не уверен, что это на самом деле ... Но потом я обнаружил Диспетчер конфигурации SQL Server \ Конфигурация собственного клиента SQL \ Алиасы. И я полагаю, что именно в этом и заключается решение. Но я не могу понять, как добавить новый ... При создании нового я должен указать псевдоним, номер порта, протокол и сервер, и у меня нет ни малейшего понятия, что вставлять любой из них.

Svish
источник

Ответы:

6

Псевдоним: foobar (имя, которое вы хотели бы использовать)

Имя сервера: фактическое имя вашего компьютера или IP-адрес (не localhost или 127.0.0.1)

Протокол: TCP / IP

Порт: по умолчанию (1433)

Убедитесь, что протокол TCP / IP включен (по умолчанию отключен)

Измените строку подключения, чтобы использовать новый псевдоним (источник данных = foobar)

Хакан Винтер
источник
Имя сервера, localhost , является правильным. Это имя именованного экземпляра, для которого мне нужно создать псевдоним.
Свиш
Тогда вы должны использовать localhost \ instancename в качестве имени сервера.
Массимо
как насчет псевдонима? Должен ли я использовать localhost \ developer_2005 в качестве имени сервера и localhost \ foobar в качестве псевдонима? Будет ли это работать?
Свиш
Я проверил лучше ... похоже, ты действительно можешь это сделать. По крайней мере, в SQL Server 2008 (не знаю, будет ли он работать в 2005 году).
Массимо
Я отредактировал свой ответ, попробуйте это.
Массимо
1

Вы правы, вам нужно определить новый псевдоним в конфигурации Native Client.

  • Имя псевдонима: псевдоним, который вы хотите создать
  • Имя сервера: фактическое имя сервера
  • Протокол: TCP / IP
  • Порт: по умолчанию (1433)

Попробуй это:

  • Псевдоним: localhost \ foobar
  • Имя сервера: localhost \ developer_2005
  • Протокол: TCP / IP
  • Порт: 1433
Massimo
источник
И вот где я. Но что я положу в эти поля? Я не совсем понимаю ...
Свиш
Строка подключения в файле конфигурации: Источник данных = localhost \ foobar; Начальный каталог = barfoo; Интегрированная безопасность = True с именем поставщика System.Data.SqlClient . Для правильного подключения я должен изменить localhost \ foobar на localhost \ developer_2005 . Как я могу создать псевдоним, чтобы мне не пришлось это делать?
Свиш
Это не может быть сделано; Ваша строка подключения ищет именованный экземпляр с именем foobar , псевдонимы могут использоваться только в качестве имен верхнего уровня, а не так, как они сами были названы экземплярами.
Массимо
Таким образом, нет способа решить эту проблему, кроме изменения строки подключения в приложении?
Свиш
Я проверил лучше ... похоже, ты действительно можешь это сделать. По крайней мере, в SQL Server 2008 (не знаю, будет ли он работать в 2005 году).
Массимо