Chat now with support
Chat with Support

LiteSpeed for SQL Server 8.9.5 - Configure Log Shipping Guide

Restore Objects with the Command-Line Interface

Object Level Recovery utility (olr.exe) allows you to restore objects from the command-line interface (CLI).

This topic covers:

Syntax

olr.exe ( -? | <list_backup_contents> | <view_or_restore_tables> | <restore_other_objects> | <execute_select_script>)

Connection Options:

-U <username>
-P <password>

Backup Files:

-F <full_backup_filename>
    [-N <file_number>]
    [-K <encryption_key>] ]
[-D <diff_backup_filename>
    [-N <file_number>]
    [-K <encryption_key>] ]
[-g <log_backup_filename>
    [ ( [-N <file_number>]
      [-K <encryption_key>] )
    | (-h <striped_log_backup_filename>
        [-N <file_number>]
        [-K <encryption_key>] ) ] ]
[-L (Create|Keep|Delete)]

Cloud connection options:

[--CloudVendor <vendor name>]
[--CloudAccessKey <key name>]
[--CloudAccessKeyEnc <encrypted key name>]
[--CloudSecretKey <key name>]
[--CloudSecretKeyEnc <encrypted key name>]
[--CloudBucketName <bucket name>]
[--CloudRegionName <cloud region name>]
[--CloudEndpoint <cloud endpoint:port>]
[--CloudAcceptAllCertificates <0, 1>]
[--CloudGovRegion <government region number>]
[--CloudStorageClass <standard, standard-ia, standard-rrs>]
[--AWSUseServerSideEncryption <1, 0>]
[--AzureBlobType <block, page>]
[--CloudAutoStriping <1, 0>]
[--CloudAutoStripingThreshold <param size in GB>]
[--UseSSL <1, 0>]

Script Options:

[ -G <ON_filegroup_name> ]
[ -I <TEXTIMAGE_ON_filegroup_name> ]
[ -i <table_objects> ]
[ -p <prefix> ]
[ -s <suffix> ]
[ --UDT <0|1> ]

List Contents:

-V
[-Y <object_type>]
<backup_files>

View or Recover Tables:

-O <table_name>
-E <destination_server_name>
[ (-S <database_name>
[-T <table_name>]
[-W <temp_directory>]
[-X <ship_directory>] ) |
-J <output_filename> ]
[<script_options>]
<backup_files>
<connection_options>

Recover Objects Other than Tables:

( -C [ <object_name> ]
-Y ( object_type | 'Database' )
| -Z <objects_filename> )
[ -Q <script_filename> ]
[<script_options>]
<backup_files>
[-y ]
[-W <temp_directory>]
-E <destination_server_name>
<connection_options>

Execute Select Script:

-B
(-H <script_text> | -Q <script_file_name>)
[-y ]
-E <destination_server_name>
[ (-S <database_name>
[-T <table_name>]
[-W <temp_directory>]
)
| -J <output_filename> ]
<backup_files>
<connection_options>

NOTES: 

  • Arguments are case sensitive and can only be preceded with "-".
  • Either use -H or -Q but not both.
  • Either use -J or -T (with -S and -W) but not both.
  • -B, -C, -O, -V and -Z parameters are mutually exclusive.

Arguments

Argument

Name

Description

-?

--Help

Displays the syntax summary of the LiteSpeed command-line utility.

-B

--ExecuteScript

Indicates Execute SELECT mode of operation.

-b --BackEnd

Object Level Recovery can restore tables using two different internal techniques to handle the record inserts.

The first and default method uses BCP files and a TSQL BULK INSERT statement. Object Level Recovery will write a BCP format file and an accompanying binary data file to the local file system. These files may become very large depending on the table size and will require permissions to write to a temporary directory. The default TEMP location can be set by using the @TempDirectory parameter or by setting a permanent temp location in the LiteSpeed configuration file.

An alternate insertion method can be specified to use Sql Server’s Sql Native Client capabilities. This method inserts row-data directly into the destination database bypassing any storage on the local file-system. To enable this method, use the parameter @backend='SQLNativeClient' (or -b 1 from the command line). To make this the default method set the value “BackEnd=SQLNativeClient” in the Object Level Recovery section of the LiteSpeed configuration file.

