The extraction utility (extractor.exe) allows you to create MTF compliant SQL Server backup files from LiteSpeed backup files through the command-line. The devices created by the extractor utility can be restored on any SQL Server using the native RESTORE DATABASE or RESTORE LOG commands. The utility must be run on the server where the backup files are located.
This topic covers:
To use the utility, run the command line and change the directory until you are in the LiteSpeed installation directory (Usually, C:\Program Files\Quest Software\LiteSpeed\SQL Server).
extractor.exe ( -? | ( [-F <sqllitespeed_backup_file>]
[-E <base_file_name>]
[-N <file_number>]
[-K <encryption_key>]
[-L (0|1|2)]
[-c <tsm_client_node>]
[-i <tsm_filespace>]
[-k <tsm_owner_password>]
[-j <tsm_config_file>]
[--TSMPointInTime <date_time>]
[-I] ) )
NOTES:
Extract a LiteSpeed backup to a Network Share:
extractor.exe -F "C:\temp\Northwind.bak" -E \\my_server\my_share\Native.bak
Extract only the first backup in a backup set:
extractor.exe -F "C:\temp\Northwind.bak" -E "C:\temp\NorthwindNative.bak" -N 1
Extract a striped LiteSpeed backup:
extractor.exe -F "C:\temp\LS1.bak" -F "C:\temp\LS2.bak" -F "C:\temp\LS3.bak" -F "C:\temp\LS4.bak" -E "C:\temp\Native.bak"
NOTE: The number of extracted files does not have to match the number of files in a LiteSpeed backup. For more information, see Arguments. about the -E parameter.
See how many destination files the extractor utility is going to create for the LiteSpeed backup:
extractor.exe -F"c:\Backup\Northwind.bak"
Specify one filename for each destination file. The number of file names you specify with the -E parameter must match the number of files the extractor utility has returned for the LiteSpeed backup. The example below has 3 destination files:
extractor.exe -F"c:\Backup\Northwind.bak" –E "c:\Data\NW1.bak" "e:\Data\NW2.bak" \\my_server\my_share\NW3.bak
Extract a TSM backup to native SQL Server backup:
extractor.exe -c"10.0.1.200" -k"password" -j"C:\Program Files\Tivoli\TSM\baclient\dsm.opt" -F tsmbkp:fsMH\nw\test -E "C:\temp\TestNative.bak"
0 (success) or 1 (failure)
Object Level Recovery utility (olr.exe) allows you to restore objects from the command-line interface (CLI).
This topic covers:
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:
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:
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:
| |||
-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).
| |||
-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:
| |||
-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). | |||
-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:
| ||||
-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.
| |||
-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:
| |||
-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 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:
| |
(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".
| |
(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:
| |
(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:
For Google Storage:
| |
(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:
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:
|
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"
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
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
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
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
Query the backup:
olr.exe -F "C:\temp\LITESPEED_full.bak" -B -H "select top (100)* from dbo.LiteSpeedActivity" -E LITESPEED\SQL2005
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
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"
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
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"
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
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
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
Restore Objects
olr.exe -F "C:\temp\FOX_full.bak" -K****** -N3 -C -Y Database -Q d:\temp\create_database_FOX.sql --UDT 0
Read files direct from cloud storage
olr.exe -F "s3:\\bucket.US\abyr-full-s3.bak" -V -Y All --CloudVendor "AmazonS3" --CloudAccessKeyEnc "***" --CloudSecretKeyEnc "***"
0 (success) or 1 (failure)
The LicenseInfoCmd utility allows you to license LiteSpeed from the command line.
NOTE: This utility will only register a local copy of LiteSpeed.
To use the utility, run the command line and change the directory until you are in the LiteSpeed installation directory (Usually, C:\Program Files\Quest Software\LiteSpeed\SQL Server).
LicenseInfoCmd.exe (-? | -r | ([-s] -l <license_key> [-m <site_message>]) )
View information about the accepted parameters:
LicenseInfoCmd.exe -?
View information about the supplied license key
LicenseInfoCmd.exe -l C20TM3Q3K2HD74UDLBMHC6KYV6HZ3MQFNXZFB-123-45678-34
Register the supplied license key
LicenseInfoCmd.exe -l C20TM3Q3K2HD74UDLBMHC6KYV6HZ3MQFNXZFB-123-45678-34 -s
Remove the currently installed license
LicenseInfoCmd.exe -r
NOTE: LicenseInfoCmd needs to be run from an elevated command prompt on Windows Vista/2008/7/8/10 to be able to store or remove the license key.
On upgrade from a LiteSpeed 8.5 or earlier installation the site message parameter is required as in:
LicenseInfoCmd.exe -l C20TM3Q3K2HD74UDLBMHC6KYV6HZ3MQFNXZFB-123-45678-34 -m "Trial Version"
LicenseInfoCmd.exe -l C20TM3Q3K2HD74UDLBMHC6KYV6HZ3MQFNXZFB-123-45678-34 -m "Trial Version" -s
You can use extended stored procedures to perform LiteSpeed activities without using the LiteSpeed UI Console.
When you install LiteSpeed, the installer registers the LiteSpeed extended stored procedures with every instance of SQL Server selected at installation. These extended stored procedures contain a series of commands that you can execute in SQL Query Analyzer or other SQL scripting tool, such as Toad for SQL Server.
NOTES:
LiteSpeed arguments are flexible and usually do not have any hard coded length limits. Review the following for additional information:
If you want to... | Use... |
---|---|
Back up a database (full, differential, file, or filegroup) |
|
Back up a transaction log |
|
Back up |
|
Backup databases and perform other maintenance tasks | xp_slssqlmaint |
Convert a backup to a Double Click Restore | xp_slsCreateDCR |
If you want to... | Use... |
---|---|
Verify the backup without restoring it |
|
Validate that a file has not been corrupted |
If you want to... | Use... |
---|---|
List header information for all LiteSpeed backups on a backup device |
|
View information about a stripe set |
|
List the logical file names in a backup |
|
Check a password against a backup | xp_restore_checkpassword |
If you want to... | Use... |
---|---|
Delete old backups | xp_slsSmartCleanup |
If you want to... | Use... |
---|---|
Restore a database |
|
Restore transaction logs |
|
Automate restore operations | xp_restore_automated |
Restore only files attached to a backup |
If you want to... | Use... |
---|---|
Restore tables from backups | xp_objectrecovery |
List restorable objects in a backup |
|
Create DDL scripts to recover objects |
|
Execute a SELECT statement against the backup (can be used for row-level restores) |
If you want to... | Use... |
---|---|
Check a password against a backup | xp_restore_checkpassword |
Encrypt a password for backup | xp_encrypt_backup_key |
Encrypt a password for restore | xp_encrypt_restore_key |
If you want to... | Use... |
---|---|
Delete an object from a specified TSM location |
|
Retrieve TSM-specific information |
|
See available TSM management classes |
If you want to... | Use... |
---|---|
Check the progress of an activity |
|
Check available memory |
If you want to... | Use... |
---|---|
Manage licensing information | xp_sqllitespeed_licenseinfo |
View LiteSpeed components version | xp_sqllitespeed_version |
© ALL RIGHTS RESERVED. 利用規約 プライバシー Cookie Preference Center