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

Думал что можно типа так: DBName.TableName.ColumnName ...........
Был неприятно удивлён :-(

Очень интересует , как вы, уважаемые коллеги поступаете в подобной ситуации ???
6 май 04, 17:34    [666337]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
Maternus
Member

Откуда: Frankfurt am Main
Сообщений: 114
DBName.OwnerName.TableName.ColumnName ...........
6 май 04, 17:35    [666342]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
1234567
Member

Откуда:
Сообщений: 705
SELECT <column_list> FROM [DBName].[OwnerName].[TableName]
6 май 04, 17:37    [666352]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
Sqlllller
Guest
Всё получилось, всем спасибо! ;)
6 май 04, 17:55    [666407]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Запрос к разным базам  [new]
timda
Member

Откуда: Россия
Сообщений: 578
Какие моменты по подобным запросам?
Ключи видимо работать не будут.
По производительности могут быть проблемы?

В базе 170 таблиц ... делаю новый сервис ... хочу новую базу чтобы удобнее было работать ... Из старой базы нужен десяток таблиц ...

Поделитесь, пож-та, мнением, ссылкой где почитать что.
10 янв 19, 09:14    [21781267]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
uaggster
Member

Откуда:
Сообщений: 541
timda, определи в своей базе синонимы к таблицам в старой базе, и забудь об этом.
10 янв 19, 09:18    [21781268]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
timda
Member

Откуда: Россия
Сообщений: 578
uaggster, спасибо, синонимы конечно это хорошо.

Вопрос больше в плоскости производительности ...
Думаю 200-300 таблиц для одной базы на одной схеме dbo - это не страшно, но больно уж неудобно.
У меня в голову вбито так - чем меньше БАЗ на сервере, тем лучше, в идеале одна. Что поменялось сейчас?

И главное видимо - это всё же отработка ключей при планах запросов...
Подчеркну - имею ввиду отработку индексов при кросс-бд запросах.
При синонимах индексы в одной БД работают, есть ньюансы по RTFM, но думаю они меня не напрягут.

Могу слегка продублировать данные в двух базах ... пусть будет больше кода в приложении, или каких то триггеров на IUD это меня не пугает.

Цель у меня какая - разделить базу 10-лет отроду и новую базу, с прицелом на полный переезд в новую.
Грубо говоря - пишу новое приложение к сайту.
Но без старой базы пока никак.
10 янв 19, 10:00    [21781289]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
StarikNavy
Member

Откуда: Москва
Сообщений: 2069
timda
чем меньше БАЗ на сервере, тем лучше, .

чем лучше? кому лучше? ))
10 янв 19, 10:06    [21781292]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27906
timda
Вопрос больше в плоскости производительности ...
Думаю 200-300 таблиц для одной базы на одной схеме dbo - это не страшно, но больно уж неудобно.
Неудобно в смысле производительности?
timda
У меня в голову вбито так - чем меньше БАЗ на сервере, тем лучше, в идеале одна. Что поменялось сейчас?
Это как "сколько переменных в идеале должно быть в программе"?

Проектировать нужно исходя из базнес-назначения, модульности, возможного разделения по серверам, удобстве обслуживания и т.д., а не по "удобному" количеству таблиц.

timda
Цель у меня какая - разделить базу 10-лет отроду и новую базу, с прицелом на полный переезд в новую.
Грубо говоря - пишу новое приложение к сайту.
Но без старой базы пока никак.
Да, вот это хорошая причина "разделить".

Делать ли прямое обращение через синонимы, или гнать данные репликациями (или каким то другим способом) - это уже определяется подходом к созданию нового приложения.

Например, новое приложение заменяет старое, новое приложение будет работать параллельно со старым, но со своими данными, новое приложение будет работать параллельно со старым, с теми же данными.
Вот надо сначала сделать такую постановку задачи.
10 янв 19, 10:31    [21781321]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
Владислав Колосов
Member

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

не понятно - данные в тарой базе всё ещё будут обновляться или нет?
10 янв 19, 12:56    [21781493]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
256k
Member

Откуда: с.Торчилово, Псковская обл.
Сообщений: 437
timda
Какие моменты по подобным запросам?
Ключи видимо работать не будут.
По производительности могут быть проблемы?

В базе 170 таблиц ... делаю новый сервис ... хочу новую базу чтобы удобнее было работать ... Из старой базы нужен десяток таблиц ...

Поделитесь, пож-та, мнением, ссылкой где почитать что.


