Author | Sander Stad (@sqlstad), sqlstad.nl |
Availability | Windows, Linux, macOS |
Want to see the source code for this command? Check out Invoke-DbaDbLogShipRecovery on GitHub.
Want to see the Bill Of Health for this command? Check out Invoke-DbaDbLogShipRecovery.
Invoke-DbaDbLogShipRecovery recovers log shipped databases to a normal state to act upon a migration or disaster.
By default all the databases for a particular instance are recovered.
If the database is in the right state, either standby or recovering, the process will try to recover the database.
At first the function will check if the backup source directory can still be reached.
If so it will look up the last transaction log backup for the database. If that backup file is not the last copied file the log shipping copy job will be started.
If the directory cannot be reached for the function will continue to the restoring process.
After the copy job check is performed the job is disabled to prevent the job to run.
For the restore the log shipping status is checked in the msdb database.
If the last restored file is not the same as the last file name found, the log shipping restore job will be executed.
After the restore job check is performed the job is disabled to prevent the job to run
The last part is to set the database online by restoring the databases with recovery
Invoke-DbaDbLogShipRecovery
[[-SqlInstance] <DbaInstanceParameter[]>]
[[-Database] <String[]>]
[[-SqlCredential] <PSCredential>]
[-NoRecovery]
[-EnableException]
[-Force]
[[-InputObject] <Database[]>]
[[-Delay] <Int32>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
PS C:\> Invoke-DbaDbLogShipRecovery -SqlInstance server1 -Force
Recovers all the databases on the instance that are enabled for log shipping
PS C:\> Invoke-DbaDbLogShipRecovery -SqlInstance server1 -SqlCredential $cred -Verbose -Force
Recovers all the databases on the instance that are enabled for log shipping using a credential
PS C:\> Invoke-DbaDbLogShipRecovery -SqlInstance server1 -database db_logship -Verbose
Recovers the database "db_logship" to a normal status
PS C:\> db1, db2, db3, db4 | Invoke-DbaDbLogShipRecovery -SqlInstance server1 -Verbose
Recovers the database db1, db2, db3, db4 to a normal status
PS C:\> Invoke-DbaDbLogShipRecovery -SqlInstance server1 -Force -WhatIf
Shows what would happen if the command were executed.
The target SQL Server instance or instances.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Database to perform the restore for. This value can also be piped enabling multiple databases to be recovered.
If this value is not supplied all databases will be recovered.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Login to the target instance using alternative credentials. Accepts PowerShell credentials (Get-Credential).
Windows Authentication, SQL Server Authentication, Active Directory - Password, and Active Directory - Integrated are all supported.
For MFA support, please use Connect-DbaInstance.
Alias | |
Required | False |
Pipeline | false |
Default Value |
Allows you to choose to not restore the database to a functional state (Normal) in the final steps of the process.
By default the database is restored to a functional state (Normal).
Alias | |
Required | False |
Pipeline | false |
Default Value | False |
By default, when something goes wrong we try to catch it, interpret it and give you a friendly warning message.
This avoids overwhelming you with "sea of red" exceptions, but is inconvenient because it basically disables advanced scripting.
Using this switch turns this "nice by default" feature off and enables you to catch exceptions with your own try/catch.
Alias | |
Required | False |
Pipeline | false |
Default Value | False |
Use this parameter to force the function to continue and perform any adjusting actions to successfully execute
Alias | |
Required | False |
Pipeline | false |
Default Value | False |
Allows piped input from Get-DbaDatabase
Alias | |
Required | False |
Pipeline | true (ByValue) |
Default Value |
Set the delay in seconds to wait for the copy and/or restore jobs.
By default the delay is 5 seconds
Alias | |
Required | False |
Pipeline | false |
Default Value | 5 |
Shows what would happen if the command were to run. No actions are actually performed.
Alias | wi |
Required | False |
Pipeline | false |
Default Value |
Prompts you for confirmation before executing any changing operations within the command.
Alias | cf |
Required | False |
Pipeline | false |
Default Value |