Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Apecc
Member

Откуда:
Сообщений: 9
Добрый день. Решили связать переход на новое железо с переходом на новый софт.

Был SQL Server 2005 sp3 entp eng x32 на ОС Windows Server 2008 sp2 entp rus x32

Новый SQL Server 2008 R2 + sp1 entp eng x64 на ОС Windows Server 2008 R2 sp1 entp rus



на SQL Server есть созданный линкен-сервер к оракл 9i

на старом он был настроен через MSDAORA, как я понял этот драйвер поддерживается только для х32 систем

на новом настроил через OraOLEDB.Oracle, в тестовом режиме все прекрасно работало шли insert,select и т.п. с помощью openquery без проблемм.

Как только перенесли рабочую базу начались проблемы. С помощью профайлера удалось отловить вот такие ошибки

OLE DB provider "OraOLEDB.Oracle" for linked server "мой линкен" returned message "Не удается прикрепить новую транзакцию к указанному координатору транзакций. ".

и

The operation could not be performed because OLE DB provider "OraOLEDB.Oracle" for linked server "мой линкен" was unable to begin a distributed transaction.

у пользователей периодитески вываливаются ошибки с таким же текстом. Причем опять же когда наблюдал за одним пользователем через профайлер было видно что у него непроходит именно Insert openquery(...) а потом при второй(третьей..) попытке все нормально, чаще все проходит с первого же раза.

Смотря "Статистика транзакций" в "Службе компонентов" видно что прерваных транзакций примерно 10-20%.