Regardless of the insertion method used, the batch size can be globally managed by setting the value “BulkImportBatchSize=<N>”. This will set the number of row inserts for each batched transaction.

-C <object_name>

--CreateScript

Specifies the name of the object to recover.

-d

--RestoreAsOnDiskTable

This option allows you to restore an in-memory table as a regular table.

-D <diff_backup_filename>

--DifferentialBackupFileName

Name of backup file to restore. Used for differential backups instead of full backup files. You can supply multiple instances of this argument.

-E <destination_server_name>

--DestinationServer

Name of the destination server.

-F <full_backup_filename>

--FullBackupFilename

Location and name of the backup file device containing the object to recover.

Examples:

UNC Path: \\servername\share\path\filename

Local path: c:\filedirectory\filename 

NOTE: There can be multiple files but they must be listed in the order in which they were backed up.

-G <filegroup_name>

--OnFileGroup

Destination ON filegroup name.

-g <log_filename> --LogBackupFileName

Specifies location and name of the log backup file. You can supply multiple instances of this argument.

-H <script_text>

--ScriptText

SELECT Script literal text. For more information, see Supported SELECT Statements.

-h <striped_logfilename> --LogBackupStripeFileName

Specifies the striped log file name.

NOTE: The striped files for a given log backup must be specified before the next log backup set is specified.

-i <table_objects> --IncludeTableObjects

Instructs LiteSpeed to script or recover one or more of the following:

  • Constraints—But not foreign keys
  • ForeignKeys
  • Indexes
  • Statistics
  • Triggers
  • All—All of the above

The value is a list of options, separated with commas.

-I <filegroup_name>

--TextImageOnFileGroup

Destination TEXTIMAGE_ON filegroup name. Used to restore a BLOB (binary large object).

-J <filename>

--ResultsFileName

Name of comma separated file (.csv) that is generated instead restoring into a database. This is an ad hoc solution for users want to see the restored data in Excel. You can only use this argument for text data.

-k

--KeepComputedColumns

Instructs LiteSpeed to keep the computed columns with the object restore. This argument accepts one of the following values:

  • 0—False
  • 1—True

-K <encryption_key>

--Key

Value used to generate the encryption key for the encryption algorithm. If you do not supply encryption key, then the program will not encrypt the backup. If you use the wrong encryption key, the restore will fail.

Caution: When encrypting data, take care not to lose the encryption key; a backup cannot be restored or recovered without the original encryption key.

Example of key: 'Mypassword'

-l

--LSMPath

Specify a custom path for finding or creating the LSM file.

-L <option>

--LSM

Specifies handling for OLR LSM mapfile(s).

  • Create—Reads backup and creates a new mapfile. It will ignore attached LSM.
  • Keep—Does not delete mapfile(s) when complete.
  • Delete—Always deletes mapfile(s) when complete.

-M

--FileStreamOnFileGroup

Specifies a file stream filegroup to include in the object restore.

-m

--PersistLogProcessing

Instructs LiteSpeed to persist log processing, so the same database backup does not have to be processed for each Object Level Recovery operation. This argument accepts one of the following values:

  • 0—False (Default).
  • 1—True. LiteSpeed will persist transaction log backups specified and the tail log for future use. This option can offer a huge performance gain for working with databases with large tail logs that could possibly take a long time to process.

-N <file_number>

--FileNumber

Specifies the particular backup to use when recasting, restoring, extracting or reading from files with multiple appended backups. You can run xp_restore_headeronly to query the files contained within the backup set given by backup_file_name.

-O <object_name>

--RestoreTable

Specifies the name of the object to recover.

NOTE: Currently only tables. Table name must be preceded by database owner.

-p <prefix> --PrefixTableObjects

Adds a prefix to the names of the table's objects you selected to script or recover.

-P <password>

--Password

Specifies the user password. Passwords are case-sensitive. Required if the connection type is not a trusted connection.

-Q <script_file_name>

--ScriptFileName

