Invoke-SqlAssessment
Führt bewährte Methodenprüfungen der SQL-Bewertung für ein ausgewähltes SQL Server-Objekt aus und gibt deren Ergebnisse zurück.
Syntax
Invoke-SqlAssessment
[-Check <Object[]>]
[[-InputObject] <PSObject>]
[-Configuration <PSObject>]
[-MinSeverity <SeverityLevel>]
[-FlattenOutput]
[<CommonParameters>]
Beschreibung
Das Cmdlet Invoke-SqlAssessment führt eine Bewertung für jedes Eingabeobjekt aus und gibt eine Liste bewährter Methodenempfehlungen zurück, die auf die angegebenen Objekte angewendet werden sollen. Es liegt an Ihnen, die angegebenen Empfehlungen zu befolgen oder nicht. Weitere Informationen finden Sie in der Übersicht über die SQL-Bewertungs-API.
Dieses Cmdlet akzeptiert die folgenden Eingabetypen:
- Microsoft.SqlServer.Management.Smo.Server
- Microsoft.SqlServer.Management.Smo.Database
- Microsoft.SqlServer.Management.Smo.AvailabilityGroup
- Microsoft.SqlServer.Management.Smo.FileGroup
- Microsoft.SqlServer.Management.Smo.RegisteredServers.RegisteredServer
- Zeichenfolge, die den Pfad zu einem beliebigen Objekt der oben genannten Typen enthält
- Auflistung von Objekten
Sie können Eingabeobjekte mit SqlServer-Cmdlets wie Get-SqlInstance und Get-SqlDatabase oder einfachen PowerShell-Cmdlets wie Get-Item und Get-ChildItem abrufen. Außerdem unterstützt das Cmdlet den SQL Server PowerShell-Anbieter, sodass es ein Objekt aus seinem Pfad abrufen kann. Der Pfad kann explizit übergeben werden, andernfalls wird der aktuelle Pfad verwendet.
Die Verfügbarkeit einer Überprüfung für ein ausgewähltes Objekt variiert je nach SQL Server Version, Plattform und Objekttyp. Außerdem gibt es Überprüfungen, die auf bestimmte Datenbanken wie tempdb
oder abzielen master
. Zusätzlich können Sie Überprüfungen nach Tags, Namen und Schweregrad mit den Parametern -MinSeverity und -Check filtern.
Mit dem Cmdlet Get-SqlAssessmentItem können Sie eine Liste der für das angegebene SQL Server-Objekt geltenden Überprüfungen abrufen.
Das Cmdlet führt nur Überprüfungen aus, die für ein Eingabeobjekt gelten. Datenbanküberprüfungen werden beispielsweise nicht für einen SQL Server instance oder eine Verfügbarkeitsgruppe ausgeführt, auch wenn sie in der Liste -Check angegeben werden.
Benutzerdefinierte Konfigurationen können mit dem Parameter -Configuration angewendet werden. Anpassungsbeispiele sind auf Github verfügbar.
HINWEIS. In der ersten öffentlichen Vorschauversion von Invoke-SqlAssessment wurden AssessmentNote-Objekte mit den Eigenschaften CheckId und CheckName zurückgegeben, die die ID von Check bzw. DisplayName enthalten. In der zweiten öffentlichen Vorschau wurden die beiden Eigenschaften durch eine einzelne Check-Eigenschaft ersetzt, die viel mehr Daten bereitstellt. Wenn $note ein von Invoke-SqlAssessment zurückgegebenes Objekt war, können Sie auf die ID von Check als $note.Check.Id anstelle von $note zugreifen. CheckId, oder check's description as $note. Check.Description. Sie können den -FlattenOutput-Parameter verwenden, um Ergebnisse im vorherigen Format mit CheckId und CheckName abzurufen. Dieser Parameter trägt auch dazu bei, die Kompatibilität mit einigen Cmdlets wie Write-SqlTableData beizubehalten. Weitere Informationen finden Sie in den Beispielen 12-14.
Die Ausgabe des Invoke-SqlAssessment-Cmdlets ist eine Liste der bewährten Methoden, die für jedes SQL Server-Objekt verletzt wurden. Verwenden Sie die Description-Eigenschaft , um mehr über die bewährte Methode und die Message-Eigenschaft zu erfahren, wie sie gelöst werden kann. Außerdem enthält jedes Überprüfungsergebnis einen Link zur Onlinedokumentation, mit dem Sie das Problem besser herausfinden können.
Unterstützung für SQL Server auf Azure-VMs
Mit SQL Assessment-Cmdlets können Sie eine instance von SQL Server auf azure-VMs bewerten, nicht nur als lokale SQL Server, sondern auch mit Regeln, die für SQL Server auf azure-VMs spezifisch sind (solche, die Informationen zur Konfiguration des virtuellen Computers verwenden). Die AzSqlVmSize-Regel überprüft beispielsweise, ob der virtuelle Computer, der eine instance SQL Server auf einem virtuellen Azure-Computer hostet, die empfohlene Größe hat.
Um solche Regeln zu verwenden, stellen Sie mit Azure PowerShell Module eine Verbindung mit Azure her, und stellen Sie sicher, dass das Az.ResourceGraph-Modul installiert ist.
Melden Sie sich mit Azure PowerShell an, bevor Sie die SQL-Bewertung für eine SQL Server auf azure-VM-instance aufrufen. Beispiel 16 zeigt den interaktiven Anmeldeprozess und die Abonnementauswahl.
HINWEIS. Es ist möglich, die Azure-Kontoverbindung zwischen PowerShell-Sitzungen dauerhaft zu verwenden, d. h. Connect-AzAccount in einer Sitzung aufzurufen und diesen Befehl später auszulassen. Die aktuelle Version von SQL Assessment-Cmdlets erfordert jedoch, dass das Az.ResourceGraph-Modul in diesem Fall explizit importiert wird: Import-Module Az.ResourceGraph
Beispiele
Beispiel 1: Aufrufen der Bewertung für lokale Standardeinstellungen instance
PS:> Get-SqlInstance -ServerInstance localhost | Invoke-SqlAssessment
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources.
...
In diesem Beispiel wird gezeigt, wie Sie alle Bewährten Methodenempfehlungen für die Standard-instance von SQL Server abrufen, die auf dem aktuellen Computer ausgeführt werden.
Beispiel 2: Aufrufen der Bewertung mit dem PSProvider-Cmdlet
PS:> Get-Item SQLSERVER:\SQL\localhost\default | Invoke-SqlAssessment
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources.
...
In diesem Beispiel wird gezeigt, wie Sie alle Empfehlungen zu bewährten Methoden für die Standard-instance von SQL Server abrufen.
Beispiel 3: Aufrufen der Bewertung mit dem PS-Anbieterpfad
PS:> Invoke-SqlAssessment SQLSERVER:\SQL\localhost\default
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources.
...
In diesem Beispiel wird gezeigt, wie Sie alle Empfehlungen zu bewährten Methoden für die Standard-instance von SQL Server abrufen.
Beispiel 4: Aufrufen der Bewertung mit benutzerdefinierter Konfiguration
PS:> Get-SqlInstance -ServerInstance '(local)' | Invoke-SqlAssessment -Configuration C:\profileA.json, C:\profileB.json
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi A custom rule violation detected. CustomRuleA Profile A 1.0
...
In diesem Beispiel wird gezeigt, wie Sie eine benutzerdefinierte Konfiguration anwenden, um einen geänderten Satz bewährter Empfehlungen zu erhalten. Benutzerdefinierte Konfigurationen werden in JSON-Dateien beschrieben. Benutzerdefinierte Regelsätze profileA.json und profileB.json haben einige Überprüfungen deaktiviert und einige neue Überprüfungen eingeführt. Bei einer der neuen Überprüfungen von profileA.json wurde ein Problem mit der aktuellen Konfiguration des SQL Server instance erkannt. Besuchen Sie den Sql Assessment Samples-Ordner auf Github, um zu erfahren, wie Anpassungen vorgenommen werden können.
Beispiel 5: Aufrufen der Bewertung für alle Instanzen
PS:> dir SQLSERVER:\SQL\localhost | Invoke-SqlAssessment
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources.
TargetPath : Server[@Name='LOCAL\INSTANCE1']
Sev. Message Check ID Origin
---- ------- -------- ------
Medi Product version 14.0.1000 is not the latest available. Keep your LatestCU Microsoft Ruleset 0.1.202
your SQL Server up to date and install Service Packs and
Cumulative Updates as they are released.
...
Dieses Beispiel zeigt, wie das Invoke-SqlAssessment-Cmdlet einen Satz von SQL Server-Instanzen über die Pipeline akzeptiert.
Beispiel 6: Ausführen der Bewertung für einen gefilterten Satz ot tragets
PS:> Get-SqlInstance -ServerInstance . | Where { $_.Name -Match '.*\d+' } | Invoke-SqlAssessment
TargetPath : Server[@Name='LOCAL\INSTANCE1']
Sev. Message Check ID Origin
---- ------- -------- ------
Medi Product version 14.0.1000 is not the latest available. Keep your LatestCU Microsoft Ruleset 0.1.202
your SQL Server up to date and install Service Packs and
Cumulative Updates as they are released.
...
Dieses Beispiel zeigt, wie das Invoke-SqlAssessment-Cmdlet einen Satz von SQL Server-Instanzen über die Pipeline akzeptiert. Der Satz wird mit dem PowerShell-Standard-Cmdlet Where-Object gefiltert.
Beispiel 7: Aufrufen der Bewertung für eine Datenbank nach Name
PS:> Get-SqlDatabase master -ServerInstance localhost | Invoke-SqlAssessment -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].
In diesem Beispiel wird gezeigt , wie das Cmdlet Invoke-SqlAssessment den Namen einer Datenbank akzeptiert. In diesem Fall wurde kein Problem gefunden.
Beispiel 8: Aufrufen der Bewertung für eine Datenbank nach Pfad
PS:> Invoke-SqlAssessment SQLSERVER:\SQL\localhost\default\Databases\master -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].
Dieses Beispiel zeigt, wie das Cmdlet Invoke-SqlAssessment den Pfad zu einer SQL Server Datenbank akzeptiert.
Beispiel 9: Erkennen hoher Probleme für eine Datenbank
PS:> cd SQLSERVER:\SQL\localhost\default\Databases\master
PS:> Invoke-SqlAssessment -MinSeverity High
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].
Dieses Beispiel zeigt das Cmdlet Invoke-SqlAssessment , das den aktuellen Speicherort bewertet. Es werden nur hohe Probleme gemeldet.
Beispiel 10: Ausführen von Überprüfungen, die nach Tag ausgewählt sind
PS:> Get-SqlInstance -ServerInstance . | Invoke-SqlAssessment -Check Backup -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [LOCAL].
Dieses Beispiel zeigt das Invoke-SqlAssessment-Cmdlet, das alle sicherungsbezogenen Überprüfungen für jede SQL Server instance auf dem lokalen Server ausführt.
Beispiel 11: Interaktiv ausgewählte Überprüfungen ausführen
PS:> $serverInstance = Get-SqlInstance -ServerInstance '(local)'
PS:> $checks = Get-SqlAssessmentItem $serverInstance | Select Name, Description | Out-GridView -PassThru
PS:> Invoke-SqlAssessment $serverInstance -Check $checks
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Die zweite Zeile dieses Beispiels zeigt das Abrufen von Überprüfungen für eine $serverInstance und die interaktive Auswahl einiger dieser Überprüfungen. Ausgewählte Elemente werden in einer Arrayvariablen gespeichert, die dann als Eingabe für das Invoke-SqlAssessment-Cmdlet verwendet wird. Während des Bewertungsprozesses werden nur ausgewählte Überprüfungen ausgeführt.
Beispiel 12: Auswirkung des -FlattenOutput-Parameters
PS> $inst = Get-SqlInstance -ServerInstance .
PS> Invoke-SqlAssessment $inst -FlattenOutput | Select -First 1 | Get-Member
TypeName: Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
CheckId Property string CheckId {get;}
CheckName Property string CheckName {get;}
HelpLink Property string HelpLink {get;}
Message Property string Message {get;}
RulesetName Property string RulesetName {get;}
RulesetVersion Property string RulesetVersion {get;}
Severity Property string Severity {get;}
TargetPath Property string TargetPath {get;}
TargetType Property string TargetType {get;}
PS> Invoke-SqlAssessment $inst | Select -First 1 | Get-Member
TypeName: Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Check Property Microsoft.SqlServer.Management.Assessment.Checks.ICheck Check {get;}
HelpLink Property string HelpLink {get;}
Message Property string Message {get;}
Severity Property Microsoft.SqlServer.Management.Assessment.SeverityLevel Severity {get;}
TargetPath Property string TargetPath {get;}
TargetType Property string TargetType {get;}
PS> (Invoke-SqlAssessment $inst | Select -First 1).Check | Get-Member
TypeName: Microsoft.SqlServer.Management.Assessment.Checks.Check
Name MemberType Definition
---- ---------- ----------
Equals Method bool Equals(System.Object obj)
GetHashCode Method int GetHashCode()
GetType Method type GetType()
ToString Method string ToString()
Condition Property Microsoft.SqlServer.Management.Assessment....
Description Property string Description {get;set;}
DisplayName Property string DisplayName {get;set;}
Enabled Property bool Enabled {get;set;}
HelpLink Property string HelpLink {get;set;}
Id Property string Id {get;set;}
Level Property Microsoft.SqlServer.Management.Assessment....
Message Property string Message {get;set;}
OriginName Property string OriginName {get;set;}
OriginVersion Property version OriginVersion {get;set;}
Parameters Property System.Collections.Generic.IDictionary[str...
Probes Property System.Collections.Generic.List[Microsoft....
Tags Property System.Collections.Generic.HashSet[string]...
Target Property Microsoft.SqlServer.Management.Assessment....
Dieses Beispiel zeigt den Unterschied zwischen Objekten, die mit oder ohne -FlattenOutput-Parameter zurückgegeben werden. Der Parameter ersetzt ein riesiges komplexes Check-Objekt durch die zwei Zeichenfolgeneigenschaften CheckId und CheckName. Dies ist für Serialisierungszwecke nützlich (siehe nächstes Beispiel).
Der erste Befehl zeigt ein einfaches Objekt mit allen Eigenschaften vom Typ Zeichenfolge an.
Der zweite Befehl zeigt ein weiteres Objekt mit zwei Nicht-Zeichenfolgeneigenschaften: Check und Severity.
Der dritte Befehl zeigt den umfangreichen Datensatz, auf den mit der Check-Eigenschaft zugegriffen werden kann.
Beispiel 13: Erneutes Ausführen fehlgeschlagener Überprüfungen
PS> $inst = Get-SqlInstance -ServerInstance .
PS> $results = Invoke-SqlAssessment $inst
PS> $results
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources.
PS> $results[1].Check.Description
This check detects deprecated or discontinued features used on target SQL Server instance. Deprecated features may be
removed in a future release of SQL Server. Discontinued features have been removed from specific versions of SQL Server.
PS> Invoke-SqlAssessment $inst -Check $results[1].Check
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
PS> Invoke-SqlAssessment $inst -Check ($results).Check
TargetPath : Server[@Name='LOCAL']
Sev. Message Check ID Origin
---- ------- -------- ------
Info Enable trace flag 834 to use large-page allocations to improve TF834 Microsoft Ruleset 0.1.202
analytical and data warehousing workloads.
Low Detected deprecated or discontinued feature uses: String literals DeprecatedFeatures Microsoft Ruleset 0.1.202
as column aliases, syscolumns, sysusers, SET FMTONLY ON, XP_API,
Table hint without WITH, More than two-part column name. We
recommend to replace them with features actual for SQL Server
version 14.0.1000.
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources.
Dieses Beispiel zeigt, wie ein mit Bewertungsergebnissen zurückgegebener Check wiederverwendet werden kann. Sie können die Überprüfungen erneut ausführen, die Zuvor AssessmentNotes erstellt haben.
Beispiel 14: Speichern von Bewertungsergebnissen in einer Tabelle
PS:> $serverInstance = Get-SqlInstance -ServerInstance '(local)'
PS:> Invoke-SqlAssessment $serverInstance -FlattenOutput |
Write-SqlTableData -ServerInstance localhost -DatabaseName SqlAssessment -SchemaName Assessment -TableName Results -Force
Die zweite Zeile dieses Beispiels zeigt die Verwendung des Parameters -FlattenOutput mit Write-SqlTableData Cmdlet zum Speichern von Bewertungsergebnissen in einer SQL-Datenbank.
Beispiel 15: Explizite Angabe von Anmeldeinformationen
PS> $cred = Get-Credential
PowerShell credential request
Enter your credentials.
User: Administrator
Password for user Administrator: ********
PS> $inst = Get-SqlInstance -ServerInstance 10.0.3.118 -Credential $cred
PS> Invoke-SqlAssessment $inst
TargetPath : Server[@Name='ContosSQL']
Sev. Message Check ID Origin
---- ------- -------- ------
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources
In diesem Beispiel wird gezeigt, wie Sie die SQL-Bewertung mit explizit angegebenen Anmeldeinformationen aufrufen.
Beispiel 16: Aufrufen der Bewertung für einen SQL Server auf azure-VM-instance
PS> Connect-AzAccount
PS> Set-Subscription My-Pay-As-You-Go
PS> $cred = Get-Credential
PowerShell credential request
Enter your credentials.
User: Administrator
Password for user Administrator: ********
PS> $inst = Get-SqlInstance -ServerInstance 10.0.3.118 -Credential $cred
PS> Invoke-SqlAssessment $inst
TargetPath : Server[@Name='ContosoAzureSQL']
Sev. Message Check ID Origin
---- ------- -------- ------
Medi Amount of single use plans in cache is high (100%). Consider PlansUseRatio Microsoft Ruleset 0.1.202
enabling the Optimize for ad hoc workloads setting on heavy OLTP
ad-hoc workloads to conserve resources
Info Use memory optimized virtual machine sizes for the best AzSqlVmSize Microsoft Ruleset 0.1.202
performance of SQL Server workloads
In diesem Beispiel wird gezeigt, wie Sie die Bewertung für eine SQL Server auf azure-VM-instance aufrufen.
Eine aktive Azure-Abonnementverbindung ermöglicht SQL Server auf Azure-VM-bezogenen Überprüfungen (in diesem Beispiel AzSqlVmSize). Die erste Zeile stellt eine Verbindung mit einem Azure-Konto her, um Daten aus Azure Resource Graph abzurufen. Die zweite Zeile ist optional.
Zum Ausführen dieser Überprüfungen erfordert die SQL-Bewertung das Modul Az.ResourceGraph.
Parameter
-Check
Mindestens eine Überprüfung, Überprüfungs-IDs oder Tags.
Für jedes Überprüfungsobjekt wird Invoke-SqlAssessment ausgeführt, um zu überprüfen, ob das Eingabeobjekt unterstützt wird.
Für jede Überprüfungs-ID führt Invoke-SqlAssessment die entsprechende Überprüfung aus, wenn sie das Eingabeobjekt unterstützt.
Für Tags führt Invoke-SqlAssessment Überprüfungen mit einem dieser Tags aus.
Type: | Object[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Configuration
Gibt Pfade zu Dateien an, die benutzerdefinierte Konfiguration enthalten. Anpassungsdateien werden in der angegebenen Reihenfolge auf die Standardkonfiguration angewendet. Der Bereich ist nur auf diesen Cmdletaufruf beschränkt.
Type: | PSObject |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-FlattenOutput
Gibt an, dass dieses Cmdlet einfache Objekte vom Typ Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat anstelle von Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote erzeugt.
Reguläre BewertungNote, die von Invoke-SqlAssessment zurückgegeben wird, enthält Verweise auf andere nützliche komplexe Objekte wie Check (siehe Beispiel 12). Mit der Check-Eigenschaft können Sie die Beschreibung der Überprüfung abrufen oder die Überprüfung wiederverwenden (siehe Beispiel 13). Einige Cmdlets unterstützen jedoch keine komplexen Eigenschaften. Beispielsweise löst Write-SqlTableData beim Schreiben von AssessmentNote in eine Datenbank einen Fehler aus. Um dies zu vermeiden, können Sie den Parameter -FlattenOutput verwenden, um die Check-Eigenschaft durch zwei einfache Zeichenfolgen zu ersetzen: CheckId und CheckName (siehe Beispiel 14).
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-InputObject
Gibt ein SQL Server-Objekt oder den Pfad zu einem solchen Objekt an. Das Cmdlet führt die Bewertung für dieses Objekt aus. Wenn dieser Parameter weggelassen wird, wird der aktuelle Speicherort als Eingabeobjekt verwendet. Wenn der aktuelle Speicherort kein SQL Server-Objekt unterstützt wird, signalisiert das Cmdlet einen Fehler.
Type: | PSObject |
Aliases: | Target |
Position: | 10 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-MinSeverity
Gibt den minimalen Schweregrad für zu findende Überprüfungen an. Beispielsweise werden Die Überprüfungen der Ebenen "Niedrig", "Mittel" oder "Information" nicht zurückgegeben, wenn "-MinSeverity High".
Type: | SeverityLevel |
Aliases: | Severity |
Accepted values: | Information, Low, Medium, High |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
System.String[]
Microsoft.SqlServer.Management.Smo.SqlSmoObject[]
Ausgaben
Microsoft.SqlServer.Assessment.Cmdlets.AssessmentNote