Aracılığıyla paylaş


Geçiş Değerlendirmesi için PowerShell Cmdlet'i

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen Örneği

Save-SqlMigrationReport cmdlet'i, SQL Server veritabanındaki birden çok nesnenin geçiş uygunluk durumlarını değerlendiren bir araçtır.

Şu anda bu cmdlet, In-Memory OLTP için geçiş uygunluğunun değerlendirilmesi ile sınırlıdır. Cmdlet hem yükseltilmiş bir Windows PowerShell ortamında hem de sqlps'de çalıştırılabilir.

Bu PowerShell cmdlet'ini doğrudan çalıştırmaya alternatif olarak, SQL Server Management Studio (SSMS) kullanarak cmdlet'i örtük olarak çalıştırabilirsiniz. SSMS Nesne Gezginibir tabloya sağ tıklayıp Bellek İyileştirme Danışmanıöğesine tıklayabilirsiniz.

Sözdizimi

Save-SqlMigrationReport
    -FolderPath <output_path>
    [ -MigrationType <migration_scenario_type> ]
    [
        [ -Server <server_name> -Database <database_name>
            [ -Schema <schema_name> ] [ -Object <object_name> ]
        ]
       |
        [ -InputObject <smo_object> ]
    ]
;

Parametreler

Aşağıdaki tabloda parametreler açıklanmaktadır.

Vurgulanması gereken söz dizimi yönleri vardır. parametresini -InputObjectbelirtirseniz, aşağıdaki parametrelerden hiçbirini belirtemezsiniz:

  • -Server
  • -Database
  • -Schema
  • -Object

Buna karşılık, -InputObject belirtmezseniz, -Server ve -Databasebelirtmeniz gerekir. -Serverbelirtirseniz, -Schema veya -Objectya da her ikisini de belirterek kapsamı daraltma seçeneğiniz vardır.

Parametre adı Açıklama
Veritabanı Hedef SQL Server veritabanının adı. -Server zorunlu olduğunda geçerlidir.

SQLPS'de isteğe bağlı.
Klasör Yolu Cmdlet'in oluşturulan raporları depolaması gereken klasör.

Gerekli.
InputObject Cmdlet'in hedeflemesi gereken SMO nesnesi.

-Server sağlanmazsa Windows PowerShell ortamında zorunludur.

SQLPS'de isteğe bağlı.
Geçiş Türü Cmdlet'in hedefte olduğu geçiş senaryosunun türü. Şu anda tek değer varsayılan 'OLTP'.

Opsiyonel.
Nesne Hakkında rapor verilecek nesnenin adı. Tablo veya saklı yordam olabilir.
Parola -Username gerekli olduğunda zorunludur.
Şema Bildirilecek nesnenin sahibi olan şemanın adı.

Opsiyonel.
Sunucu Hedef SQL Server örneğinin adı. -InputObject parametresi sağlanmazsa Windows PowerShell ortamında zorunludur.

SQLPS'de isteğe bağlı.
Kullanıcı adı Windows Kimlik Doğrulaması yerine SQL Server Kimlik Doğrulaması aracılığıyla bağlanırken gereklidir. Aksi takdirde atla.

Önkoşullar

Bu cmdlet'i çalıştırabilmeniz için önce SqlServeradlı modülü yüklemeniz gerekir:

  • Install-Module -Name SqlServer

Not

Eski SQLPS modülüne artık bakım yapılmıyor. Daha yeni SqlServer modülünü kullanın.

Daha fazla bilgi için bkz. SQL Server PowerShell modülünü yükleme.

Örnek cmdlet satırı

Sonraki, bu makalenin devamında görüntülenen raporu oluşturmak için çalıştırılan gerçek cmdlet satırıdır. <password> geçerli bir parolayla değiştirin.

Save-SqlMigrationReport `
  -FolderPath 'C:\Test\PowerShell-ps1\Save-SqlMigrationReport\' `
  -Server 'MyUserName123456.database.windows.net' `
  -Database 'MyDatabaseName_31' `
  -Schema 'dbo' `
  -Object 'Table2' `
  -Username 'MyUserName' `
  -Password '<password>' `
  -MigrationType 'OLTP' `
;

Örnek çıkış raporu

-FolderPath parametresi için belirtilen klasörün altında, bu cmdlet çalıştırılarak aşağıdaki iki klasör yolu oluşturulur. Her iki yol da server_name değeriyle başlar:

  • MyDatabaseName_31\Tables\
  • MyDatabaseName_31\Saklı Yordamlar\

Her nesne rapor dosyası uygun klasör altında depolanır.

Rapor dosyası adlarının uzantısı .html. Örneğin, oluşturulan gerçek bir dosya adı MigrationAdvisorChecklistReport_Table2_20190728.html.

HTML çoğunlukla aşağıdaki üst bilgileri içeren iki sütunlu bir tablodur:

  • Açıklama
  • Doğrulama Sonucu

Bir tablo için HTML raporunun gerçek bir örneği aşağıda verilmiştir.

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

Bir sonraki adımda tablonun nasıl göründüğüne ilişkin bir tahmin yer alır.

Açıklama Doğrulama Sonucu
Bu tabloda desteklenmeyen veri türü tanımlanmadı. Başarılı
Bu tablo için seyrek sütun tanımlanmadı. Başarılı
Bu tablo için desteklenmeyen başlangıç ve artış değerleri ile kimlik sütunları tanımlanmamıştır. Başarılı
Bu tabloda yabancı anahtar ilişkisi tanımlanmadı. Başarılı
Bu tabloda desteklenmeyen kısıtlama tanımlanmadı. Başarılı
Bu tabloda desteklenmeyen dizin tanımlanmadı. Başarılı
Bu tabloda desteklenmeyen tetikleyici tanımlanmadı. Başarılı
Geçiş sonrası satır boyutu, bellek için iyileştirilmiş tabloların satır boyutu sınırını aşmaz. Başarılı
Tablo bölümlenmiş veya çoğaltılmış değil. Başarılı