The file name that the script is output into. When used with execute-select, this file contains the select statement(s).

For more information, see Supported SELECT Statements.

-R --Trusted

This is Windows Authentication.

-s <suffix> --SuffixTableObjects

Adds a suffix to the names of the table's objects you selected to script or recover.

-S <destination_database_name>

--DestinationDatabase

Specifies the destination database.

-t

--Trace

Used by LiteSpeed to activate trace logging.

-T <destination_table_name> 

--TableName

Specifies the name of the destination table. LiteSpeed will not overwrite an existing table. If you select the same server instance and database as the original table, you must use a different table name.

NOTE: For Execute-Select operations, LiteSpeed will attempt to insert (append) all selected records into existing table.

-U <username>

--UserName

Specifies user login ID. Required if the connection type is not a trusted connection.

Login IDs are case-sensitive.

--UDT  

Create table script:

  • 0—Off. Create table with native types, if possible; othervise (CLR UDT) create with UDT. (Default).
  • 1—On. Create table with UDT.

-V

--ViewContents

View contents.

-W <temp_directory>

--WriteDirectory

Specifies a temporary directory for use with Object Level Recovery. Use this argument when the default Windows temp directory does not have enough free disk space for the restore process.

NOTE: You can specify the default temp directory using the TempPath parameter in the [LiteSpeed] section of the LiteSpeedSettings.ini file. (Usually, C:\Documents and Settings\All Users\Application Data\Quest Software\LiteSpeed\SQL Server\LiteSpeedSettings.ini.)

-X <ship_directory>

--ShipDirectory

Ship directory for packaging files for subsequent restore.

-Y <object_type>

--Type

Specifies the type of object. If you omit this parameter the object type defaults to table, so you should use this argument to recover schema objects other than tables. This argument accepts one of the following values:

  • All 1, 3
  • Database
  • Default
  • ExtendedProcedure
  • Function
  • IndexedView
  • MemoryOptimizedTable
  • PartitionFunction
  • PartitionScheme
  • Role 1
  • Rule
  • StoredProcedure
  • SystemTable
  • Table
  • TableConstraintClustered 2
  • TableConstraints 2
  • TableForeignKeys 2
  • TableIndexClustered 2
  • TableIndexes 2
  • TableStatistics2

  • TableTriggers 2
  • Trigger
  • Type
  • User 1
  • View
  • XmlSchemaCollection

Notes:
1 These values cannot be used to create scripts.
2 These values are pseudo-object types and are not real schema objects. They are only used to generate SQL scripts to alter the table, and they will be ignored when used with -V or xp_objectrecovery_viewcontents. When one of these values is used with -C or xp_objectrecovery_createscript, @ObjectName (-C) is not the name of the object, but the name of the owning table.
3 This value lists all object types, which are prefixed with "object_type, ". All pseudo-table object types will be listed even though they might not exist for the associated table.

-y --DisableLogProcessing

Instructs LiteSpeed to skip all transaction log backups and tail log processing. This may improve read and recovery times.

-Z <filename>

--ObjFileName

Identifies a file that contains a list of objects. The format of this file is "ObjectType,ObjectName" per line.

Tip: You can use -V and -Y arguments to create the objects list.

Cloud-Specific Arguments

Cloud-specific arguments work in conjunction with the LiteSpeed arguments. See Syntax and Examples for more information.

-Argument

--Argument

Description

(none) --AWSUseServerSideEncryption

The @AWSUseServerSideEncryption argument enables the encryption of data stored at rest in Amazon S3. This argument accepts one of the following values:

  • 0—Do not use Server Side Encryption
  • 1—Use Server Side Encryption
(none) --AzureBlobType

The @AzureBlobType argument specifies the types of blobs that can be stored in the Microsoft Azure cloud storage. This argument accepts one of the following values: "Block", "Page".

note: The LiteSpeed auto striping logic used in the @CloudAutoStriping and @CloudAutoStripingThreshold parameters can override the Azure blob limit for LiteSpeed backups.

(none) --CloudAccessKey

