Я мог бы успешно архивировать базу данных с помощью командлета Backup-Sqldatabase в один файл .bak. Однако я хотел бы создать разделенные файлы резервных копий для базы данных. Возможно ли это с помощью командлета?Можно ли использовать командлет Backup-Sqldatabase в powershell для создания разделенной резервной копии?
0
A
ответ
1
У cmdlet есть параметр -backupFile
, который устанавливает массив имен файлов. По крайней мере, с параметром -Script
испускаемый TSQL выглядит разумным, поэтому он должен работать. Таким образом,
PS SQLSERVER:\> Backup-SqlDatabase -Script -ServerInstance ".\sqli001" -Database TestDB -BackupFile @("c:\temp\1.bak", "c:\temp\2.bak")
BACKUP DATABASE [TestDB] TO DISK = N'c:\temp\1.bak', DISK = N'c:\temp\2.bak' WITH NOFORMAT, NOINIT, NOSKIP, REWIND, NOUNLOAD, STATS = 10
GO
+0
Спасибо! Это сработало :) – Kelsey
0
Это приведет к генерации кода для резервного копирования.
Используйте приведенный ниже сценарий PowerShell для выполнения резервного копирования, и я предоставил способ передать динамическое значение в путь к файлу резервной копии, как показано ниже.
$path = 'D:\BackupFolder\TestDB.Bak,E:\BackupFolder\TestDB.Bak'
$QUERY = Backup-SqlDatabase -Script -ServerInstance ServerName -Database TestDB -BackupFile @($path.split(','))
invoke-sqlcmd -query "$QUERY" -ServerInstance "SQLInstanceName"
Вы уверены, что striped backups - это то, что вам действительно нужно? – vonPryz