Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
Где разрешить распределённые транзакции ???

OLE DB provider "SQLNCLI" for linked server "SERVER" returned message "Партнерский диспетчер транзакций отключил поддержку удаленных и сетевых транзакций.".
Сообщение 7391, уровень 16, состояние 2, строка 23
The operation could not be performed because OLE DB provider "SQLNCLI" for linked server "SERVER" was unable to begin a distributed transaction.

По русски не могу найти Чо-то "туплю"...
Заранее спасибо!

PS Сервера линкованы, всё нормально работает кроме распределённого SELECT-а...
28 окт 09, 21:14    [7852554]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
AlexCzech
Member

Откуда:
Сообщений: 729
А MS DTC установлен и запущен ?
28 окт 09, 21:22    [7852567]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
Как это можно проверить, если я могу подключиться к SERVER только через ManagementStudio?
28 окт 09, 21:36    [7852591]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
проходящий.
Guest
SIMPLicity_
Как это можно проверить, если я могу подключиться к SERVER только через ManagementStudio?
А каким тут боком упомянутые продукты, если MS DTC - служба операционной системы. Вы знаете как смотреть службы в операционных системах семейства Windows?
28 окт 09, 21:54    [7852629]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
AlexCzech
Member

Откуда:
Сообщений: 729
Общая информация здесь:

тынц

Почитайте. Перевода на русский, к сожалению, нет
28 окт 09, 22:19    [7852718]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
Методом "тыкания в неизвестную кнопку только чётное число раз" проблемма частично решилась, однако...
Свелось к следующему - убрана настройка awe (сброшена в 0) ибо она не действовала, а фиксирование страниц в памяти почему-то настроить не удалось.


Зато вопрос стал более глобальным. Объясните идеологически почему требуется распределённая транзакция для:
insert #tmp_log exec LinkedServer.DataBase.dbo.ActionsList @FirstTime, @SecondTime

И совершенно нормально работает:
select * into #tmp_scl_artc_log from LinkedServer.DataBase.dbo.scl_artc_log


... суматоху в мосх вносит то, что сама процедура вполне нормально отрабатывает на стороне линкованного сервера и я получаю результат её работы, но НЕ МОГУ получить этот же результат во временную таблицу ...
----------

... ну или потыкайте мордой в русский BOL .... :(
4 ноя 09, 13:04    [7880891]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
Glory
Member

Откуда:
Сообщений: 104760
Use the remote proc trans option to protect the actions of a server-to-server procedure through a Microsoft Distributed Transaction Coordinator (MS DTC) transaction. Set remote proc trans to 1 to provide a MS DTC-coordinated distributed transaction that protects the ACID (atomic, consistent, isolated, and durable) properties of transactions. Sessions begun after setting this option to 1 inherit the configuration setting as their default.
4 ноя 09, 13:07    [7880902]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
В общем, грустно ЭТО, но увы факт - то, что без особых проблем интуитивно делалось в MSSQL-7, в 2005/2008 приходится делать долгим и трудным путём.
Плата за прогресс и дань борьбе с вирусами - вероятно да...\

Помогла ссылка с этого форумам на базу знаний Microsoft: http://support.microsoft.com/kb/839279

Огромное спасибо Яндексу и форуму SQL.ru.
Может кто и на русский перевёл уже сиё тайное знание.
9 ноя 09, 19:55    [7904360]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
Glory, если честно, то устранение проблемы не внесло ясности в идеологию - почему просто выборка не требует задействовать DTC а выборка во временную таблицу - требует. Хотя и так и так мы получаем некий набор данных, в дальнейшен никак не связанный с источником...
9 ноя 09, 20:02    [7904377]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
Glory
Member

Откуда:
Сообщений: 104760
SIMPLicity_
Glory, если честно, то устранение проблемы не внесло ясности в идеологию - почему просто выборка не требует задействовать DTC а выборка во временную таблицу - требует.

А вы разве не знаете, что добавление данных как и вообще любое изменение данных в MSSQL происходит в транзакции
Т.е. insert - это уже транзакция
10 ноя 09, 10:56    [7906189]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
Glory
SIMPLicity_
Glory, если честно, то устранение проблемы не внесло ясности в идеологию - почему просто выборка не требует задействовать DTC а выборка во временную таблицу - требует.

А вы разве не знаете, что добавление данных как и вообще любое изменение данных в MSSQL происходит в транзакции
Т.е. insert - это уже транзакция


Понял. Если это постулат, то... Факт.

Тогда вопрос - а как же быть с select into. А если мы идём по пути исключений, почему бы не сделать исключение для insert exec?

О, кстати, не пробовал делать курсор с результатом запроса с прилинкованного сервера...
10 ноя 09, 15:02    [7908223]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
Glory
Member

Откуда:
Сообщений: 104760
SIMPLicity_
Glory
SIMPLicity_
Glory, если честно, то устранение проблемы не внесло ясности в идеологию - почему просто выборка не требует задействовать DTC а выборка во временную таблицу - требует.

А вы разве не знаете, что добавление данных как и вообще любое изменение данных в MSSQL происходит в транзакции
Т.е. insert - это уже транзакция


Понял. Если это постулат, то... Факт.

Тогда вопрос - а как же быть с select into. А если мы идём по пути исключений, почему бы не сделать исключение для insert exec?

О, кстати, не пробовал делать курсор с результатом запроса с прилинкованного сервера...

Вы рекомендованную настройку remote proc trans своего сервера проверяли вообще ?
10 ноя 09, 15:05    [7908253]     Ответить | Цитировать Сообщить модератору
 Re: SQL SERVER 2005 - где разрешить распределённые транзакции ???  [new]
SIMPLicity_
Member

Откуда: (((@)))
Сообщений: 8679
Glory
Вы рекомендованную настройку remote proc trans своего сервера проверяли вообще ?


Если честно, то пока настраивал, то крутил её, но нужного эффекта не достиг. Сечас, слава Богу, всё работает, но как этого добился - честно сказать, не понял. Из чтения мануалов, если совсем честно, то абсолютно ничего не понял. Чуть позже, когда ажиотаж утихнет, вернусь к изучению и анализу этой темы. Вероятно надо будет перечитать соответствующие разделы у Хендерсона (если там такое есть)... Может посоветуете, где об этом доступно написано. Вероятно, у меня просто крупные провалы в теории...
10 ноя 09, 16:23    [7908906]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить