Invoke-SqlAssessment
Führt die bewährte Methode der SQL-Bewertung nach einem ausgewählten SQL Server-Objekt aus und gibt deren Ergebnisse zurück.
Syntax
Invoke-SqlAssessment
[-Check <Object[]>]
[[-InputObject] <PSObject>]
[-Configuration <PSObject>]
[-MinSeverity <SeverityLevel>]
[-FlattenOutput]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Beschreibung
Das Cmdlet Invoke-SqlAssessment Cmdlet führt eine Bewertung für jedes Eingabeobjekt aus und gibt eine Liste der Empfehlungen für bewährte Methoden zurück, die auf die angegebenen Objekte angewendet werden sollen. Es liegt an Ihnen, den gegebenen Empfehlungen zu folgen oder nicht. Weitere Informationen finden Sie in der übersicht über die SQL Assessment 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 Pfad zu einem beliebigen Objekt der obigen 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 master
abzielen. Darüber hinaus können Sie Überprüfungen nach Tags, Namen und Schweregrad mit den Parametern -MinSeverity und -Check filtern.
Mit Get-SqlAssessmentItem-Cmdlet können Sie eine Liste der Prüfungen abrufen, die für das angegebene SQL Server-Objekt gelten.
Das Cmdlet führt nur Prüfungen aus, die für ein Eingabeobjekt gelten. Datenbanküberprüfungen werden beispielsweise nicht für eine SQL Server-Instanz oder eine Verfügbarkeitsgruppe ausgeführt, auch wenn sie in -Check Liste angegeben sind.
Benutzerdefinierte Konfigurationen können mit dem parameter -Configuration angewendet werden. Anpassungsbeispiele sind auf Githubverfügbar.
ANMERKUNG. In der ersten öffentlichen Vorschau Invoke-SqlAssessment zurückgegebene AssessmentNote-Objekte mit den Eigenschaften CheckId und CheckName, die die ID bzw. displayName enthalten. In der zweiten öffentlichen Vorschau wurden die beiden Eigenschaften durch eine einzelne Check-Eigenschaft ersetzt, die viel mehr Daten bereitstellt. Angenommen, $note ein Objekt war, das von Invoke-SqlAssessmentzurückgegeben wurde, können Sie auf die ID der Überprüfung als $note.Check.Id anstelle von $note zugreifen. CheckId oder die Beschreibung der Überprüfung als $note. Check.Description. Sie können -FlattenOutput Parameter verwenden, um Ergebnisse im vorherigen Format mit CheckId und CheckName abzurufen. Dieser Parameter hilft auch, die Kompatibilität mit einigen Cmdlets wie Write-SqlTableData-beizubehalten. Weitere Informationen finden Sie in den Beispielen 12-14.
Die Ausgabe des Cmdlets "Invoke-SqlAssessment" Cmdlets ist eine Liste verletzter bewährter Methoden für jedes sql Server-Objekt. Verwenden Sie Description-Eigenschaft, um mehr über die bewährte Methode und Message-Eigenschaft zu erfahren, wie sie gelöst werden kann. Außerdem enthält jedes Prüfergebnis einen Link zur Onlinedokumentation, die Ihnen dabei hilft, das Problem besser zu ermitteln.
Unterstützung von SQL Server auf Azure-VM
Mit SQL Assessment-Cmdlets können Sie eine Instanz von SQL Server auf Azure VM nicht nur als lokalen SQL Server bewerten, sondern auch mit Regeln, die für SQL Server auf Azure VM spezifisch sind (diejenigen, die Informationen zur Konfiguration des virtuellen Computers verwenden). Die AzSqlVmSize-Regel überprüft beispielsweise, ob der virtuelle Computer, der eine Instanz von SQL Server auf azure VM hostet, von der empfohlenen Größe ist.
Um solche Regeln zu verwenden, stellen Sie eine Verbindung mit Azure mit Azure PowerShell-Modul 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-Instanz in Azure VM aufrufen. Beispiel 16 zeigt den interaktiven Anmeldevorgang und die Abonnementauswahl.
ANMERKUNG. Es ist möglich, zwischen PowerShell-Sitzungen gespeicherte Azure-Kontoverbindung zu verwenden, d. h. Connect-AzAccount in einer Sitzung aufzurufen und diesen Befehl später auszulassen. Die aktuelle Version von SQL Assessment-Cmdlets benötigt jedoch das Az.ResourceGraph-Modul explizit in diesem Fall zu importieren: Import-Module Az.ResourceGraph
Beispiele
Beispiel 1: Aufrufen der Bewertung für lokale Standardinstanz
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.
...
Dieses Beispiel zeigt, wie Sie alle Empfehlungen für bewährte Methoden für die Standardinstanz von SQL Server abrufen, die auf dem aktuellen Computer ausgeführt wird.
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 für bewährte Methoden für die Standardinstanz 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 für bewährte Methoden für die Standardinstanz 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 von Empfehlungen für bewährte Methoden zu erhalten. Benutzerdefinierte Konfigurationen werden in JSON-Dateien beschrieben. Benutzerdefinierte Regelsätze profileA.json und profileB.json einige Überprüfungen deaktiviert und einige neue eingeführt. Eine der neuen Überprüfungen von profileA.json hat ein Problem mit der aktuellen Konfiguration der SQL Server-Instanz festgestellt. Besuchen Sie Sql Assessment-Beispielordner auf Github, um herauszufinden, wie Anpassungen vorgenommen werden.
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 Invoke-SqlAssessment Cmdlet, das eine Reihe von SQL Server-Instanzen über pipeline akzeptiert.
Beispiel 6: Ausführen der Bewertung für einen gefilterten Satz ot tragents
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 Invoke-SqlAssessment Cmdlet, das eine Reihe von SQL Server-Instanzen über pipeline akzeptiert. Der Satz wird mit dem standardmäßigen PowerShell-Where-Object-Cmdlet gefiltert.
Beispiel 7: Aufrufen der Bewertung für eine Datenbank anhand des Namens
PS:> Get-SqlDatabase master -ServerInstance localhost | Invoke-SqlAssessment -Verbose
VERBOSE: Base ruleset version: 0.2.
VERBOSE: No recommendations for [master].
Dieses Beispiel zeigt Invoke-SqlAssessment Cmdlet, das 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 Invoke-SqlAssessment Cmdlet, das den Pfad zu einer SQL Server-Datenbank akzeptiert.
Beispiel 9: Erkennen von hohen Problemen 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 Invoke-SqlAssessment Cmdlet, 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 Invoke-SqlAssessment Cmdlet, das alle Sicherungsüberprüfungen für jede SQL Server-Instanz auf dem lokalen Server ausführt.
Beispiel 11: Ausführen interaktiv ausgewählter Prüfungen
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.
In der zweiten Zeile dieses Beispiels wird das Abrufen von Überprüfungen für eine $serverInstance und die interaktive Auswahl einiger davon veranschaulicht. Ausgewählte Elemente werden in einer Arrayvariablen gespeichert, die dann als Eingabe für Invoke-SqlAssessment Cmdlet verwendet wird. Nur ausgewählte Prüfungen werden während des Bewertungsprozesses 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 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 des Typs Zeichenfolge an.
Der zweite Befehl zeigt ein weiteres Objekt mit zwei Eigenschaften ohne Zeichenfolge an: Überprüfung und Schweregrad.
Der dritte Befehl zeigt den umfangreichen Satz von Daten, auf die mit der Check-Eigenschaft zugegriffen werden kann.
Beispiel 13: Ausführen fehlgeschlagener Überprüfungen erneut
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.
In diesem Beispiel wird gezeigt, wie eine mit Bewertungsergebnissen zurückgegebene Überprüfung wiederverwendet werden kann. Sie können die Prüfungen, die zuvor AssessmentNotes erstellt haben, erneut ausführen.
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 -FlattenOutput Parameters 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 Die SQL-Bewertung mit explizit angegebenen Anmeldeinformationen aufgerufen wird.
Beispiel 16: Aufrufen der Bewertung für eine SQL Server auf einer Azure-VM-Instanz
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-Instanz auf einer Azure-VM-Instanz aufrufen.
Eine aktive Azure-Abonnementverbindung aktiviert SQL Server auf azure VM-bezogenen Prüfungen (AzSqlVmSize in diesem Beispiel). 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 Prüfungen erfordert das SQL-Bewertungsmodul Az.ResourceGraph.
Parameter
-Check
Mindestens eine Überprüfung, überprüfung von IDs oder Tags.
Für jedes Überprüfungsobjekt wird Invoke-SqlAssessment ausgeführt, die überprüft, ob es das Eingabeobjekt unterstützt.
Für jede Prüf-ID wird Invoke-SqlAssessment die entsprechende Überprüfung ausführen, wenn sie das Eingabeobjekt unterstützt.
Bei Tags führt Invoke-SqlAssessment- Überprüfungen mit einem dieser Tags aus.
Typ: | Object[] |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-Configuration
Gibt Pfade zu Dateien an, die eine benutzerdefinierte Konfiguration enthalten. Anpassungsdateien werden in der angegebenen Reihenfolge auf die Standardkonfiguration angewendet. Der Bereich ist nur auf diesen Cmdlet-Aufruf beschränkt.
Typ: | PSObject |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-FlattenOutput
Gibt an, dass dieses Cmdlet einfache Objekte vom Typ Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat statt Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote.
Reguläre AssessmentNote, 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 Prüfung abrufen oder die Überprüfung wiederverwenden (siehe Beispiel 13). Einige Cmdlets unterstützen jedoch keine komplexen Eigenschaften. Beispielsweise löst Write-SqlTableData beim Versuch, AssessmentNote in eine Datenbank zu schreiben, einen Fehler aus. Um dies zu vermeiden, können Sie -FlattenOutput Parameter verwenden, um die Check-Eigenschaft durch zwei einfache Zeichenfolgen zu ersetzen: CheckId und CheckName (siehe Beispiel 14).
Typ: | SwitchParameter |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | 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 nicht angegeben wird, wird die aktuelle Position als Eingabeobjekt verwendet. Wenn der aktuelle Speicherort kein unterstütztes SQL Server-Objekt ist, signalisiert das Cmdlet einen Fehler.
Typ: | PSObject |
Aliase: | Target |
Position: | 10 |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | True |
Platzhalterzeichen akzeptieren: | False |
-MinSeverity
Gibt den Mindestschweregrad für zu findende Prüfungen an. Beispielsweise werden Überprüfungen der Ebenen "Niedrig", "Mittel" oder "Informationen" nicht zurückgegeben, wenn -MinSeverity "Hoch" zurückgegeben werden.
Typ: | SeverityLevel |
Aliase: | Severity |
Zulässige Werte: | Information, Low, Medium, High |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
-ProgressAction
Bestimmt, wie PowerShell auf Statusaktualisierungen reagiert, die von einem Skript, Cmdlet oder Anbieter generiert werden, z. B. auf die Statusanzeigen, die vom Cmdlet Write-Progress generiert werden. Das Cmdlet Write-Progress erstellt Statusanzeigen, die den Status eines Befehls anzeigen.
Typ: | ActionPreference |
Aliase: | proga |
Position: | Named |
Standardwert: | None |
Erforderlich: | False |
Pipelineeingabe akzeptieren: | False |
Platzhalterzeichen akzeptieren: | False |
Eingaben
System.String[]
Microsoft.SqlServer.Management.Smo.SqlSmoObject[]
Ausgaben
Microsoft.SqlServer.Assessment.Cmdlets.AssessmentNote