Вообщем как то так. Если что то непонятно изъяснил то спросите я отвечу. Все настройки проверил куда рыть уже не знаю.(((

Ткните меня носом.

ЗЫ Такое чувство что чего не хватает, либо памяти либо еще чего то.
5 авг 11, 13:53    [11076394]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
https://www.sql.ru/forum/actualtopics.aspx?search=was+unable+to+begin+a+distributed+transaction&submit=%CD%E0%E9%F2%E8&bid=1
5 авг 11, 13:57    [11076434]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Apecc
Member

Откуда:
Сообщений: 9
pkarklin,

Я умею пользоваться поиском. И все эти темы читал. Все настройки делал. Если бы у меня чего не было настроено то связь бы ваще не работала а так у меня теряется 10-20% распределеных транзакций. Может я конечно чего то и недоглядел, то ткните меня туда. буду тока рад такому уроку
5 авг 11, 14:30    [11076641]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
Имхо, теряться может 10-20% потому что далеко не все транзакции распределённые...
Права у службы MSDTC на каталог с Ораклом есть?
5 авг 11, 14:39    [11076698]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Apecc
Member

Откуда:
Сообщений: 9
Geep,

MSDTC работает из под учетки network service. ей даны все права на каталог с установленым оракл клиентом
5 авг 11, 14:42    [11076727]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Apecc
Member

Откуда:
Сообщений: 9
если бы не хватало прав то все бы транзакции не работали(или я не прав?)

Geep
Имхо, теряться может 10-20% потому что далеко не все транзакции распределённые...

процент в разное время может быть разным это тока примерно за сутки, сначало думал что от нагрузки зависит но ошибку ловили и когда работало всего пару человек.
транзакции типа insert openquery(линкенсерв, ... и т.д. разве не распределеные?
5 авг 11, 14:48    [11076779]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
Писал когда то тесты для связки сиквел-оракл.
Соорудите что нибудь подобное, чтобы явно использовались распределённые тракзакции:
	--	Устанавливаем автоматический откат текущей транзакции,
	--	если инструкция языка Transact-SQL вызывает ошибку выполнения.
	SET XACT_ABORT ON
	GO

	--	Объявляем тестовую переменную.
	DECLARE	@nuACAQOBL	numeric(1,0)

	--	Начинаем распределенную транзакцию.
	BEGIN DISTRIBUTED TRAN

	--	Получаем значение тестового столбца, 
	--	сохранив его в переменной и заблокировав запись по ключу.
	SELECT	@nuACAQOBL = x.[ACAQOBL]
	FROM	OPENQUERY(
	GOLD, 'SELECT a.ACAQOBL FROM ARTCAISSE a
	WHERE  a.ACACODE = ''00126'' AND a.ACASITE = 10501
	AND	a.ACADDEB = TO_DATE(''2009-01-28'',''YYYY-MM-DD'') FOR UPDATE NOWAIT'
	) x		

	--	Выводим текущее значение тестового столбца.
	SELECT	@nuACAQOBL  AS [ACAQOBL]

	--	Изменяем значение тестового столбца,
	--	если 0, изменяем на 1, в других случаях пишем 0. 
	UPDATE	x
	SET		x.[ACAQOBL] = CASE @nuACAQOBL
			WHEN 0 THEN 1 ELSE 0 END
	FROM	OPENQUERY(
	GOLD, 'SELECT a.ACAQOBL FROM ARTCAISSE a
	WHERE  a.ACACODE = ''00126'' AND a.ACASITE = 10501
	AND	a.ACADDEB = TO_DATE(''2009-01-28'',''YYYY-MM-DD'')'
	) x

	--	Получаем значение тестового столбца после обновления.
	SELECT	x.[ACAQOBL]
	FROM	OPENQUERY(
	GOLD, 'SELECT a.ACAQOBL FROM ARTCAISSE a
	WHERE  a.ACACODE = ''00126'' AND a.ACASITE = 10501
	AND	a.ACADDEB = TO_DATE(''2009-01-28'',''YYYY-MM-DD'')'
	) x

	--	Число активных транзакций для текущего соединения.
	PRINT	@@TRANCOUNT
	GO

	--	Блокируем выполнение транзакции до истечения интервала времени.
	WAITFOR DELAY '00:00:45'

	--	Здесь можно поэкспериментировать с заблокированной записью
	--	из другой сессии. Простой <SELECT> вернет строку со значениями
	--	до начала транзакции, <SELECT FOR UPDATE> будет ожидать завершения
	--	транзакции и снятия экслюзивной блокировки, <SELECT FOR UPDATE NOWAIT>
	--	вернёт ошибку "ORA-00054: указан занятый ресурс и его получение 
	--	с опцией NOWAIT"... 

	--	Завершаем транзакцию.
	IF	@@TRANCOUNT <> 0 COMMIT	TRAN
5 авг 11, 14:52    [11076795]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
shalomb
Member

Откуда: Израиль
Сообщений: 92
просто 2008 не все драйвера есть ,если посмотришь нет драйверов с Ехселем и т д . ,Макрософт рекомендует установить BCP от 2005 и все будет как в 2005
6 авг 11, 20:39    [11081263]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Apecc
Member

Откуда:
Сообщений: 9
Geep
Писал когда то тесты для связки сиквел-оракл.
Соорудите что нибудь подобное, чтобы явно использовались распределённые тракзакции:

Используются точно распределённые тракзакции.

shalomb
просто 2008 не все драйвера есть ,если посмотришь нет драйверов с Ехселем и т д . ,Макрософт рекомендует установить BCP от 2005 и все будет как в 2005

Вы имеете ввиду эту BCP. Просто не совсем понял что вы имеете ввиду дрова установить от 2005
8 авг 11, 06:08    [11083589]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
Оракловый клиент какой версии у Вас?
8 авг 11, 13:10    [11085330]     Ответить | Цитировать Сообщить модератору
 Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Geep
Member

Откуда: Москва
Сообщений: 975
Linked Server по IP-адресу пробовали создавать? Возможно разрешение имён хромает...
8 авг 11, 13:21    [11085376]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с линкен-сервером при переходе с SQL Server 2005 sp3 x32 на SQL Server 2008 R2 sp  [new]
Apecc
Member

Откуда:
Сообщений: 9
Клиент 11 последний качал с оракла
Сервера оракл прописаны в тнснэймс айпи адресами
8 авг 11, 18:26    [11087811]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить