Как создать полное резервное копирование БД с независимыми цепями резервного копирования? - PullRequest
2 голосов
/ 16 мая 2019

Я пытаюсь сгенерировать независимые полные резервные копии БД и не могу получить результат, который ищу.Насколько я прочитал, полное резервное копирование базы данных создаст новую цепочку резервного копирования, и выполненные последовательные разностные резервные копии будут «связаны» с этой полной резервной копией.Однако, когда я запускаю скрипт для резервного копирования базы данных два раза, в результате получается, что вторая полная резервная копия зависит от первой.

BACKUP DATABASE [Pruebas2] TO  DISK = 'C:\temp\new\Backup_pruebas2.bak' WITH NOINIT, NAME = N'Database Backup',STATS = 10;
BACKUP DATABASE [Pruebas2] TO  DISK = 'C:\temp\new\Backup_pruebas2.bak' WITH DIFFERENTIAL,NOINIT, NAME = N'Database Backup',STATS = 10;

--new backup of DB ' Pruebas2' saved into a different file
BACKUP DATABASE [Pruebas2] TO  DISK = 'C:\temp\new\Backup_pruebas2_2.bak' WITH NOINIT, NAME = N'Database Backup',STATS = 10;
BACKUP DATABASE [Pruebas2] TO  DISK = 'C:\temp\new\Backup_pruebas2_2.bak' WITH DIFFERENTIAL,NOINIT, NAME = N'Database Backup',STATS = 10;

Это результаты queryng msdb.dbo.backupset:

physical_device_name                position    type    backup_start_date       backup_finish_date      first_lsn           checkpoint_lsn      database_backup_lsn

C:\temp\new\Backup_pruebas2.bak     1           D       2019-05-16 15:15:14.000 2019-05-16 15:15:14.000 32000000034300102   32000000034300102   0

C:\temp\new\Backup_pruebas2.bak     2           I       2019-05-16 15:15:14.000 2019-05-16 15:15:14.000 32000000039600034   32000000039600034   32000000034300102

C:\temp\new\Backup_pruebas2_2.bak   1           D       2019-05-16 15:15:59.000 2019-05-16 15:15:59.000 32000000041400037   32000000041400037   32000000034300102

C:\temp\new\Backup_pruebas2_2.bak   3           I       2019-05-16 15:33:16.000 2019-05-16 15:33:16.000 32000000043900034   32000000043900034   32000000041400037

Я ожидаю, что для параметра «database_backup_lsn» было 0 для полной резервной копии, хранящейся в файле «Backup_pruebas2_2.bak» вместо 32000000034300102, которая связана с первой полной резервной копией

Какой сценарий будетсоздать новую (независимую) цепочку резервных копий?

1 Ответ

2 голосов
/ 16 мая 2019

Ваш сценарий правильный.

Database_backup_lsn определен как
"Порядковый номер журнала последней полной резервной копии базы данных. Может быть NULL.
Database_backup_lsn - это« начало контрольной точки », то естьзапускается при запуске резервного копирования. Этот LSN будет совпадать с first_lsn, если резервное копирование выполняется, когда база данных простаивает и репликация не настроена. "
https://docs.microsoft.com/en-us/sql/relational-databases/system-tables/backupset-transact-sql?view=sql-server-2017

Таким образом, во втором резервном копировании сохраняется только указатель на предыдущийодин, но нет никакой зависимости.

...