마이그레이션 평가용 PowerShell cmdlet
적용 대상:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance
cmdlet Save-SqlMigrationReport
은 SQL Server 데이터베이스에서 여러 개체의 마이그레이션 적합도를 평가하는 도구입니다.
현재 이 cmdlet은 메모리 내 OLTP에 대한 마이그레이션 적합성 평가로 제한됩니다. 이 cmdlet은 관리자 권한 Windows PowerShell 환경과 sqlps에서 모두 실행할 수 있습니다.
이 PowerShell cmdlet을 직접 실행하는 대신 SSMS(SQL Server Management Studio)를 사용하여 cmdlet을 암시적으로 실행할 수 있습니다. SSMS 개체 탐색기에서 테이블을 마우스 오른쪽 단추로 클릭한 다음 메모리 최적화 관리자를 클릭할 수 있습니다.
구문
Save-SqlMigrationReport
-FolderPath <output_path>
[ -MigrationType <migration_scenario_type> ]
[
[ -Server <server_name> -Database <database_name>
[ -Schema <schema_name> ] [ -Object <object_name> ]
]
|
[ -InputObject <smo_object> ]
]
;
매개 변수
다음 표에서는 매개 변수에 대해 설명합니다.
구문과 관련하여 주의 사항이 있습니다. -InputObject
매개 변수를 지정하는 경우 다음 매개 변수를 지정할 수 없습니다.
-Server
-Database
-Schema
-Object
반대로, 지정하지 않으면 지정 -InputObject
-Server
해야 합니다.-Database
지정 -Server
하는 경우 둘 중 하나 -Schema
또는 -Object
둘 다를 지정하여 범위를 좁힐 수 있습니다.
매개 변수 이름 | 설명 |
---|---|
데이터베이스 | 대상 SQL Server 데이터베이스의 이름입니다. 필수인 경우 -Server 필수입니다.SQLPS의 선택 사항입니다. |
FolderPath | cmdlet이 생성된 보고서를 저장해야 하는 폴더입니다. 필수. |
InputObject | cmdlet의 대상으로 지정해야 하는 SMO 개체입니다. 제공되지 않은 경우 -Server Windows Powershell 환경에서 필수입니다.SQLPS의 선택 사항입니다. |
MigrationType | cmdlet의 대상인 마이그레이션 시나리오의 유형입니다. 현재 유일한 값은 기본 'OLTP'입니다. 선택 사항. |
Object | 보고할 개체의 이름입니다. 테이블 또는 저장 프로시저일 수 있습니다. |
Password | -Username 이 필요한 경우 필요합니다. |
스키마 | 보고할 개체를 소유하는 스키마의 이름입니다. 선택 사항. |
Server | 대상 SQL Server 인스턴스의 이름입니다. 매개 변수가 제공되지 않은 경우 -InputObject Windows Powershell 환경에서 필수입니다.SQLPS의 선택 사항입니다. |
Username | Windows 인증이 아닌 SQL Server 인증을 통해 연결할 때 필요합니다. 이 외에는 생략됩니다. |
전제 조건
이 cmdlet을 실행하려면 먼저 SqlServer라는 모듈을 설치해야 합니다.
Install-Module -Name SqlServer
참고 항목
이전 SQLPS
모듈은 더 이상 유지되지 않습니다. 최신 모듈을 SqlServer
사용합니다.
자세한 내용은 SQL Server PowerShell 모듈 설치를 참조 하세요.
예제 cmdlet 줄
다음은 이 문서의 뒷부분에 표시되는 보고서를 생성하기 위해 실행된 실제 cmdlet 줄입니다.
Save-SqlMigrationReport `
-FolderPath 'C:\Test\PowerShell-ps1\Save-SqlMigrationReport\' `
-Server 'MyUserName123456.database.windows.net' `
-Database 'MyDatabaseName_31' `
-Schema 'dbo' `
-Object 'Table2' `
-Username 'MyUserName' `
-Password 'MyPassword' `
-MigrationType 'OLTP' `
;
예제 출력 보고서
매개 변수에 -FolderPath
지정된 폴더 아래에는 이 cmdlet을 실행하여 다음 두 개의 폴더 경로가 만들어집니다. 두 경로 모두 server_name 값으로 시작합니다.
- MyDatabaseName_31\Tables\
- MyDatabaseName_31\Stored Procedures\
각 개체 보고서 파일은 해당 폴더 아래에 저장됩니다.
보고서 파일 이름에는 확장 명이 .html입니다. 예를 들어 실제 생성된 파일 이름은 MigrationAdvisorChecklistReport_Table2_20190728.html입니다.
HTML은 주로 다음과 같은 헤더가 있는 2열 테이블입니다.
- 설명
- 유효성 검사 결과
다음은 한 테이블에 대한 HTML 보고서의 실제 예제입니다.
<?xml version="1.0" encoding="utf-8"?>
<html>
<head>
<title>Memory optimization checklist for [MyDatabaseName_31].[Table2]</title>
</head>
<body>
<p STYLE="font-family: Verdana, Arial, sans-serif; font-size: 14pt;">
<b>Memory optimization checklist for [MyDatabaseName_31].[Table2]</b>
</p>
<p STYLE="font-family: Verdana, Arial, sans-serif; font-size: 10pt;">
<b>Report Date/Time:</b>7/28/2019 2:25 PM<br /></p>
<table border="1" cellpadding="5" cellspacing="0" STYLE="font-family: Verdana, Arial, sans-serif; font-size: 9pt;">
<tr style="background-color:Silver">
<th colspan="2" align="center">Description</th>
<th align="center">Validation Result</th>
</tr>
<tr valign="top">
<td colspan="2">No unsupported data types are defined on this table. </td>
<td>Succeeded</td>
</tr>
<tr valign="top" style="background-color:LightYellow">
<td colspan="2">No sparse columns are defined for this table.</td>
<td>Succeeded</td>
</tr>
<tr valign="top">
<td colspan="2">No identity columns with unsupported seed and increment are defined for this table.</td>
<td>Succeeded</td>
</tr>
<tr valign="top" style="background-color:LightYellow">
<td colspan="2">No foreign key relationships are defined on this table.</td>
<td>Succeeded</td>
</tr>
<tr valign="top">
<td colspan="2">No unsupported constraints are defined on this table.</td>
<td>Succeeded</td>
</tr>
<tr valign="top" style="background-color:LightYellow">
<td colspan="2">No unsupported indexes are defined on this table.</td>
<td>Succeeded</td>
</tr>
<tr valign="top">
<td colspan="2">No unsupported triggers are defined on this table.</td>
<td>Succeeded</td>
</tr>
<tr valign="top" style="background-color:LightYellow">
<td colspan="2">Post migration row size does not exceed the row size limit of memory-optimized tables.</td>
<td>Succeeded</td>
</tr>
<tr valign="top">
<td colspan="2">Table is not partitioned or replicated.</td>
<td>Succeeded</td>
</tr>
</table>
</body>
</html>
그리고 그 다음은 테이블의 모양에 대한 대략적인 정보입니다.
설명 | 유효성 검사 결과 |
---|---|
이 테이블에 지원되지 않는 데이터 형식이 정의되지 않았습니다. | 성공함 |
이 테이블에 스파스 열이 정의되지 않았습니다. | 성공함 |
지원되지 않는 시드 및 증가가 있는 ID 열은 이 테이블에 대해 정의되지 않습니다. | 성공함 |
이 테이블에는 외래 키 관계가 정의되어 있지 않습니다. | 성공함 |
이 테이블에는 지원되지 않는 제약 조건이 정의되어 있지 않습니다. | 성공함 |
이 테이블에는 지원되지 않는 인덱스가 정의되어 있지 않습니다. | 성공함 |
이 테이블에는 지원되지 않는 트리거가 정의되어 있지 않습니다. | 성공함 |
마이그레이션 후 행 크기는 메모리 최적화 테이블의 행 크기 제한을 초과하지 않습니다. | 성공함 |
테이블이 분할 또는 복제되지 않았습니다. | 성공함 |
관련 링크
- 참조 설명서: Save-SqlMigrationReport
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기