Просто интересно, что сподвигает юзеров находить темы 15-летней давности и поднимать их, дописывая свои вопросы.....
Тогда был самый свежий сервер 2000, сейчас о нем мало кто помнит... чудны дела....
10 янв 19, 13:26    [21781559]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
timda
Member

Откуда: Россия
Сообщений: 578
Владислав Колосов, будут.

Задача какая у меня - на сайте veq.ru написать новый сервис - что то вроде маркетплейса, площадки товаров от поставщиков, что-то похожее на яндекс-маркет.
Аутентификацию хочу взять с Яндекс.Паспорта через OAuth 2.0 и вынести новое приложение на subdomain.veq.ru
Старая база ~ 170 таблиц. Откуда их столько:)

Вот и родилась идея новой базы данных, а то в одной уже колесо мышки скоро затлеет от скрола :)

Можно много обсуждать архитектуру и варианты, меня интересует лишь проблемы при запросах

select u1.ID, u1.Name
from
old_db.dbo.user u1
left join new_db.dbo.user u2 on u1.ID = u2.OLD_ID

В принципе, не так и много будет таких запросов, но с учетом Интернета и при невозможности кэша ... в админках ... не поляжет все на пяти пользователях?
10 янв 19, 13:32    [21781568]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
timda
Member

Откуда: Россия
Сообщений: 578
256k, здесь лояльные и адекватные модераторы, ттт, но
1) дублирование топиков
2) сбор информации в одном месте
3) вопросы базовые, они вряд ли сильно меняются от версии к версии

я не против и новой темы :)
меж-базное взаимодействие на уровне запросов интересно.
в оракле у них по схемам можно упростить себе жизнь. у них там с этим и проблем нет.
может я просто не знаю как по owner у нас можно упростить себе жизнь.
10 янв 19, 13:47    [21781598]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 27906
timda
меж-базное взаимодействие на уровне запросов интересно.
в оракле у них по схемам можно упростить себе жизнь. у них там с этим и проблем нет.
может я просто не знаю как по owner у нас можно упростить себе жизнь.
У МС и Оракла разные подходы. Хотя в MSSQL тоже есть "схемы", но, по сути, аналог оракловских схем в MSSQL - это базы, а аналог оракловских баз в сиквеле - это инстансы.
И в общем да, можно делить систему на модули, делая разне базы, хотя практический смысл в этом будет в очень редких случаях.

В данном случае, это как делать софт в виде множества dll или exe, потому что в функции слишком много переменных :-)

Что бы не мучаться со списком из 170 таблиц, нужно разрабатывать не в средстве администрирования (SSMS), а в средстве разработки (например, Visual Studio), деля проект на модули и всё такое. Дополнительно нужно принять систему именования объектов, или использовать схемы (но больше для удобства администрирования/сопровождения, а не разработки).
А само по себе стремление "уменьшить количество таблиц" приведут только к снижению производительности и усложнению разработки, хотя программисты без опыта работы уверены, что наоборот.

Понятно, в данном случае ваш вопрос о доступе к старой базе, но это было так, отвлечённое замечание по поводу 170 таблиц - как бы у вас не получилось больше, к тому моменту, когда программа будет реально использоваться бизнесом :-)
timda
Можно много обсуждать архитектуру и варианты, меня интересует лишь проблемы при запросах

select u1.ID, u1.Name
from
old_db.dbo.user u1
left join new_db.dbo.user u2 on u1.ID = u2.OLD_ID

В принципе, не так и много будет таких запросов, но с учетом Интернета и при невозможности кэша ... в админках ... не поляжет все на пяти пользователях?
Запросы к таблицам в одной базе, или к таблицам во множестве баз выполняются абсолютно одинаково. А с синонимами - и выглядят одинаково.
10 янв 19, 19:32    [21782103]     Ответить | Цитировать Сообщить модератору
 Re: Запрос к разным базам  [new]
timda
Member

Откуда: Россия
Сообщений: 578
alexeyvg
Запросы к таблицам в одной базе, или к таблицам во множестве баз выполняются абсолютно одинаково. А с синонимами - и выглядят одинаково.


alexeyvg, спасибо.

зы: 181 таблица вместе с новыми, какой смысл мне врать. 10 лет портал работает. Много делаю связей через таблицы.
базу использую в основном только для хранения, 99% логики в дотнете, ну 10 триггеров на деревьях, дюжина функций и несколько SP для пересчета, на логах еще SP.
Не претендую на крутую базу. Не то что допускаю, а уверен - что у многих здесь базы намного лучше настроены и работают, но для меня достаточно того, что есть. Форуму, вам и многим - респект :)
10 янв 19, 22:36    [21782255]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить