Дамп SQL Server вставки данных - PullRequest
1 голос
/ 01 мая 2009

Существует ли бесплатный инструмент, который позволит вам выводить данные (а не структуру) таблицы MS-SQL Express (2005) в виде операторов INSERT в плоский файл?

Этот коммерческий продукт, кажется, делает то, что я имею в виду. Я попытался использовать SqlDump , но мое полное имя сервера не помещается в поле имени SQL Server.

Ответы [ 6 ]

3 голосов
/ 21 января 2013

Что вам нужно сделать, это

  1. Щелкните правой кнопкой мыши по вашей базе данных в студии управления
  2. выбор задач -> генерация скриптов
  3. Выберите таблицу, из которой вы хотите данные
  4. на следующем шаге нажмите «Дополнительно» и установите «типы данных для сценария», задав только данные (или все, что вам нужно)

работает с sql serfver 2008 r2. в предыдущих версиях сервера sql это что-то вроде «Script data», для которого вы установили значение true.

2 голосов
/ 01 мая 2009

tablediff - это бесплатный инструмент, который поставляется с MS SQL Server. Пока ваш источник - это таблица, из которой вы хотите сгенерировать вставки, и у вас есть еще одна пустая таблица, для которой вы хотите сгенерировать вставки, она будет создавать именно тот файл, который вы ищете.

BCP - это, вероятно, лучший выбор утилиты для перемещения данных, но она не будет генерировать фактические DML-вставки, как звучит, как вы ищете.

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

См. эту ссылку для получения дополнительной информации об утилите tablediff.

См. эту ссылку для загрузки мастера публикации базы данных.

1 голос
/ 01 мая 2009

Я знаю, что это не то, что вы имели в виду, и предлагаемые инструменты выглядят многообещающе, но если данные передаются с одного SQL Server на другой, альтернатива с низкими издержками будет использовать bcp . Важные параметры ниже включают -E для сохранения информации об идентичности и -n для использования собственного формата. Выполнение первого оператора позволит создать пакетный файл для выгрузки всех данных в файл, второй оператор создаст bcp ins.

Select 'bcp ' + Table_Catalog  + '..' + 
Table_Name + ' out ' + Table_Name 
+ '.bcp  -S ServerName -U userid -P password -n '
from information_schema.tables 
where table_type = 'BASE TABLE'

Select 'bcp ' + Table_Catalog  + '..' + Table_Name 
+ ' in .\' + Table_name + 
'.bcp  -S .\ -U userid -P password -n -E '
from information_schema.tables 
where table_type = 'BASE TABLE'

Пример вывода

команда bcp out

bcp master..tblDepartments out tblDepartments.bcp  -S ServerName -U
userid -P password -n 

bcp в команде

bcp master..tblDepartments in .\tblDepartments.bcp  -S .\ 
-U userid -P password -n -E 
1 голос
/ 01 мая 2009

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

0 голосов
/ 17 июля 2009

попробуйте бесплатный SSMS Tools Pack , который является надстройкой для SSMS и SSMS Express. он позволяет создавать сценарии вставки для таблицы, всей базы данных или просто для результатов запроса.

0 голосов
/ 01 мая 2009

Это должно сделать это http://sourceforge.net/projects/vwg-ent-man

...