Save-SqlMigrationReport

Generates In-Memory OLTP Migration Checklist

Syntax

Save-SqlMigrationReport
    [-Server <String>]
    [-Database <String>]
    [-Schema <String>]
    [-Username <String>]
    [-Password <String>]
    [-Object <String>]
    [-InputObject <SqlSmoObject>]
    [-MigrationType <MigrationType>]
    [-FolderPath <String>]
    [<CommonParameters>]

Description

The Save-SqlMigrationReport generates an In-Memory OLTP Migration Checklist.

This informs you about which tables in your database will benefit if ported to use In-Memory OLTP. After you identify a table that you would like to port to use In-Memory OLTP, you can use the memory optimization advisor in SQL Server Management Studio to help you migrate the disk-based table to a memory-optimized table.

Note: This cmdlet is only available for PowerShell 5 (v21). It is not longer available in v22+ of the SQLServer module.

Examples

Example 1

PS C:\> Save-SqlMigrationReport -Server 'MySQLServer' -Database 'MyDB' -FolderPath 'C:\MigrationReports'

This command will generate a report for all tables and stored procedures in database MyDb on server MySQLServer. Report file (.html format) will be created for each database object and saved under C:\MigrationReports\MyDB either under Stored Procedure or Tables.

Example 2

PS C:\> $db = Get-Item 'SQLSERVER:\SQL\MySQLServer\DEFAULT\Databases\MyDB'
PS C:\> Save-SqlMigrationReport -FolderPath 'C:\MigrationReports' -InputObject $db

This command will generate the same report as Example 1; the InputObject is passed explicitly and encapsulate both the information about the server and the database.

Example 3

PS C:\> CD 'SQLSERVER:\SQL\MySQLServer\DEFAULT\Databases\MyDB'
PS SQLSERVER:\SQL\MySQLServer\DEFAULT\Databases\MyDB> Save-SqlMigrationReport -FolderPath 'C:\MigrationReports'

This command will generate the same report as Example 1 and 2. Note that the InputObject is inferred from the context, i.e. the current working directory.

Parameters

-Database

The name of the databased for which the report is going to be generated.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FolderPath

A path to a folder where the report files will be saved to. Report files will be organized under a folder with the same name as the the value of the Database parameter nested under either a Stored Procedure or Tables folder, depending on the type of the object.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

The object (either a Database, a Table, or a Stored Procedure SMO object) on which to generate the report.

Type:SqlSmoObject
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MigrationType

The type of the migration. Currently, only OLTP is supported.

Type:MigrationType
Accepted values:OLTP
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Object

The name of the object (Table or Stored Procedure) for which the report is going to be generated.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Password

Specifies the password for the SQL Server Authentication login ID that was specified in the Username parameter. Passwords are case-sensitive. When possible, use Windows Authentication. Do not use a blank password, when possible use a strong password.

If you specify the Password parameter followed by your password, the password is visible to anyone who can see your monitor.

If you code Password followed by your password in a .ps1 script, anyone reading the script file will see your password.

Assign the appropriate NTFS permissions to the file to prevent other users from being able to read the file.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Schema

The schema of the object (Table or Stored Procedure) for which the report is going to be generated.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Server

The name of server to connect to (either MYCOMPUTER or MYCOMPUTER\MYINSTANCE).

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Username

Specifies the login ID for making a SQL Server Authentication connection to an instance of the Database Engine.

The password must be specified through the Password parameter.

If Username and Password are not specified, this cmdlet attempts a Windows Authentication connection using the Windows account running the Windows PowerShell session. When possible, use Windows Authentication.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False