Chat now with support
Chat with Support

LiteSpeed for SQL Server 8.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).

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)]

Script Options:

[ -G <ON_filegroup_name> ]
[ -I <TEXTIMAGE_ON_filegroup_name> ]
[ -i <table_objects> ]
[ -p <prefix> ]
[ -s <suffix> ]

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.

-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.

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

Returns

0 (success) or 1 (failure)

Related Documents