Какие-либо накладные расходы, связанные с использованием SQL Linked Servers между базами данных на одном сервере? - PullRequest
2 голосов
/ 18 ноября 2009

Мы ищем способы устранения проблем в различных средах разработки / тестирования / разработки.

В настоящее время мы должны помнить об изменении имени связанных серверов в хранимых процедурах при переходе с UAT на Production. Например, в Production производственный процесс в SMOLDB вызывает через связанный сервер LS_AUTH.AuthenticationDB.dbo.SomeSproc, потому что AuthenticationDB находится на другом сервере. Но в Dev и UAT SMOLDB и Authentication находятся на одном сервере.

Чтобы обойти этот риск, мы думаем, что будем устанавливать согласованные ссылки на связанные серверы во всех наших средах. Так что даже в UAT мы создали бы связанный сервер LS_AUTH, и SMOLDB все равно будет вызывать LS_AUTH.AuthenticationDB.dbo.SomeSproc

Входят ли вызовы на связанные серверы в сеть до их разрешения? Не уверен, хотим ли мы влиять на сетевой трафик в тех случаях, когда две базы данных находятся на одном сервере и не нужно проходить через связанный сервер.

Идея ServerVariables, я думаю, является вариантом ...

Ответы [ 3 ]

4 голосов
/ 18 ноября 2009

На сервере SQL вы также можете использовать синонимы, чтобы обойти эту проблему. Используйте синонимы в запросах и хранимых процедурах и просто подготовьте синонимы для рабочего сервера.

1 голос
/ 18 ноября 2009

Это может не сработать для вас, но у нас были похожие проблемы здесь. В нашей производственной среде у нас есть 2 сервера, каждый с 1 БД. Мы использовали связанные серверы для перехода вперед и назад между 2.

Теперь в наших средах тестирования / разработки мы использовали 2 экземпляра сервера SQL; MYSERVER \ LIVEDB и MYSERVER \ LOCALDB. Это позволило нам настроить связанные серверы точно так же, как мы работаем.

Что касается производительности; мы не заметили ничего необычного.

1 голос
/ 18 ноября 2009

Мы используем связанные серверы, чтобы сделать это как на производственных, так и на тестовых серверах. Мы никогда не замечали каких-либо потерь производительности. Трафик, конечно, не идет по сети.

...