Резервное копирование одной таблицы с ее данными из базы данных на sql server 2008

94

Я хочу получить резервную копию одной таблицы с ее данными из базы данных в SQL Server с помощью сценария.

Как я могу это сделать?

EBS
источник
Мастер импорта / экспорта SQL. Щелкните правой кнопкой мыши свою базу данных в SMSS / Выберите экспорт
элемента
1
Я хочу сделать это с помощью сценария
EBS
4
пожалуйста, примите ответ MGOwen
greg121

Ответы:

33

Есть много способов вернуть стол обратно.

  1. BCP (ПРОГРАММА МАССОВОГО КОПИРОВАНИЯ)
  2. Создать сценарий таблицы с данными
  3. Сделайте копию таблицы, используя SELECT INTO, пример здесь
  4. СОХРАНИТЬ данные таблицы непосредственно в плоском файле
  5. Экспорт данных с использованием SSIS в любое место
Виджай Хулмани
источник
10
Хотя этот код может ответить на вопрос, предоставление дополнительного контекста относительно того, почему и / или как он отвечает на вопрос, значительно улучшит его долгосрочную ценность. Пожалуйста, отредактируйте свой ответ, чтобы добавить пояснение.
CodeMouse92
Если это для ежедневного резервного копирования, мы можем использовать репликацию для репликации таблицы, которую вы хотите сделать резервную копию. Затем создайте резервную копию базы данных подписчиков.
DBALUKE HUANG,
@ CodeMouse92 Согласен. Я проголосовал против, потому что ответ короткий и без объяснения.
Каньон Колоб,
145
select * into mytable_backup from mytable

Создает копию таблицы mytable и каждой строки в ней с именем mytable_backup .

MGOwen
источник
9
Приятно, что этот запрос фактически создаст таблицу mytable_backup. Я этого не ожидал и создал новую таблицу для резервного копирования.
AidanO
Я использовал это много для резервного копирования данных в другую схему, и я просто заметил, что при определенных обстоятельствах есть строки MISSING ! Цель могла быть неполной. Я не знаю почему. Лучше проверить количество строк после такого резервного копирования.
Бен
41

Вы можете использовать функцию «Создать сценарий для объектов базы данных» в SSMS.

  1. Щелкните правой кнопкой мыши целевую базу данных
  2. Выберите " Задачи"> "Создать сценарии".
  3. Выберите желаемый стол или конкретный объект
  4. Нажмите кнопку Advanced
  5. В разделе Общие выберите значение Типы данных для сценария . Вы можете выбрать Только данные, Только схема и Схема и данные . Схема и данные включают как создание таблицы, так и фактические данные о созданном скрипте.
  6. Нажимайте Далее до завершения работы мастера.

Это решило мою задачу.
Надеюсь, это поможет и вам.

Кент Агилар
источник
21

Вы можете создать скрипт таблицы вместе с ее данными, выполнив следующие шаги:

  1. Щелкните правой кнопкой мыши базу данных.
  2. Выберите Задачи> Создать скрипты ...
  3. Нажмите кнопку "Далее.
  4. Нажмите кнопку "Далее.
  5. В параметрах таблицы / просмотра установите для параметра «Данные сценария» значение «Истина»; затем щелкните "Далее".
  6. Установите флажок Таблицы и нажмите Далее.
  7. Выберите название своей таблицы и нажмите «Далее».
  8. Нажимайте «Далее», пока мастер не завершит работу.

Для получения дополнительной информации см . Блог Эрика Джонсона.

Панкадж
источник
11

Попробуйте использовать следующий запрос, который создаст соответствующую таблицу в той же или другой БД («База данных»).

SELECT * INTO DataBase.dbo.BackUpTable FROM SourceDataBase.dbo.SourceTable
Би Джей Патель
источник
1
Он отличается от предыдущего ответа ?
Офер Зелиг,
8

Резервное копирование одной таблицы с ее данными из базы данных на sql server 2008

SELECT * INTO  [dbo].[tbl_NewTable] 
FROM [dbo].[tbl_OldTable]
Код
источник
1
Он отличается от предыдущего ответа ?
Офер Зелиг,
3

Поместите таблицу в отдельную файловую группу. Затем вы можете использовать обычный SQL Server, встроенный в резервную копию, для резервного копирования файловой группы, в которой фактически создается резервная копия таблицы.

Чтобы сделать резервную копию файловой группы, см. Https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/back-up-files-and-filegroups-sql-server

Чтобы создать таблицу в файловой группе, отличной от стандартной (это просто), см .: Создание таблицы в файловой группе, отличной от стандартной

Бенджамин Московиц
источник
3

Этот запрос выполняется для меня (для MySQL). mytable_backup должен присутствовать перед запуском этого запроса.

insert into mytable_backup select * from mytable
Умеш Кумар Шарма
источник
4
Речь идет о SQL Server, а не о MySQL.
Стивен Кеннеди
2

Другой подход, который вы можете использовать, если вам нужно создать резервную копию одной таблицы из нескольких таблиц в базе данных:

  1. Сгенерируйте сценарий для определенных таблиц из базы данных (щелкните правой кнопкой мыши базу данных, выберите Задача> Создать сценарии ...

  2. Запустите сценарий в редакторе запросов. Вы должны изменить / добавить первую строку (USE DatabaseName) в скрипте в новую базу данных, чтобы избежать появления ошибки «База данных уже существует».

  3. Щелкните правой кнопкой мыши вновь созданную базу данных и выберите Задача> Резервное копирование ... Резервная копия будет содержать выбранные таблицы из исходной базы данных.

Симпа
источник
0

Чтобы получить копию в файле в локальной файловой системе, работала эта шаткая утилита из меню кнопки «Пуск» Windows: «C: \ Program Files (x86) \ Microsoft SQL Server \ 110 \ DTS \ Binn \ DTSWizard.exe»

wwmbes
источник