powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Работа с несколькими базами на sql сервере
6 сообщений из 6, страница 1 из 1
Работа с несколькими базами на sql сервере
    #34259394
nova
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть три база на sql сервере. Одна из них основнаяЮ с котрй постоянно идет работа. Две из них по мере обращения к ним. Как мне лучше организовать работу. Использовать командную строку где указывать USE database или создать еще одно соединение по котрому у меня будет обращение к эти базам?
Спасибо!
...
Рейтинг: 0 / 0
Работа с несколькими базами на sql сервере
    #34259416
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если базы данных логически находятся под управлением одного MS SQL сервера. Т.е. являются базами данных одного сервера, то в синтаксисе MS SQL обращение к таблицам имеет следующий синтаксис

database.owner.object_name

Имя_Базы_данных.Владелец.Имя_таблицы

Если "Имя_Базы_данных" не указано, то предполагается, что речь идет о текущей базе данных
Если "Владелец" не указан, то предполагается, что речь идет о текущем пользователе.

Следовательно, в запросе просто пишется

Код: plaintext
1.
2.
3.
SELECT ...  
FROM MyDataBase1.dbo.MyTable1   
INNER JOIN MyDataBase2.dbo.MyTable2 ...

или, если опустить владельца и текущей базой данных является MyDataBase1, то

Код: plaintext
1.
2.
3.
SELECT ...  
FROM MyTable1   
INNER JOIN MyDataBase2..MyTable2 ...

Если базы данных принадлежат разным серверам. Разным MS SQL. То необходимо дать знать одному из этих серверов как подключится к другому. Это делается через Linked Server. Специальная служба MS SQL.

Тогда обращение к таблице, находящейся на Linked-сервере примет вид

linked_server.catalog.schema.object

Имя_Linked_сервера.Каталог.Схема.Имя_таблицы

Как правило, Linked-сервер подключают к одной базе, поэтому "Каталог" и "Схема" просто опускают и синтаксис запроса выглядит так:

Код: plaintext
1.
2.
3.
SELECT ...  
FROM MyTable1   
INNER JOIN MyLinkedServer...MyTable2 ...
...
Рейтинг: 0 / 0
Работа с несколькими базами на sql сервере
    #34259421
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в основной сдейте вьюшки на таблицы дополнительных
...
Рейтинг: 0 / 0
Работа с несколькими базами на sql сервере
    #34259678
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
novaДобрый день!
Есть три база на sql сервере. Одна из них основнаяЮ с котрй постоянно идет работа. Две из них по мере обращения к ним. Как мне лучше организовать работу. Использовать командную строку где указывать USE database или создать еще одно соединение по котрому у меня будет обращение к эти базам?
Спасибо!
Соединение создается с сервером, а не с базой данных. Если у вас все три база данных на одном сервере, то соединение требуется одно. Если в одном запросе вы работает с таблицам одной базы даных, то перед запросом достаточно использовать команду USE database, если в запросах вы хотите обратится к таблицам в разных базах данных, то используйте полное квалифицированное имя объекта, как показал ВладимирМ (сервер можно опустить - database.owner.object_name).
Учтите, что логин, от имени которого вы подключились к серверу должен иметь соответствующие права во всех базах данных, реализованные через пользователей в базе данных, связанных с этим логином или через особые права за счет членства в ролях.
С уважением, Алексей.
...
Рейтинг: 0 / 0
Работа с несколькими базами на sql сервере
    #34260511
alex11100
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Делаете вью в основной БД
Код: plaintext
1.
CREATE VIEW dbo.myView AS SELECT * FROM OtherDB.dbo.myTable

дальше, достаточно
select * from myView
where ....
...
Рейтинг: 0 / 0
Работа с несколькими базами на sql сервере
    #34269529
Фотография Baldoha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex11100дальше, достаточно

Недостаточно. Логин, который отображается в пользователя первой базы данных, может не отображаться в пользователя во второй базе. Или иметь недостаточные права доступа к объектам.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Работа с несколькими базами на sql сервере
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]