Распределенный запрос в SQL Server 2008 - PullRequest
0 голосов
/ 19 ноября 2011

Я изучаю распределенный запрос и использую SQL Server 2008 для практики.

Я успешно получил данные со связанного сервера с помощью оператора OPENROWSET.

Теперь я хочу обернуть некоторые операторы изменения данных в транзакцию и выполнить на связанном сервере.Как мне это сделать?Является ли эта транзакция такой же, как транзакция на локальном сервере?

Кроме того, как мне реализовать параметры безопасности, чтобы предотвратить получение пароля для входа на связанный сервер?Пароль является параметром процедуры sp_addlinkedsrvlogin.

1 Ответ

1 голос
/ 19 ноября 2011

Запрос должен участвовать в распределенной транзакции (требует, чтобы MSDTC был установлен и настроен на обоих концах, а соответствующие порты на брандмауэре открыты ...).По возможности старайтесь не оставлять открытыми транзакции по распределенным запросам.

Может иметь значение: ИСПРАВЛЕНИЕ: Сообщение об ошибке при запуске распределенного запроса в SQL Server 2005 или SQL Server 2008: «Поставщик OLE DB»«SQLNCLI для связанного сервера», «возвращенное сообщение« Нет активных транзакций »»

Проблема распределенных транзакций для связанного сервера в SQL Server 2008

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

Из вики :

Системы баз данных реализуют распределенные транзакции как транзакции против нескольких приложений или хостов.Распределенная транзакция реализует свойства ACID в нескольких системах или хранилищах данных и может включать такие системы, как базы данных, файловые системы, системы обмена сообщениями и другие приложения.В распределенной транзакции координирующий сервис гарантирует, что все части транзакции применяются ко всем соответствующим системам.Как и в случае с базой данных и другими транзакциями, если какая-либо часть транзакции завершается неудачей, вся транзакция откатывается по всем уязвимым системам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...