SQL Server 2005 - программный экспорт таблицы (запустите файл .sql, чтобы восстановить его)

У меня есть база данных с таблицей «Клиенты», у которых есть некоторые данные. У

меня есть другая база данных в офисе, где все одинаково, но моя таблица «Клиенты» пуста.

Как создать файл SQL в SQL Server 2005 (T-SQL), который принимает все На таблице «Клиенты из первой базы данных» создается, скажем, buildcustomers.sql, я архивирую этот файл, копирую его по сети, выполняю на моем SQL Server и вуаля! мой стол Клиенты заполнен

Как я могу сделать то же самое для всей базы данных?

21.08.2008 16:04:31
Вчера был вопрос об этом, и лучшим решением был Мастер публикации баз данных .
Forgotten Semicolon 21.08.2008 16:13:54
Если вы используете Visual Studio 2008 Team Edition для специалистов по базам данных, это можно сделать с помощью простого мастера: < msdn.microsoft.com/en-us/library/aa833411(VS.80 ) .aspx >
Slavo 21.08.2008 16:22:01
Другой способ - использовать отличный инструмент
edosoft 19.05.2009 07:59:22
чтобы выбрать определенную таблицу для данных сценария, попробуйте надстройку SQL
Mandoleen 7.03.2012 11:44:04
7 ОТВЕТОВ

Вы всегда можете экспортировать данные из таблицы «Клиенты» в файл Excel и импортировать эти данные в таблицу «Клиенты».

Чтобы импортировать / экспортировать данные:

  1. Щелкните правой кнопкой мыши на базе данных
  2. Перейти к задачам
  3. Перейти к импорту данных или экспорту данных
  4. Измените источник данных на Microsoft Excel
  5. Следуй за волшебником
1
21.08.2008 16:13:17

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

INSERT INTO [DestinationDB].[schema].[table] ([column])
SELECT [column] FROM [OriginDB].[schema].[table]
GO
0
23.10.2008 07:58:35
Это не сработало для меня. Я пошел с «select * в newtablename из oldtablename», как показано в этой теме ( stackoverflow.com/questions/680552/table-level-backup )
Gary Thomann 1.08.2013 00:58:59

Используйте bcp(из командной строки) для сетевого файла, а затем восстановить его.

например

bcp "SELECT * FROM CustomerTable" queryout "c:\temp\CustomerTable.bcp" 
     -N -S SOURCESERVERNAME -T 

bcp TargetDatabaseTable in "c:\temp\CustomerTable.bcp" -N -S TARGETSERVERNAME -T 
  • -N использовать нативные типы
  • -T использовать доверенное соединение
  • -S имя_сервера

Очень быстро и легко встраивать в код. (Я построил систему резервного копирования (восстановления) базы данных вокруг этой самой команды.

26
3.05.2012 17:48:24
о, это прекрасно. скриптовый, гибкий, хорошо поддерживаемый и очень быстрый. Спасибо!
kenwarner 28.09.2010 17:40:14
Смотрите также этот ответ для скрипта, который будет генерировать пакетный файл, вызывающий bcp для каждой таблицы.
wimh supports Monica 19.11.2013 08:20:30
Это отлично сработало для меня. Однако я предлагаю изменить команду импорта с -E для обработки столбцов идентификаторов и -q для кавычек идентификаторов. -E обеспечит правильность введенных значений идентификаторов.
Ken Richards 14.01.2014 16:42:25
Как выполнить на нескольких столах?
shzyincu 31.08.2017 06:12:34

Эта функциональность уже встроена в Sql Server Management Studio 2008.

Просто скачайте пробную версию и установите только клиентские инструменты (срок действия которых не истекает). Используйте Management Studio 2008 для подключения к базе данных 2005 года (она обратно совместима).

  1. Щелкните правой кнопкой мыши вашу базу данных
  2. Выберите « Задачи» > « Создать сценарии».
  3. Нажмите Далее, снова выберите базу данных
  4. На экране «Выбор параметров сценария» есть параметр « Данные сценария», который генерирует операторы вставки SQL для всех ваших данных.

(Примечание: для SQL Server Management Studio 2008 R2 этот параметр называется «Типы данных для сценария» и является последним в разделе «Общие». Возможны варианты «только данные», «схема и данные» и «только схема». «)

альтернативный текст альтернативный текст

76
24.02.2011 14:14:17
Спасибо за указание на изменение R2! Понятно для других: схема по умолчанию, и она сбрасывается на это, если вы измените целевые объекты.
Nick Westgate 19.05.2011 06:29:25
Фантастика. Как раз то, что я искал!
Antony 8.07.2011 15:55:22
Это отличный ответ. Стоит отметить, что они облажались с этим, и теперь вместо «Script Data», установленной в «True», вы должны установить «Types of data to script» в «Schema and data». Просто для справки, Microsoft ужасна в этом дерьме. Они легко предоставляют худшие инструменты для работы с базами данных и интерфейс, с которым я когда-либо сталкивался, и мне очень жаль тех, кому приходится работать с этой ерундой. Серьезно, вместо «Экспорт» нам пришлось «Генерировать» ?! WTF
Kristopher Ives 28.02.2012 00:15:28
Стоит отметить, что в SQL MGMT 2008 расширенная кнопка на экране параметров - это то место, где находится опция для данных
Rob 27.03.2012 14:07:05
Вы можете запустить скрипт с предложением where?
Piotr Kula 1.08.2012 13:47:26

Для Data Expoer в качестве сценария SQL в SQL Server 2005,

http://blog.sqlauthority.com/2007/11/16/sql-server-2005-generate-script-with-data-from-database-database-publishing-wizard/

0
9.07.2013 15:55:37

Я просто хотел бы добавить несколько снимков экрана для Sql Server Management Studio 2008. Правильно использовать шаги, описанные ранее. Если у вас есть «Создать и опубликовать сценарий» -> «Установить параметры сценария», нажмите «Дополнительно», чтобы просмотреть параметры сценария:

! [Где найти дополнительные параметры скрипта]: изображение отсутствует, потому что у меня нет подходящей репутации :(

Для Sql Server Management Studio 2008 опция для включения данных - «Типы данных для сценария»

! [Типы данных для сценария]: изображение отсутствует, потому что у меня нет подходящей репутации :(

0
11.07.2013 06:26:48

Вы можете проверить следующую статью, чтобы увидеть, как вы можете сделать это, используя как собственные инструменты SQL Server, так и сторонние инструменты: методы массового копирования и импорта и экспорта SQL Server.

Отказ от ответственности: я работаю для ApexSQL в качестве инженера службы поддержки

Надеюсь это поможет

22
30.06.2014 14:06:47