The @CloudAccessKey argument specifies the name of the unique Cloud Web Service alphanumeric access key that identifies each user. The selections include Amazon Access Key, Azure Account Name, Google e-mail styled account, S3 Compatible Storage Access Key.

(none) --CloudAccessKeyEnc

The @CloudAccessKeyEnc argument specifies the name of the encrypted unique Cloud Web Service alphanumeric access key that identifies each user.

(none) --CloudAutoStriping

This parameter enables automatic file striping for LiteSpeed cloud backups.

(none) --CloudAutoStripingThreshold

This parameter contains the stripe size in GBs. LiteSpeed logic uses the database size to make a decision about the number of stripes needed for LiteSpeed cloud backups. For example, if you have a database with a size of 200GB and set @CloudAutoStripingThreshold = 50, then LiteSpeed uses 200/50 = 4 stripes.

(none) --CloudBucketName

The @CloudBucketName argument specifies the name of the container for cloud objects. Bucket names must be at least 3 and no more than 63 characters long. The selections are Amazon Bucket Name, Azure Container Name, Google Bucket Name, Google Bucket Name requirements are described at https://cloud.google.com/storage/docs/naming, S3 Compatible Storage Bucket Name,

(none) --CloudGovRegion

The @CloudGovRegion argument enables a special restricted region for the US Government use in Amazon S3 and Azure Clouds. This argument accepts one of the following values:

  • 0—Do not use government cloud (default)
  • 1—Use government cloud
(none) --CloudRegionName

The @CloudRegionName argument specifies the name of the Cloud Web Service region to use for a bucket. Example values are but not limited to: us-east-1, us-east-2, us-west-1, us-west-2, ca-central-1, eu-central-1, eu-west-1, eu-west-2, ap-south-1, ap-southeast-1, ap-southeast-2, ap-northeast-1, ap-northeast-2, sa-east-1, N'Germany' and N'China'.

(none) --CloudSecretKey

The @CloudSecretKey argument specifies the name of the Cloud Web Service secret key that is assigned when you initially get a Cloud account.

(none) --CloudSecretKeyEnc

The @CloudSecretKeyEnc argument specifies the name of the encrypted Cloud Web Service secret key that is assigned when you initially get a Cloud account.

(none)

--CloudStorageClass

The @CloudStorageClass argument specifies a range of storage classes established for different use cases including:

For Amazon S3:

  • Standard: Standard storage - for general-purpose storage of frequently accessed data.
  • Standard-IA: Standard Infrequent Access - for long-lived, but less frequently accessed data.
  • RRS: Reduced Redundancy Storage - for non-critical data considering lower level of redundancy rather than Standard storage.

Important: : In versions less than 8.5 you should use --AWSStorageClass. The @AWSStorageClass argument is no longer valid in subsequent LiteSpeed versions after 8.5.

For Google Storage:

  • Multi_regional - for frequently accessed data around the world as per serving website content, streaming videos, or gaming and mobile applications.
  • Regional - for frequently accessed data in the same region as your Google Cloud DataProc or the Google Compute Engine instances that use it, as per data analytics.
  • Nearline - for infrequently accessed data (data you expect to access no more than once per month).
  • Coldline - for infrequently accessed data (data you expect to access no more than once per year).
(none) --CloudVendor

The @CloudVendor argument specifies the name of the cloud service provider. The argument accepts one of the following values: "AmazonS3", "AzureBlob", "GoogleStorage" or "S3Compatible".

(none) --CloudEndpoint

The @CloudEndpoint argument specifies the endpoint for S3 Compatible Storage and custom endpoint for Amazon S3 service (in case of VPC). Format: servername:port .Example values: "servername", "servername:port", "ip:port", "10.0.0.200:9021".

(none) --CloudAcceptAllCertificates

The @CloudAcceptAllCertificates argument instructs LiteSpeed accept self-signed certificates for S3 Compatible Storage. This argument accepts one of the following values:

  • 0—Accept verified certificates only (default)
  • 1—Accept self-signed certificates

Note: Delete backups is not supported in Maintenance Plans with this option.

(none) --GSProject

DEPRECATED LiteSpeed 8.8: Was used to store for the Google Cloud Storage project ID; the project ID is now obtained from login. This parameter is retained for compatibility with old backup/restore scripts.

