Как сделать резервную копию (дамп) на уровне таблиц в MS SQL Server 2005/2008?
sql-server
backup
database-table
user82431
источник
источник
Ответы:
Вы не можете использовать
BACKUP DATABASE
команду для резервного копирования одной таблицы, если, конечно, рассматриваемая таблица не выделена для нее собственнойFILEGROUP
.Как вы предложили, вы можете экспортировать данные таблицы в файл CSV. Теперь, чтобы получить определение вашей таблицы, вы можете "написать сценарий"
CREATE TABLE
скрипта.Это можно сделать в среде SQL Server Management Studio:
Затем вы можете выбрать таблицу, которую хотите создать в сценарии, а также включить любые связанные объекты, такие как ограничения и индексы.
для того , чтобы получить
DATA
вместе с толькоschema
, вы должны выбратьAdvanced
на вкладке набора опций сценариев, а вGENERAL
разделе установитьTypes of data to script
выберитеSchema and Data
Надеюсь, это поможет, но не стесняйтесь обращаться ко мне напрямую, если вам потребуется дополнительная помощь.
источник
Advanced
на вкладке настроек сценария, а в разделе ОБЩИЕ установитьTypes of data to script
выборSchema and Data
. В первый раз это было неочевидно.Я использую утилиту массового копирования для создания резервных копий на уровне таблиц
экспортировать:
bcp.exe "select * from [MyDatabase].dbo.Customer " queryout "Customer.bcp" -N -S localhost -T -E
импортировать:
как видите, вы можете экспортировать на основе любого запроса, так что вы можете даже делать инкрементные резервные копии с этим. Кроме того, это скрипт, в отличие от других упомянутых здесь методов, использующих SSMS.
источник
Вот необходимые шаги. Шаг 5 важен, если вам нужны данные. На шаге 2 вы можете выбрать отдельные таблицы.
Версия стека EDIT не совсем читается ... вот полноразмерное изображение http://i.imgur.com/y6ZCL.jpg
источник
Вы можете выполнить приведенный ниже запрос, чтобы сделать резервную копию существующей таблицы, которая создаст новую таблицу с существующей структурой старой таблицы вместе с данными.
select * into newtablename from oldtablename
Чтобы скопировать только структуру таблицы, используйте запрос ниже.
select * into newtablename from oldtablename where 1 = 2
источник
Это похоже на решение qntmfred , но с использованием прямого дампа таблицы. Этот вариант немного быстрее (см. Документацию BCP ):
экспортировать:
импортировать:
источник
Если вы ищете что-то вроде MySQL
DUMP
, то хорошие новости: SQL Server 2008 Management Studio добавила эту возможность.В SSMS просто щелкните правой кнопкой мыши нужную БД и выберите « Задачи»> «Создать сценарии» . Затем на 2 - й странице параметров мастера, убедитесь , что выбрать , что вы хотите на данные скриптовые , а также , и это произведет то , что составляет
DUMP
для вас файл.источник
Создайте новую файловую группу, поместите в нее эту таблицу и сделайте резервную копию только этой файловой группы.
источник
Вы можете использовать бесплатный мастер публикации базы данных от Microsoft для создания текстовых файлов с помощью сценариев SQL (CREATE TABLE и INSERT INTO).
Вы можете создать такой файл для отдельной таблицы и «восстановить» всю таблицу, включая данные, просто запустив сценарий SQL.
источник
Не знаю, будет ли это соответствовать описанной здесь задаче. Мне пришлось сделать инкрементную резервную копию таблицы! (Копировать следует только новые вставленные данные). Я раньше разрабатывал пакет DTS, где.
Я получаю новые записи (на основе столбца «статус») и передаю данные в пункт назначения. (Через «Задачу преобразования данных»)
Затем я просто обновил столбец «статус». (Через «Выполнить задачу SQL»)
Пришлось исправить «рабочий процесс» как следует.
источник
Используйте мастер импорта и экспорта SQL Server.
источник
От: Обзор резервного копирования (SQL Server)
источник
У вас, вероятно, есть два варианта, поскольку SQL Server не поддерживает резервное копирование таблиц. Оба начнутся со сценария создания таблицы. Затем вы можете использовать параметр Script Table - INSERT, который будет генерировать множество операторов вставки, или вы можете использовать службы интеграции (DTS с 2000) или аналогичные для экспорта данных в формате CSV или аналогичном.
источник
BMC Recovery Manager (ранее известный как SQLBacktrack) позволяет восстанавливать отдельные объекты в базе данных (также известные как таблицы) на определенный момент времени. Это не дешево, но отлично справляется: http://www.bmc.com/products/proddocview/0,2832,19052_19429_70025639_147752,00.html
http://www.bmc.com/products/proddocview/0,2832,19052_19429_67883151_147636,00.html
источник
Если вы хотите восстановить таблицу после того, как кто-то по ошибке удалил из нее строки, возможно, вам стоит взглянуть на снимки базы данных. Вы можете довольно легко восстановить таблицу (или подмножество строк) из снимка. См. Http://msdn.microsoft.com/en-us/library/ms175158.aspx
источник
Бесплатное приложение SqlTableZip выполнит эту работу. По сути, вы пишете любой запрос (который, конечно, также может быть [select * from table]), и приложение создает сжатый файл со всеми данными, которые можно восстановить позже.
Ссылка: http://www.doccolabs.com/products_sqltablezip.html
источник
Handy Backup автоматически создает файлы дампа из MS SQL Server, включая MSSQL 2005/2008. Эти дампы представляют собой двоичные файлы уровня таблицы, содержащие точные копии конкретного содержимого базы данных.
Чтобы сделать простой дамп с помощью Handy Backup, следуйте следующей инструкции:
Теперь запустите новую задачу, щелкнув значок перед ее названием, или дождитесь запланированного времени. Handy Backup автоматически создаст дамп вашей базы данных. Затем откройте место назначения резервной копии. Вы найдете папку (или пару папок) с вашими резервными копиями MS SQL. Любая такая папка будет содержать файл дампа уровня таблицы, состоящий из некоторых двоичных таблиц и настроек, сжатых в один ZIP-архив.
Другие базы данных
Handy Backup может сохранять дампы для MySQL, MariaDB, PostgreSQL, Oracle, IBM DB2, Lotus Notes и любой общей базы данных SQL, имеющей драйвер ODBC. Некоторые из этих баз данных требуют дополнительных действий для установления соединения между СУБД и Handy Backup.
Инструменты, описанные выше, часто выгружают базы данных SQL в виде последовательности команд SQL на уровне таблицы, делая эти файлы готовыми для любых необходимых изменений вручную.
источник