SQL один запрос на базы на разных серваках. КАК? #494646


#0 by Skom
есть необходиомсть сделать запрос сразу к 5-ти базам это не проблема но беда в том что на ОДНОМ серваке 3 базы и на другом еще 2 вот внутри одного сервера по базам я умею делать запрос а как к нему прицепить запрос для другого сервака?
#1 by Skom
далее джойню таблицы из другой БАЗЫ ДАННЫХ НО!!!! надо получить данные из двух баз (но с другого серверва, сервак виден по локалке)
#2 by el-gamberro
sp_addlinkedserver Либо можешь линковать сервера из SSMS
#3 by thargon
И в чем проблема? Это штатная возможность ms sql-я.
#4 by el-gamberro
Возможность штатная, но сервер предварительно надо залинковать.
#5 by Skom
на простом примерчике можете показать как линковать и как в запросе задействовать данную связь. просто никогда не сталкивался до этого
#6 by el-gamberro
Просто в имени таблицы указываешь еще полный путь до нее, относительной той БД из которой делаеться запрос.
#7 by Skom
спс. нашел то же самое в БОЛ пошел пробовать)) если что еще вас подостаю малость
#8 by el-gamberro
ТИПА LEFT JOIN 1csever.tradebase.dbo.payments.iddoc
#9 by Skom
о! вот за это спасибо. я шел в этом направлении но не дошел пока))
#10 by dk
'SQLOLEDB',         'Data Source=srv-term;User ID=sa;Password=***'         ).Northwind.dbo.Employees
#11 by Skom
а в запросе куда ...в самом начале линковать сервак? в запросе в куда вставить линк?
#12 by el-gamberro
Сервер линкуется один раз, потом еще больше линковать не надо (даже если перезагружал сервер). Хранимку можно выполнить из SSMS
#13 by Nic1
в EM можно вручную прилинковать новый сервер, в ветке Security-Linked Servers.
#14 by Skom
стоп. если в ЕМ я вижу этот сервер, то он уже прилинкован?
#15 by Nic1
он должен быть в списке Linked Servers
#16 by el-gamberro
Нет
#17 by Skom
а провайдера какого ставить при линке? натив клиента? или оле ДБЦ
#18 by Skom
OLE ODBC
#19 by Nic1
SQL Server
#20 by Nic1
можно вроде Microsoft OLE DB Provider for SQL Server, но лучше ставить Server Type - SQL Server.
#21 by Skom
ставлю. в списке таблиц вижу тока системные таблицы сервера
#22 by Nic1
значит прилинкован. Теперь можно запросы пробовать
#23 by Nic1
правда иногла еще приходится ставить одинаковые пароли на учетные записи, по которым линкуешься, если так не прокатит
#24 by Skom
у меня имя сервака как айпи 10.0.0.2 как мне в запросе его использовать????
#25 by rs_trade
погугли на тему linked server
#26 by Nic1
а х.з., можешь прямо так и пробовать, но лучше использовать имя SQL Servera, по имени тоже без проблем обычно линкуется. Т.е, попробуй прилинковаться по имени сервера
#27 by el-gamberro
хз чего там мудрить. всегда писал в SSMS sp_addlinkedserver 'имясервера' все остальное по умолчани.
#28 by Skom
уже перелинковал вроде по скульному имени
#29 by Skom
+28 ха ха серваки в разных доменах что то не дает подключиться. точнее подключается а к таблицам доступа не видит хотя логин к серваку указал сам (правильный)
#30 by Skom
ну оно и верно в подсетках то разных. по айпи он видит сервак а по ДНС имени не видит
#31 by Nic1
какую ошибку выдает запрос? P.S. я как-то ликновался с локальной машины (которая не была в домене) на сервак в домене по имени, там все нормально было. Только пароли на учетки одинаковые должны быть
#32 by Nic1
а системные таблицы то видны?
#33 by Skom
пока писал мессаг - уже разобрался всем спасибо. возникнут вопросы - добавлю сюда
#34 by Skom
from [10.0.0.2].OOO_S.dbo.dh5292 as Док (nolock)        Inner Join [10.0.0.2].OOO_S.dbo._1SJourn as Жур (nolock) on Right(Жур.Date_Time_IDDoc,9) = Док.IDDoc        Where Док.sp39237 <> '     0   ' And Жур.Date_Time_IDDoc Between '20090720' And '20100719Z'
#35 by Skom
выдает ошибку Cannot specify an index or locking hint for a remote data source.
#36 by Skom
хм. ноулоки убрал считает
#37 by el-gamberro
Для линкованного сервера некоторые фичи недоступны.
#38 by Nic1
nolock там и не будет работать..
#39 by Skom
все. спасибо проблему решил уже.
#40 by UprDem
Кстати. У меня запрос к прилинкованному серверу ну намноооого дольше шёл. (Мне всего пару раз такое надо было). У коллег тоже это есть? Или это моё личное
#41 by Skom
дольше. мне тоже одноразово надо шефу надо знать какие дисконтные карты не были задействованы за последний год нашло 2600 карт)) а запрос и правда гораздо дольше работает
#42 by dk
- доктор. меня все игнорируют! - следующий --- см. хотя если запросы часто шлешь, то лучше залинковать - можно ведь через меню это 1 раз сделать
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С