(none)

--UseSSL

The @UseSSL argument specifies that the connection uses SSL security. This argument accepts one of the following values:

  • 0—Do not use SSL
  • 1—Use SSL (default)

Examples

  1. List all objects in the LiteSpeedLocal database in the LITESPEED_full.bak backup file:

    olr.exe -V -F "C:\temp\LITESPEED_full.bak" -Y "All"

  2. Preview a table, do not use tail log:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -N 1 -O dbo.LitespeedActivity -y -E LITESPEED\SQL2005

  3. Recover the contents of the LiteSpeedActivity table to the LITESPEED\SQL2005 server, TEST database, LiteSpeedActivity117 table:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -N2 -D "c:\temp\LITESPEED_diff.bak" -N3 -O dbo.LiteSpeedActivity -E LITESPEED\SQL2005 -S TEST -Tdbo.LiteSpeedActivity117

  4. Recover the contents of the LiteSpeedActivity table to the LITESPEED\SQL2005 server, TEST database, LiteSpeedActivity table using custom temp directory:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -N2 -D "c:\temp\LITESPEED_diff.bak" -N3 -O dbo.LiteSpeedActivity -E LITESPEED\SQL2005 -S TEST -Tdbo.LiteSpeedActivity -Wd:\products

  5. Recover dbo.Employees from a striped backup:

    olr.exe -F "C:\temp\FOX_full.bak" -K****** -g"C:\temp\FOX_tlog1.bak" -h"C:\temp\FOX_tlog2.bak" -h"C:\temp\FOX_tlog3.bak" -K****** -Odbo.Employees -i "constraints, foreignKeys" -E LITESPEED\SQL2005 -S HR -Tdbo.Employees

  6. Query the backup:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -B -H "select top (100)* from dbo.LiteSpeedActivity" -E LITESPEED\SQL2005

  7. Execute select script and save results in a database:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -B -Q "C:\temp\New Folder\select_script.sql" -E LITESPEED\SQL2005 -SQResults -T DBID6

  8. Query the backup and save results in a .csv file:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -B -H "select * from dbo.LiteSpeedActivity where PercentCompleted < 100" -E LITESPEED\SQL2005 -J "C:\LS_Activity.csv"

  9. Create scripts in the "c:\temp\scripts" folder to recover dbo.Employees later:

    olr.exe -F "C:\temp\FOX_full.bak" -K****** -g"C:\temp\FOX_tlog1.bak" -h"C:\temp\FOX_tlog2.bak" -h"C:\temp\FOX_tlog3.bak" -K****** -Odbo.Employees -i "constraints, foreignKeys" -E LITESPEED\SQL2005 -S NHR -T dbo.Employees -X c:\temp\scripts

  10. Generate a script to restore the table schema only:

    olr.exe -F "C:\temp\LITESPEED_full.bak" -N 1 -C dbo.LitespeedActivity -i "constraints, foreignkeys" -s "_restored"

  11. Generate a script for an object other than a table:

    olr.exe -F "C:\temp\FOX_full.bak" -K****** -N3 -C dbo.FOX_view -Y View

  12. Create a script file for objects listed in the objects.txt file:

    olr.exe -F "C:\temp\FOX_full.bak" -K****** -N3 -Z "c:\temp\objects.txt" -Q d:\temp\create_view.sql

  13. Create a 'Create Database' script:

    olr.exe -F "C:\temp\FOX_full.bak" -K****** -N3 -C -Y Database -Q d:\temp\create_database_FOX.sql

  14. Restore Objects

    olr.exe -F "C:\temp\FOX_full.bak" -K****** -N3 -C -Y Database -Q d:\temp\create_database_FOX.sql --UDT 0

  15. Read files direct from cloud storage

    olr.exe -F "s3:\\bucket.US\abyr-full-s3.bak" -V -Y All --CloudVendor "AmazonS3" --CloudAccessKeyEnc "***" --CloudSecretKeyEnc "***"

Returns

0 (success) or 1 (failure)

 

Related Topics

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating