2010-11-03 7 views
11

Как я могу экспортировать таблицу из базы данных SQL Server 2000 в файл .sql в виде группы инструкций INSERT INTO?Как экспортировать данные таблицы в инструкции INSERT?

Одно из полей в таблице представляет собой тип данных в тексте и содержит HTML, поэтому делать это вручную было бы довольно трудоемким.

У меня есть доступ к SQL Server Management Studio 2008 для доступа к базе данных SQL Server 2000.

ответ

17

Отъезд SSMS Tool Pack - это отличный, бесплатно надстройка для SQL Server Management Studio, которая делает много вещей - среди прочего он может генерировать операторы INSERT из данной таблицы.

alt text

+0

Ничего себе, эта надстройка отлично выглядит, надеюсь, что она также работает с Express Edition. –

+2

Начиная с SQLSMS 2012, этот инструмент больше не является бесплатным, хотя он предлагает 30-дневную пробную версию. См. Ответ мобильного телефона, есть встроенный способ достижения этого. – Jerther

2

Если вы можете использовать другие управления БД приложений самый быстрый способ будет использовать такой инструмент, как SqlDbx, который имеет встроенный «Экспортировать как вставки (SQL)» функция (просто выполнить запрос, как SELECT * FROM Table и затем использовать контекстное меню из сетки результатов).

Если вам нужно придерживаться SQL Management Studio, то вы можете использовать хранимую процедуру, как этот:

http://vyaskn.tripod.com/code/generate_inserts.txt

Он генерирует набор результатов с утверждением SQL INSERT для каждой строки мишени Таблица. Затем вы можете экспортировать результаты в файл или просто скопировать их в буфер обмена и вставить в окно запроса (он отлично работает даже с несколькими мегабайтами данных).

9

Я использую эту хранимую процедуру в течение длительного времени: sp_generate_inserts: версия 2000 и версию 2005 (and up).

Вы можете использовать его как это:

sp_generate_inserts 'thetablename' 

или если вы хотите фильтровать:

sp_generate_inserts 'thetablename', @from='from ... where ... order by ...' 

СП будет возвращать вкладыши заявления в качестве результатов запроса. Не забудьте изменить настройку: увеличьте максимальное количество символов, отображаемых в каждом столбце (инструменты - параметры - результаты запроса).

17

Обновление начиная с этого Q & A находилось в верхней части результатов поиска, когда я искал ответ.

В MSSQL 2008 R2:

Щелкните правой кнопкой мыши на базе данных: Задачи -> Генерация сценариев ...

Диалог Генерация и публикация скриптов выскочит. Начальная страница бесполезна. Нажмите «Далее»

Выберите «Выбрать конкретные объекты базы данных», а затем выберите таблицу (ы), для которой вы хотите получить вставки. Нажмите «Далее», и диалоговое окно перейдет к «Установить параметры сценариев».

Нажмите кнопку Дополнительно и вы должны увидеть:

enter image description here

Прокрутите список вариантов, пока не найдете «Типы данных для сценария». Нажмите на эту строку и выберите «Только данные» из выпадающего списка. Нажмите «ОК». Выберите варианты сохранения и нажмите «Далее» несколько раз.

Примечание. Выходные данные также включают следующее после каждых 100 вставок.

GO 
    print 'Processed 200 total records' 
+1

Я не знаю, что это не лучший ответ. Возможно, потому что это не относится к SQL Server 2000. Но это именно то, что я искал. –

+0

Работал для меня тоже - спасибо. –

+0

Я переключился на SSMS 2012, и по какой-то причине сценарий больше не включает печать «процессов xxx records». Как мне вернуть его? – ulu

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