Добавление связанного сервера — SQL Server 2005 — Изменение имени позже

Я разрабатываю веб-приложение в тестовой среде с тестовыми SQL-серверами и базами данных. В настоящее время я добавляю связанный сервер и получаю доступ к базам данных и таблицам на связанном сервере, используя [Servername].[DatabaseName].dbo.[TableName].

Но после запуска в производство имя сервера БД изменится. Итак, мне нужно снова открыть каждую хранимую процедуру и изменить имя сервера?

Какова обычная практика?

Спасибо.


person NLV    schedule 02.02.2010    source источник


Ответы (1)


Имя ссылки не обязательно должно совпадать с фактическим именем целевого сервера. Простое решение — использовать одно и то же имя связанного сервера как на сервере разработки, так и на рабочем сервере, просто ссылаясь на разные фактические серверы. Например, сервер разработки может ссылаться сам на себя.

person RobC    schedule 02.02.2010
comment
О, значит, фактическое имя указывает на имя добавленного нами провайдера, а не на исходное имя сервера. Теперь я понимаю. Спасибо. - person NLV; 02.02.2010
comment
Если я не даю то же имя, что и целевой сервер, и пытаюсь выполнить какой-либо запрос, я получаю сообщение об ошибке [DBNETLIB][ConnectionOpen (Connect()).]SQL Server не существует или доступ запрещен. - person NLV; 02.02.2010
comment
Когда вы вызываете процедуру sp_addlinkedserver для настройки связанного сервера, передайте локальное имя для параметра @server и имя удаленного сервера для параметра @datasrc. Дополнительные сведения см. в документации по процедуре sp_addlinkedserver. - person RobC; 02.02.2010
comment
Я делаю это через студию управления сервером sql. Любые идеи, как настроить имя там? - person NLV; 02.02.2010
comment
Щелкните правой кнопкой мыши узел сервера в самом верху дерева обозревателя объектов, выберите New Query, затем введите sp_addlinkedserver @server='mylocalname', @srvproduct='', @provider='SQLOLEDB', @datasrc='myremotename' и нажмите кнопку «Выполнить». (Замените mylocalname локальным именем, которое вы хотите использовать, и то же самое с myremotename. myremotename может включать обратную косую черту, если это именованный экземпляр.) - person RobC; 02.02.2010
comment
Спасибо, это сработало. Я также установил удаленный вход для удаленного сервера, используя SP_addLinkedsrvlogin. - person NLV; 02.02.2010