1

У меня проблема с нашими скриптами базы данных. У нас есть три среды: DEV, QA и UAT. У нас есть две базы данных: DB1 и DB2. В DEV/QA эти две базы данных находятся на разных физических серверах, поэтому у нас есть связанный сервер с DB2 в DB1. Однако на UAT это единственный сервер с обеими базами данных.Проблемы со сценарием базы данных со связанным сервером

Наша проблема заключается в том, что скрипты, которые мы пишем, связаны со ссылкой на DB2 с использованием связанного сервера DB2, который не работает в UAT. Процесс, который мы принимаем, заключается в использовании ручных способов развертывания в UAT, что неэффективно.

Может кто-нибудь предложить, что можно сделать, чтобы улучшить это?

+0

Вы пытаетесь продвинуть свои сценарии из Dev/ца для ЕСХН? – maSTAShuFu

+1

В UAT определите пару связанных серверов, как и в DEV/QA, которые указывают на себя с именами, используемыми в DEV/QA. *** Однако, в этот день и в возрасте дешевых виртуальных машин, ПОЧЕМУ вы используете свои среды DEV и QA иначе, чем ваша среда UAT? Вероятно, вы потратили больше трудовых долларов, чем стоимость сервера. –

+0

Я бы обычно имел все ссылки в UAT и извлекал данные из среды dev/qa. В UAT вам понадобятся версии sps, каждый из которых ссылается на dev/qa, одинаковые коды разных источников. – maSTAShuFu

ответ

3

Вы можете создать связанный сервер в базе данных вашей базы данных UAT, ссылаясь на себя с тем же именем, что и связанный сервер в среде DEV/QA.

Предположим, что имя сервера базы данных UAT: MYUATSRVNAME (используйте вывод SELECT @@SERVERNAME). Вы можете создать связанный с самообслуживанием сервер с тем же именем, что и имя связанного сервера, используемое в вашем DEV/QA DB1. Предположим, что имя UVWXYZ, на базе данных UAT выполнить

EXEC sp_addlinkedserver @server='UVWXYZ',@srvproduct='',@provider='SQLNCLI',@datasrc='MYUATSRVNAME'; 

Таким образом, вы можете использовать одни и те же сценарии, ссылающихся то же имя связанного сервера. Например, этот запрос должен затем работать в DB1 на обоих DEV/QA и ЕСХН:

SELECT * FROM [UVWXYZ].[DB2].[your_schema].[your_table]; 
+0

Я ответил на этот вопрос, потому что он отвечает на мои вопросы. Тем не менее, проблема наличия связанного с собой связанного сервера заключается в том, что он является «соединенным с Loopback сервером», фактически снижает производительность и также не может выполняться в распределенных транзакциях. Спасибо за ваши данные. – Immortal

+1

@Immortal Добро пожаловать. Является ли производительность большой проблемой в вашей среде UAT? Вы поднимаете хорошие моменты в отношении производительности и распределенных транзакций, но не воссоздаете настройку на UAT так же, как DEV/QA. Я не вижу возможности сохранить ваши сценарии SQL одинаковыми. –

+0

да, вы правы, вот почему я сейчас боюсь :(к сожалению. – Immortal

 Смежные вопросы

  • Нет связанных вопросов^_^