[sql] как динамически слинковать два сервера?
Почему нельзя добавить линкованный сервер? Если нет прав, можно попросить админов и тд.
Сервера не наши, админы не наши и будут тупить еще пару недель, не исключено.
Точнее, решение было настроено на один сервер, к которому было все прилинковано. Теперь переехало на другой, и когда мы попросили прилинковать, в министерстве началось брожение. "А что они запускают? А зачем это? А это раньше уже запускалось? А дайте нам SQL-код посмотреть".
Короче, я не знаю, сколько времени еще на эту трихамудрию может уйти.
Из БОЛа (2008 правда):
SELECT a.*
FROM OPENROWSET('SQLNCLI', 'Server=Seattle1;Trusted_Connection=yes;',
'SELECT GroupName, Name, DepartmentID
FROM AdventureWorks.HumanResources.Department
ORDER BY GroupName, Name') AS a;
Это работает на 2000, но все равно:
Msg 17, Level 16, State 1, Line 1
[DBNETLIB][ConnectionOpen (Connect.]SQL Server does not exist or access denied.
Видно, закупорились, сцуки, со всех сторон
логин-пароль в строке соединения точно прописаны?
select top 1* from
OPENROWSET('SQLOLEDB',
'server_name';
'guest_reader';
'guest_password',
'select top 1* from base_name.dbo.table_name')
а если SQLNCLI а не SQLOLEDB
Тогда пишет Could not locate registry entry for OLE DB provider 'SQLNCLI'
да, посмотрел уже - это с 2005 только(
Возможности проверить, видит ли один сервер другой, как понимаю, тоже нет?
у них алиасы прописаны
Не, я имею в виду, что скл сервер со второго компа доступен. Алиасы - виндовые имеешь в виду, в hosts?
Оставить комментарий
timtaller
Имеем один сервер, на нем логин и пароль (не sa). Выполняется запрос, который лезет на другой сервер, на него имеются другие логин2 и пароль2.sp_addlinkserver выполнить нельзя, нет прав.
Можно как то в теле запроса прописать строку соединения, чтобы непосредственно при выполнении соединяться с сервером под логином2?