У меня есть удаленная база данных, которую я хочу скопировать на свой локальный SQL Server.
ВАЖНО: мне нужны только образцы данных (например, 1 тыс. строк) из каждой таблицы, а существует около 130 различных таблиц.
Я пробовал использовать процедуру экспорта данных в SSMS. Проще говоря, я перехожу в ЗАДАЧИ> ЭКСПОРТ ДАННЫХ> ВЫБРАТЬ ИСТОЧНИК (удаленный БД)> ВЫБРАТЬ НАЗНАЧЕНИЕ (мой локальный БД)> ВЫБРАТЬ ТАБЛИЦЫ ДЛЯ КОПИРОВАНИЯ> КОПИРОВАТЬ
Что я пробовал:
Я попытался записать в этом инструменте SQL-запрос вроде
SELECT TOP 1000 *
FROM TABLE1 GO ...
SELECT TOP 1000 *
FROM TABLE130
Но на этапе сопоставления он помещает каждый результат в одну таблицу вместо создания 130 различных таблиц вывода.
К вашему сведению, вышеуказанная процедура занимает 2 минуты для одного стола. Выполнение этого по одному для каждого стола займет 130 * 2 мин = 4 часа с половиной ... плюс это так скучно
У вас есть идеи, как разрешить эту ситуацию?
Спасибо! С уважением
1 ответ
Если вам нужно только подмножество, у вас будут проблемы с внешними ключами, если они есть в вашей базе данных.
Возможные подходы к извлечению всех данных или подмножества
- Используйте SSIS., чтобы извлечь данные из исходной базы данных и загрузить в локальную базу данных.
- Напишите собственное приложение, которое сделает эту работу. (Вы можете использовать Массовое копирование SQL)
Если вы просто не хотите делать это в SSMS, вы можете создать связанный сервер на локальном сервере с удаленным сервером.
Таким образом вы можете сделать что-то вроде этого, если таблицы или еще не созданы на вашем локальном сервере:
SELECT TOP 1000 *
INSERT INTO [dbo].Table1
FROM [yourLinkedServer].[dbo].[Table1]
Изменение таблицы INTO и таблицы FROM для каждой таблицы, которую вы хотите скопировать.
Похожие вопросы
Новые вопросы
sql
Язык структурированных запросов (SQL) - это язык запросов к базам данных. Вопросы должны включать примеры кода, структуру таблицы, примеры данных и тег для используемой реализации СУБД (например, MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2 и т. Д.). Если ваш вопрос относится исключительно к конкретной СУБД (использует определенные расширения / функции), используйте вместо этого тег этой СУБД. Ответы на вопросы, помеченные SQL, должны использовать стандарт ISO / IEC SQL.