Invoke-DbaLogShipping helps to easily set up log shipping for one or more databases.
This function will make a lot of decisions for you assuming you want default values like a daily interval for the schedules with a 15 minute interval on the day.
There are some settings that cannot be made by the function and they need to be prepared before the function is executed.
The following settings need to be made before log shipping can be initiated:
– Backup destination (the folder and the privileges)
– Copy destination (the folder and the privileges)
Make sure your agent service on both the primary and the secondary instance is an Active Directory account.
Also have the credentials ready to set the folder permissions
** Network share
The backup destination needs to be shared and have the share privileges of FULL CONTROL to Everyone.
** NTFS permissions
The backup destination must have at least read/write permissions for the primary instance agent account.
The backup destination must have at least read permissions for the secondary instance agent account.
The copy destination must have at least read/write permission for the secondary instance agent acount.
Sets up log shipping for database “db1” with the backup path to a network share allowing local backups.
It creates daily schedules for the backup, copy and restore job with all the defaults to be executed every 15 minutes daily.
The secondary database will be called “db1_LS”.
Invoke-DbaLogShipping -SourceSqlInstance sql1 -DestinationSqlInstance sql2 -Database db1 -BackupNetworkPath \sql1\logshipping -BackupLocalPath D:\Data\logshipping -BackupScheduleFrequencyType daily -BackupScheduleFrequencyInterval 1 -CompressBackup -CopyScheduleFrequencyType daily -CopyScheduleFrequencyInterval 1 -GenerateFullBackup -RestoreScheduleFrequencyType daily -RestoreScheduleFrequencyInterval 1 -SecondaryDatabaseSuffix DR -CopyDestinationFolder \sql2\logshippingdest -Force
Sets up log shipping with all defaults except that a backup file is generated.
The script will show a message that the copy destination has not been supplied and asks if you want to use the default which would be the backup directory of the secondary server with the folder “logshipping” i.e. “D:\SQLBackup\Logshipping”.
Invoke-DbaLogShipping -SourceSqlInstance sql1 -DestinationSqlInstance sql2 -Database db1 -BackupNetworkPath \sql1\logshipping -GenerateFullBackup -Force
Sets up log shipping for a specific time by option to backup, copy and restore schedule parameter.
Invoke-DbaLogShipping -SourceSqlInstance $SourceSqlInstance -DestinationSqlInstance $DestinationSqlInstance -Database $Database -BackupNetworkPath $BackupNetworkPath -BackupLocalPath $BackupLocalPath -BackupScheduleFrequencyType Daily -CompressBackup -CopyScheduleFrequencyType Daily -GenerateFullBackup -RestoreScheduleFrequencyInterval EveryDay -CopyDestinationFolder $CopyDestinationFolder -RestoreScheduleFrequencyType Daily -RestoreScheduleFrequencySubdayType Time -RestoreScheduleStartTime 230000