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

Откуда:
Сообщений: 166
Помогите с запросом. Как перенести ВСЕ таблицы из одной БД в пустую? Учитывая, что изначально количество и названия таблиц неизвестны. Т.е. простой SELECT * INTO БД2.Таблица FROM БД1.Таблица не подходит, учитывая, что там нужно копируемые таблицы перечислять.
27 мар 13, 11:05    [14100517]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Glory
Member

Откуда:
Сообщений: 104760
DrunkWolf
Таблица не подходит, учитывая, что там нужно копируемые таблицы перечислять.

Написать цикл по все таблицам займет от силы минут 5.
27 мар 13, 11:08    [14100530]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
DrunkWolf
простой SELECT * INTO БД2.Таблица FROM БД1.Таблица не подходит, учитывая, что там нужно копируемые таблицы перечислять.

Только из-за этого не подходит? Индексы, ограничения и т.д. не нужно переносить?
Ну тогда вот:
use БД1;
exec sp_MSforeachtable 'print ''select * into БД2.? from БД1.?''';
27 мар 13, 11:16    [14100585]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
iap
Member

Откуда: Москва
Сообщений: 47000
Базу забэкапить и восстановить под новым именем.
Делов-то!
27 мар 13, 11:24    [14100628]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
DrunkWolf
Member

Откуда:
Сообщений: 166
Гость333,

Да желательно, все бы перенести..
27 мар 13, 11:28    [14100661]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
DrunkWolf
Member

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

В дальнейшем будет перенос из acsess в MS SQL, так что нужен запрос.
27 мар 13, 11:29    [14100672]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Jovanny
Member

Откуда:
Сообщений: 1195
Мастер экспорта-импорта (он же SSIS)?
27 мар 13, 11:37    [14100715]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Glory
Member

Откуда:
Сообщений: 104760
DrunkWolf
В дальнейшем будет перенос из acsess в MS SQL, так что нужен запрос.

Запросом вы перенесете только данные
Для "желательно, все бы перенести" придется писать скрипт или использовать какие-нибудь утилиты, которые этот скрипт и создадут и выполнят.
27 мар 13, 11:43    [14100742]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
DrunkWolf
перенос из acsess в MS SQL

В аксессе есть своё средство: Перемещение данных Access в базу данных SQL Server с помощью мастера преобразования в формат SQL Server
27 мар 13, 11:44    [14100743]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
DrunkWolf
Member

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

Это как-то муторно... Тогда пусть только данные, но это должен быть запрос, ибо все должно выполняться из скрипта.
27 мар 13, 11:56    [14100831]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Glory
Member

Откуда:
Сообщений: 104760
DrunkWolf
Это как-то муторно...

Я понимаю, хочется, чтобы все получалось силою мысли.

DrunkWolf
Тогда пусть только данные, но это должен быть запрос, ибо все должно выполняться из скрипта.

Скрипт вам уже показали.
27 мар 13, 11:57    [14100845]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
DrunkWolf
Member

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

Странно, пишет, что запрос отработан, но данные в новой базе не появляются.
Что я делаю не так?
27 мар 13, 12:11    [14100942]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Glory
Member

Откуда:
Сообщений: 104760
DrunkWolf
Странно, пишет, что запрос отработан, но данные в новой базе не появляются.
Что я делаю не так?

Этот скрипт не переносит данные.
Этот скрипт готовит другой скрипт, в котором содержатся команды SELECT * INTO для каждой таблиц базы.

Сообщение было отредактировано: 27 мар 13, 12:13
27 мар 13, 12:13    [14100959]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
DrunkWolf
Странно, пишет, что запрос отработан, но данные в новой базе не появляются.
Что я делаю не так?

Какой запрос, вот этот?
use БД1;
exec sp_MSforeachtable 'print ''select * into БД2.? from БД1.?''';

Ну так это, скажем так, метаскрипт, который выдаёт текст скрипта, который сперва неплохо бы проверить глазами, а потом уже запускать.
27 мар 13, 12:14    [14100973]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Гость333
Ну так это, скажем так, метаскрипт

И в Аксессе он не запустится, да.
27 мар 13, 12:15    [14100987]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
DrunkWolf
Member

Откуда:
Сообщений: 166
Гость333,

Вот, а как бы еще и чтоб в access работало..
27 мар 13, 14:27    [14101907]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Гость333
Member

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

Для Аксесса используйте его "Мастер преобразования в формат SQL Server". Или он чем-то не устроил?
27 мар 13, 14:49    [14102079]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
DrunkWolf
Member

Откуда:
Сообщений: 166
Тем, что реализовать это необходимо скриптом, а не приложением.
28 мар 13, 12:15    [14106399]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Glory
Member

Откуда:
Сообщений: 104760
DrunkWolf
Тем, что реализовать это необходимо скриптом, а не приложением.

О том, как написать скрипт на Access, надо справшивать в форуме по Access
28 мар 13, 12:17    [14106403]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
DrunkWolf
Тем, что реализовать это необходимо скриптом, а не приложением.

Ну так и пишите скрипт
Сначала весь DDL патом весь DML
28 мар 13, 12:18    [14106413]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Maxx
Ну так и пишите скрипт
Сначала весь DDL патом весь DML

Затруднение ТСа в том, что
DrunkWolf
изначально количество и названия таблиц неизвестны

То есть нужно нечто, что бы сгенерило эти DDL и DML.
28 мар 13, 12:31    [14106492]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Программист-Любитель
Member

Откуда:
Сообщений: 16839
TC: гуглите BatchAccess - утилита, умеющая генерировать DML DDL для аксеса.
28 мар 13, 16:30    [14108534]     Ответить | Цитировать Сообщить модератору
 Re: Как перенести ВСЕ таблицы из одной БД в другую?  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
Зачем писать скрипт для однократной операции переноса данных ??? В чем смысл?
28 мар 13, 16:36    [14108585]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить