Перемещение таблиц с определенным префиксом в новую базу данных - PullRequest
0 голосов
/ 11 декабря 2008

У меня есть несколько таблиц в базе данных сервера SQL (все с определенным префиксом, например, ABC_table1), и я хочу переместить ВСЕ таблицы с этим префиксом в другую базу данных.

Есть ли способ, которым это можно сделать?

Я использую SQL Server 2k5.

Спасибо

Ответы [ 2 ]

1 голос
/ 11 декабря 2008

Определение UID схемы ABC:

SELECT * from sys.schemas

Затем замените schema_id на 5 (uid) в приведенном ниже скрипте и запустите его:

SELECT 
    'SELECT * INTO OtherDB.ABC.' + name +
    ' FROM ABC.' + name
FROM 
    sysobjects 
WHERE 
    xtype = 'U' 
    AND uid = 5

Затем вырежьте и вставьте полученные результаты и запустите их. Или создайте курсор и sp_execute для каждой строки.

0 голосов
/ 11 декабря 2008

Не уверен, насколько сильно изменилась терминология в 2k5, но вот инструкции в терминологии 2k. Просто создайте новую базу данных и выполните экспорт из старой базы данных в новую. В мастере экспорта вы хотите перенести объекты и данные. При выборе ваших «объектов» выберите все таблицы, которые начинаются с ABC_, это легко, поскольку они перечислены в алфавитном порядке. А потом экспорт.

Если это не то, что вы хотите делать на регулярной основе (я не понимаю, почему), то я думаю, что это, вероятно, будет самым простым решением для одноразовой операции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...