База данных: резервное копирование нескольких таблиц с данными + схема и другие таблицы только с схемой - PullRequest
0 голосов
/ 03 мая 2019

В нашей базе данных есть таблицы данных приложений и таблицы данных транзакций.поскольку в моей таблице транзакций содержится огромное количество записей, я хочу игнорировать их при выполнении резервного копирования.Таким образом, в основном, когда я запускаю планировщик, мне нужны схема + данные для таблиц, связанных с приложением, и только схема для таблиц данных, связанных с транзакциями.Мне предложили использовать генератор сценариев.однако я не уверен, что это сработает, потому что мои таблицы приложений связаны друг с другом, а мои столбцы первичного ключа, как правило, являются столбцами идентификаторов.

1 Ответ

0 голосов
/ 03 мая 2019

резервное копирование нескольких таблиц с данными + схема и другие таблицы только с схемой

Для такого сценария обычная функция резервного копирования SQL Server вообще не будет работать, поскольку нет способа разделить данные и структуру и нет способа избежать резервного копирования некоторых таблиц.

Даже если вы выполните резервное копирование файловой группы, это не означает, что вы можете восстановить только эту файловую группу и оставить другие таблицы без изменений. Резервные копии файловой группы просто не работают таким образом.

Таким образом, сценарии могут быть одним из решений:

    1. Создать скрипт данных и структуры для небольших таблиц
    1. Создать скрипт структуры только транзакционных таблиц

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

Что-то вроде:

SELECT * INTO ExportDB.dbo.Table1
SELECT * INTO ExportDB.dbo.Table2
SELECT * INTO ExportDB.dbo.Table3
--- two tables below will  have no data, only a structure
SELECT * INTO ExportDB.dbo.Table4 WHERE 1=0 -- A large transactional table 1
SELECT * INTO ExportDB.dbo.Table5 WHERE 1=0 -- A large Transactional table 1

BACKUP DATABASE ExportDB TO DISK='..'
DROP DATABASE ExportDB

Однако собственные резервные копии (которые не подходят для вашего сценария) могут обеспечить согласованность данных, обеспечиваемую PK и FK, в то время как пользовательские параметры, о которых я упоминал после, не могут гарантировать этого

Ссылка: Как выполнить резервное копирование определенных таблиц в SQL Server 2008 с помощью сценария T-SQL

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...