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

Откуда:
Сообщений: 890
даны базы данных:

Report
General
Scoring

в базе данных Report запускаем запрос который тянет данные из других баз, General и Scoring.

INSERT INTO report_tbl
SELECT *
FROM
[scoring]..OWP OWP
INNER JOIN [General]..PA PA ON OWP.WP_Id = PA.WP_Id

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

Более того у меня на компьютере база называется General.

Но есть базы с большим количеством тестовых данных (но такой же структуры), на других серверах с именем например "testGeneral" и "testScoring", или "General_123" "321_Scoring".
Соответственно я хочу иногда проверять запросы на своей локальной базе, а иногда на удаленном компьютере. Возникает вопрос как писать алиасы, для баз данных (или текст SQL запроса), на компьютере, где изначально запускаю SQL? (для теста я запускаю в SQL Server Management Studio)


select @@version
Microsoft SQL Server 2008 (SP1) - 10.0.2531.0 (X64) Mar 29 2009 10:11:52 Copyright (c) 1988-2008 Microsoft Corporation Developer Edition (64-bit) on Windows NT 6.0 <X64> (Build 6001: Service Pack 1)
1 июн 09, 18:29    [7253079]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
то есть у меня куча кода который привязан к имени базы
но как базы будут называтся реально и на каких серверах лежать я незнаю
сейчас думаю можно написать програмку которая будет делать Replace в зависимости от настроек которые укажет одмин
1 июн 09, 18:32    [7253098]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
но кажется логичной возможност ьпрописать алиасы не только к серверам но и к БД
я такого не нашел, но может есть ;-)
1 июн 09, 18:33    [7253106]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
кстати даже у меня на компе несколько баз одной структуры, но разного содержания строк, и переписывать везде ссылки не красиво :(
1 июн 09, 18:39    [7253125]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
пожалуй уточну что Report, General, Scoring это такие типы базы, а экземпляров с одинаковой структурой но разными наборами строк - много
1 июн 09, 18:49    [7253161]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
BusyMan
Member

Откуда: Москва
Сообщений: 4927
ггы ) смачный вопрос )))

кароче сделай LINKED SERVER себе
и пиши

SELECT * FROM ServerName.DatabaseName.DBO.TableName
1 июн 09, 20:46    [7253477]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
BusyMan
ггы ) смачный вопрос )))

кароче сделай LINKED SERVER себе
и пиши

SELECT * FROM ServerName.DatabaseName.DBO.TableName

но "DatabaseName" все равно заменять нужно на какую то конкретную базу или всеже линковать базу как то можно?

хотелось бы писать ServerName.DatabaseName..TableName, так как может и не DBO будет :)
2 июн 09, 11:38    [7254945]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
UP

хоть скажитте что нельзя, что бы я успокоился :)
3 июн 09, 11:58    [7259837]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
ветерочек
Member

Откуда: СПБ
Сообщений: 153
CREATE SYNONYM
тебя спасет , правда придется писать скрипт

DROP SYNONYM ...
CREATE SYNONYM...
но это вроде попроще
3 июн 09, 12:03    [7259858]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
О! Спасибо, совет звучит отлично! :) возможно это именно то чем воспользуюсь. Позже почитаю тему про синонимы, а пока может кто еще что то полезное напишит, а я буду выбирать варианты :)
3 июн 09, 13:13    [7260325]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
Var79
Member

Откуда:
Сообщений: 890
SYNONYM
msdn.microsoft.com
Четырехчастные имена для базовых объектов функций не поддерживаются.

не уверен что понял о чем, но если о том о чем подумал, звучит пугающе :)
3 июн 09, 13:21    [7260374]     Ответить | Цитировать Сообщить модератору
 Re: Alias на несколько баз данных  [new]
efdm
Member

Откуда: Москва
Сообщений: 310
Не стоит пугаться, для таблиц и представлений все нормально.
3 июн 09, 15:48    [7261222]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить