0

У меня есть две базы данных в разных SQL Server, которые не связаны друг с другом. Я хочу вставить выбранные символы из моей первой БД (2008) во вторую БД (2005). Я хочу сгенерировать скрипт INSERT, чтобы выполнить его в DB 2005.Как сгенерировать скрипт INSERT из результата?

Я нашел, как экспортировать всю базу данных или все lignes в одну таблицу, но ничего о том, как экспортировать только выбранные lignes?

Любая идея?

+0

Это постоянная необходимость или вы делаете это только один раз? –

+1

Создайте операторы вставки из вашего SELECT – ErikEJ

+0

@ DanielE. С сегодняшнего дня это просто постоянная потребность ... – Cooxkie

ответ

1

Вы можете использовать встроенный в особенности SQL Server:

1) В SSMS нажмите на имя базы данных источника

3) Щелкните правой кнопкой мыши и выберите Задачи/Экспорт данных

4) Выбрать Источник данных, а затем Destination

5) в окне под заголовком «указать Table Copy или запроса» нажмите на кнопку «Создать запрос», чтобы указать данные для передачи

6) Нажмите «Далее» и введите запрос (похоже, вы хотите, чтобы предложение where в запросе выбирало определенные строки).

7) Нажмите «Далее»/«Выберите пункт назначения», а затем нажмите «Редактировать сопоставление». Затем вы можете выбрать «Вставить», и строки будут вставлены в существующую таблицу цели.

8) Вы можете сохранить это как пакет SSIS, который можно выполнить повторно, когда вам нужно.

+0

Спасибо @benjamin moskovits, ваши шаги очень полезны :) – Cooxkie

+0

Но как @YY Bai сказал, что мои 2 БД не подключены, поэтому мне нужно использовать плоский файл назначения. – Cooxkie

+0

И, к сожалению, я запускаю SQLExpress, поэтому я не могу сохранить свой пакет SSIS :-( – Cooxkie

1

Согласен с ответом выше, кроме шага 7). Поскольку два сервера не подключены, на шаге, когда вам нужно выбрать пункт назначения, вам нужно будет выбрать «flat file destination» или «microsoft excel», а не второй SQL 2005 DB. Все, что вам нужно сделать, это экспортировать результат запроса в промежуточный файл (ы), а затем импортировать файлы с целевого сервера.

+0

Добро пожаловать в StackOverflow! Простое примечание: порядок ответов на странице изменяется, поэтому не полезно ссылаться на ' ответьте выше », особенно если есть много ответов. Обратитесь к имени пользователя плаката вместо этого. –

1

Возможно, это T-SQL Flex может сделать это за вас. Это берет набор запросов и превращает его в INSERT.

+1

Я посмотрю на него, это выглядит очень интересно ;-)! – Cooxkie

Смежные вопросы