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

Откуда: Екб
Сообщений: 1206
Доброго времени суток!
Есть MS SQL Server 2008 R2, в стародавние времена была сделана настройка линка с базой оракла, видимо ругалось на доступ к метаданным и сходу сделана настройка allow in process. Проблем особо не было, но на днях пришлось переделывать зарузку данных на ораклевую процедуру, которая генерила некую ошибку и крашила процесс самого SQL Server. В общем найдена статья, которая описывает настройку этих прав, чтобы убрать галку в настройке провайдера.
Однако теперь некая трудность при обращении к Linked Server пользователей, а именно - работает только с правами ServerAdmin. иначе ошибка " Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server". Как правильно дать права на OLE DB Provider, но не давать SA?
13 ноя 17, 17:06    [20950270]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33655
Блог
denis_viktorovich,

https://stackoverflow.com/questions/14499977/cannot-create-an-instance-of-ole-db-provider-error-as-windows-authentication-u

второй ответ, где MSDAINITIALIZE
13 ноя 17, 18:40    [20950571]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
denis_viktorovich
Member

Откуда: Екб
Сообщений: 1206
Критик,
Спасибо, это как раз я видел. Меня смутил пункт 18.
автор
Find the “OraOLEDB.Oracle” provider in SQL Server. Make sure the “Allow Inprocess” parameter is checked.

Если “Allow Inprocess” сделать снова is checked, то ошибка в ораклевой проце снова может остановить службу MS SQL Server?
13 ноя 17, 18:49    [20950596]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
denis_viktorovich
Критик,
Спасибо, это как раз я видел. Меня смутил пункт 18.
автор
Find the “OraOLEDB.Oracle” provider in SQL Server. Make sure the “Allow Inprocess” parameter is checked.

Если “Allow Inprocess” сделать снова is checked, то ошибка в ораклевой проце снова может остановить службу MS SQL Server?

Коллега, а что если пойти обходным путем? Допустим, Вам с Oracle нужно выгрузить в MSSQL базу данных за один присест не так много. Можно поставить SQL Express x64 вторым инстансом на сервер, туда выгружать данные из Oracle с включенным "allow in process", а далее оттуда выгружать уже в базы основного инстанса. Остановится служба инстанса Express - и не страшно, можно запустить ее снова.
+

И волки сыты, и овцы целы, и пастуха закопали недалеко :)
13 ноя 17, 18:57    [20950613]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
Критик
Member

Откуда: Москва / Калуга
Сообщений: 33655
Блог
denis_viktorovich,

не-не, снова ставить галку - лишнее,
у нас тоже крашилась служба, поэтому мы отказались от этой галки,
подробности не помню, только ключевое слово MSDAINITIALIZE )

так попробуйте:
https://blogs.msdn.microsoft.com/dataaccesstechnologies/2010/08/19/permissions-needed-to-set-up-linked-server-with-out-of-process-provider/
13 ноя 17, 20:07    [20950772]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
denis_viktorovich
Member

Откуда: Екб
Сообщений: 1206
Пардон, запутался и ввел всех в заблуждение. Похоже дело не в правах. Любая учетная с SQL аутентификацией нормально может обращаться с обьектам LinkedServer, даже если у нее права public. Если я своей доменной учетке даю в базе DBO, на сервере SERVERADMIN, SYSADMIN + включен в роль "Distributed COM Users", то я все равно не могу 'create an instance of OLE DB provider "OraOLEDB.Oracle"'. Вот это мне непонятно, в одной из баз именно по NT -шным учеткам организован доступ.
14 ноя 17, 13:04    [20952335]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
Alex_496
Member [заблокирован]

Откуда: https://www.dvbi.ru
Сообщений: 3869
denis_viktorovich,

забирать на MSSQL с Oracle через Linked Server - медленный способ.
Не гневите Бога и кто будет после Вас, сделайте как положено через ETL. Для SSIS используйте Attunity 64x и в несколько потоков, если данных много качать.
14 ноя 17, 13:43    [20952524]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
denis_viktorovich
Member

Откуда: Екб
Сообщений: 1206
Alex_496
denis_viktorovich,

Хм, так если бы было можно все привести к SSIS пакету.
В нашей базе есть некий набор данных (набор объектов, которые навыбирал сам юзер и както в целом обозвал, аля "мои планы на 2020 год" ). По каждому объекту я должен к данным из нашей базы подтянуть данные Oracle. Выборка из Oracle представляет собой запуск череды процедур с параметрами, получением ИД сессии и выборкой по нему из итоговой таблицы результата.
14 ноя 17, 15:41    [20953126]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
denis_viktorovich
Member

Откуда: Екб
Сообщений: 1206
Andy_OLAP,
Интересный вариант, только выгрузка не разовая и не регламентная. Тыкать будут несколько человек одновременно в произвольно время.

P.S. Пока переделал клиента для вызова базовой процедуры от имени SQL -ой учетки. Возвращать галку Allow inprocess не вариант, т.к. на этом же инстансе есть большая основная база (продакшн OLTP) и ее падение недопустимо.
14 ноя 17, 15:51    [20953181]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
Andy_OLAP
Member

Откуда: я знаю, что Хапоэль Беэр-Шева - чемпион
Сообщений: 3151
denis_viktorovich
Andy_OLAP,
Интересный вариант, только выгрузка не разовая и не регламентная. Тыкать будут несколько человек одновременно в произвольно время.

P.S. Пока переделал клиента для вызова базовой процедуры от имени SQL -ой учетки. Возвращать галку Allow inprocess не вариант, т.к. на этом же инстансе есть большая основная база (продакшн OLTP) и ее падение недопустимо.

Так если будут "тыкать" одновременно - есть процедура на MSSQL основном со снятой галочкой, она "смотрит" на процедуру-заглушку транзитную на SQL Express с поставленной галочкой, а там уже "смотрит" на Oracle.
Я бы такой попробовал.
14 ноя 17, 16:06    [20953241]     Ответить | Цитировать Сообщить модератору
 Re: настройка Linked Server.  [new]
denis_viktorovich
Member

Откуда: Екб
Сообщений: 1206
А все таки, интересно разобраться и понять. Линкованный сервер, в настройках указано соединятся по общему логину и паролю. Любой пользователь с SQL аутентификацией может запустить процедуру на удаленном серваке, даже если у него только только Public. Доменный пользователь с NT-аутентификацией даже с ролью ServerAdmin, Sysadmin получает " Cannot create an instance of OLE DB provider ..." Чего не хватает второму для нормальной работы? В какую сторону копать?
16 ноя 17, 08:44    [20958551]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить