Псевдоним БД на Sql Server 2008

Мне нужно выполнить миграцию с моего сервера 1 на сервер 2, на обоих серверах одинаковая схема БД.

Сервер1: DB1.dbo... Все таблицы DB2.dbo... Все таблицы

Сервер2: DB1.dbo... Все таблицы DB2.dbo... Все таблицы

Мне нужно подключиться с server1 на server2, а также, пока я не закончу этот скрипт, я должен работать в локальной среде, а имена БД разные (например, DB1_Local вместо DB1)

Я пытаюсь создать синоним для «Server1.DB1.dbo», поэтому, когда мне нужно соединить таблицу Server1 с другой на Server2, я запускаю

MySynonymForServer1.MyTable ПРИСОЕДИНЯЙТЕСЬ к MySynonymForServer2.MyTable ON ....

Но это не работает...

Есть ли способ сделать это?


person Mariano G    schedule 12.03.2013    source источник


Ответы (1)


Синонимы относятся к предметам. Вы не можете создать синоним для схемы или базы данных. Однако вы можете создать синоним для объекта в другой базе данных. поэтому в вашем случае вам нужно создать синоним для каждого объекта в базе данных. Вы можете автоматизировать это, перебирая объекты в sys.objects. Просто не забудьте отфильтровать нежелательные типы объектов, такие как ограничения.

person Sebastian Meine    schedule 12.03.2013