Get-SqlAssessmentItem
Mendapatkan pemeriksaan praktik terbaik Penilaian SQL yang tersedia untuk objek SQL Server yang dipilih.
Sintaks
Get-SqlAssessmentItem
[-Check <String[]>]
[[-InputObject] <PSObject>]
[-Configuration <PSObject>]
[-MinSeverity <SeverityLevel>]
[-FlattenOutput]
[-ProgressAction <ActionPreference>]
[<CommonParameters>]
Deskripsi
cmdlet Get-SqlAssessmentItem
Cmdlet ini menerima jenis input berikut:
- 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
- String yang berisi jalur ke objek apa pun dari jenis di atas
- Kumpulan objek
Anda bisa mendapatkan objek input dengan cmdlet SqlServer seperti Get-SqlInstance dan Get-SqlDatabase atau PowerShell dasar
cmdlet seperti Get-Item dan Get-ChildItem. Selain itu, cmdlet mendukung penyedia PowerShell SQL Server, sehingga dapat memperoleh objek dari jalurnya. Jalur dapat dilewati secara eksplisit, jika tidak, jalur saat ini akan digunakan.
Ketersediaan pemeriksaan untuk objek yang dipilih bervariasi pada versi, platform, dan jenis objek SQL Server. Selain itu, ada pemeriksaan yang menargetkan database tertentu seperti tempdb
atau master
. Anda juga dapat memfilter pemeriksaan menurut tag, nama, dan tingkat keparahan dengan parameter -MinSeverity dan -Periksa.
Dengan cmdlet Get-SqlAssessmentItem
Konfigurasi kustom dapat diterapkan dengan parameter -Configuration. Contoh kustomisasi tersedia di Github.
Dukungan SQL Server di Azure VM
Dengan cmdlet Penilaian SQL, Anda dapat menilai instans SQL Server di Azure VM tidak hanya sebagai SQL Server lokal, tetapi juga dengan aturan yang khusus untuk SQL Server di Azure VM (yang menggunakan informasi tentang konfigurasi komputer virtual). Misalnya, aturan AzSqlVmSize memeriksa bahwa VM yang menghosting instans SQL Server di Azure VM berukuran direkomendasikan.
Untuk menggunakan aturan tersebut, sambungkan ke Azure dengan Modul Azure PowerShell
Masuk dengan Azure PowerShell sebelum memanggil Penilaian SQL terhadap SQL Server pada instans Azure VM. Contoh 13 menunjukkan proses masuk interaktif dan pilihan langganan.
NOTA. Dimungkinkan untuk menggunakan koneksi akun Azure yang bertahan di antara sesi PowerShell, yaitu memanggil Connect-AzAccount dalam satu sesi dan menghilangkan perintah ini nanti. Namun, versi cmdlet Penilaian SQL saat ini membutuhkan modul Az.ResourceGraph untuk diimpor secara eksplisit dalam hal ini: Import-Module Az.ResourceGraph
Contoh
Contoh 1: Dapatkan pemeriksaan untuk instans default lokal
PS:> Get-SqlInstance -ServerInstance 'localhost' | Get-SqlAssessmentItem
Target: [LOCAL]
ID ON Name Origin
-- -- ---- ------
TF1204 True TF 1204 returns deadlock information Microsoft Ruleset 0.1.202
BlackboxTrace True Blackbox trace is configured and running Microsoft Ruleset 0.1.202
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth True Some TempDB data files have different... Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
...
Contoh ini mendapatkan semua pemeriksaan yang tersedia untuk instans default SQL Server yang berjalan pada komputer saat ini.
Contoh 2: Dapatkan pemeriksaan dengan cmdlet Get-Item
PS:> Get-Item SQLSERVER:\SQL\localhost\default | Get-SqlAssessmentItem
Target: [LOCAL]
ID ON Name Origin
-- -- ---- ------
TF1204 True TF 1204 returns deadlock information Microsoft Ruleset 0.1.202
BlackboxTrace True Blackbox trace is configured and running Microsoft Ruleset 0.1.202
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth True Some TempDB data files have different... Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
...
Contoh ini mendapatkan semua pemeriksaan yang tersedia untuk instans default SQL Server yang berjalan pada komputer saat ini.
Contoh 3: Dapatkan pemeriksaan dengan jalur ke objek target
PS:> Get-SqlAssessmentItem SQLSERVER:\SQL\localhost\default
Target: [LOCAL]
ID ON Name Origin
-- -- ---- ------
TF1204 True TF 1204 returns deadlock information Microsoft Ruleset 0.1.202
BlackboxTrace True Blackbox trace is configured and running Microsoft Ruleset 0.1.202
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth True Some TempDB data files have different... Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
...
Contoh ini mendapatkan semua pemeriksaan yang tersedia untuk instans default SQL Server yang berjalan pada komputer saat ini.
Contoh 4: Dapatkan pemeriksaan dengan konfigurasi kustom yang diterapkan
PS:> Get-SqlDatabase master -ServerInstance . |
Get-SqlAssessmentItem -Configuration C:\rulesetA.json, D:\rulesetB.json
Target: [LOCAL]
ID ON Name Origin
-- -- ---- ------
TF1204 False TF 1204 returns deadlock information Microsoft Ruleset 0.1.202
BlackboxTrace True Blackbox trace is configured and running Microsoft Ruleset 0.1.202
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth False Some TempDB data files have different... Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
SomeCustomCheck True Some custom check Ruleset A 1.0
AnotherCustomCheck True Another custom check Ruleset B 1.0
...
Contoh ini mendapatkan semua pemeriksaan yang tersedia dengan konfigurasi kustom yang diterapkan yang diperoleh dari file JSON tertentu. Kunjungi folder sampel Penilaian SQL di Github untuk mengetahui cara membuat penyesuaian.
Contoh 5: Dapatkan pemeriksaan untuk semua instans di localhost
PS:> Get-SqlInstance -ServerInstance localhost | Get-SqlAssessmentItem
Target: [LOCAL]
ID ON Name Origin
-- -- ---- ------
TF1204 True TF 1204 returns deadlock information Microsoft Ruleset 0.1.202
BlackboxTrace True Blackbox trace is configured and running Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
Target: [LOCAL\INSTANCE1]
ID ON Name Origin
-- -- ---- ------
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth True Some TempDB data files have different... Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
...
Contoh ini menunjukkan cmdlet Get-SqlAssessmentItem
Contoh 6: Dapatkan pemeriksaan untuk semua instans dengan nama yang diakhir dengan angka
PS:> Get-SqlInstance -ServerInstance localhost | Where { $_.Name -Match '.*\d+' } | Get-SqlAssessmentItem
Target: [LOCAL\INSTANCE1]
ID ON Name Origin
-- -- ---- ------
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth True Some TempDB data files have different... Microsoft Ruleset 0.1.202
CpuUtil90 True CPU usage over 90% Microsoft Ruleset 0.1.202
...
Contoh ini menunjukkan cmdlet Get-SqlAssessmentItem
Contoh 7: Mendapatkan pemeriksaan untuk database menurut jalur
PS:> Get-SqlAssessmentItem SQLSERVER:\SQL\localhost\default\Databases\master
TargetObject: [master]
ID ON Name Origin
-- -- ---- ------
AutoCreateStats True Auto-Create Statistics should be on Microsoft Ruleset 0.1.202
HintsUsageInModules False Hints usage in modules Microsoft Ruleset 0.1.202
FullBackup True Full backup is missed or outdated Microsoft Ruleset 0.1.202
DuplicateIndexes True Duplicate Indexes Microsoft Ruleset 0.1.202
RedundantIndexes True Redundant Indexes Microsoft Ruleset 0.1.202
...
Contoh ini memperlihatkan cmdlet Get-SqlAssessmentItem menerima jalur ke database SQL Server.
Contoh 8: Mendapatkan pemeriksaan tingkat keparahan tinggi untuk database
PS:> cd SQLSERVER:\SQL\localhost\default\Databases\master
PS:> Get-SqlAssessmentItem -MinSeverity High
Contoh ini memperlihatkan Get-SqlAssessmentItem mengembalikan pemeriksaan yang tersedia dengan tingkat keparahan tinggi untuk database master. Ini menerima lokasi penyedia PowerShell saat ini sebagai target.
Contoh 9: Mendapatkan pemeriksaan tingkat keparahan tinggi untuk database
PS:> $db = Get-SqlDatabase master -ServerInstance localhost
PS:> Get-SqlAssessmentItem $db -MinSeverity High
Contoh ini memperlihatkan Get-SqlAssessmentItem mengembalikan pemeriksaan yang tersedia dengan tingkat keparahan tinggi untuk database master.
Contoh 10: Dapatkan pemeriksaan menurut tag
PS:> Get-SqlDatabase -ServerInstance . | Get-SqlAssessmentItem -Check Backup
TargetObject: [master]
ID ON Name Origin
-- -- ---- ------
FullBackup True Full backup is missed or outdated Microsoft Ruleset 0.1.202
TargetObject: [msdb]
ID ON Name Origin
-- -- ---- ------
FullBackup True Full backup is missed or outdated Microsoft Ruleset 0.1.202
Contoh ini menunjukkan cmdlet Get-SqlAssessmentItem mengembalikan semua pemeriksaan terkait cadangan untuk semua database pada instans SQL Server lokal default.
Contoh 11: Jalankan pemeriksaan yang dipilih secara interaktif
PS:> $serverInstance = Get-SqlInstance -ServerInstance '(local)'
PS:> $checks = Get-SqlAssessmentItem $serverInstance | Select Id, 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.
Baris kedua dari contoh ini menunjukkan mendapatkan pemeriksaan untuk $serverInstance, dan memilih beberapa di antaranya secara interaktif.
Item yang dipilih disimpan dalam variabel array, yang kemudian dapat digunakan sebagai input untuk cmdlet Invoke-SqlAssessment
Contoh 12: Tentukan kredensial secara eksplisit
PS> $cred = Get-Credential
PowerShell credential request
Enter your credentials.
User: Administrator
Password for user Administrator: ********
PS> $db = Get-SqlDatabase master -ServerInstance 10.0.3.118 -Credential $cred
PS> Get-SqlAssessmentItem $db
TargetObject: [master]
ID ON Name Origin
-- -- ---- ------
AutoCreateStats True Auto-Create Statistics should be on Microsoft Ruleset 0.1.202
FullBackup True Full backup is missed or outdated Microsoft Ruleset 0.1.202
DuplicateIndexes True Duplicate Indexes Microsoft Ruleset 0.1.202
RedundantIndexes True Redundant Indexes Microsoft Ruleset 0.1.202
...
Contoh ini menunjukkan cara mendapatkan daftar pemeriksaan Penilaian SQL dengan kredensial yang ditentukan secara eksplisit.
Contoh 13: Dapatkan daftar aturan Penilaian SQL untuk SQL Server pada instans Azure VM
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> Get-SqlAssessmentItem $inst
TargetObject: [ContosoAzureSql]
ID ON Name Origin
-- -- ---- ------
HintsStatistics True Hints are being used Microsoft Ruleset 0.1.202
PlansUseRatio True Amount of single use plans in cache i... Microsoft Ruleset 0.1.202
TempDBFilesAutoGrowth True Some TempDB data files have different... Microsoft Ruleset 0.1.202
AzSqlVmSize True VM size is not memory-optimized Microsoft Ruleset 0.1.202
...
Contoh ini menunjukkan cara mendapatkan daftar aturan yang berlaku untuk SQL Server tertentu pada instans Azure VM.
Koneksi langganan Azure aktif memungkinkan pemeriksaan terkait Azure (AzSqlVmSize dalam contoh ini). Baris pertama tersambung ke akun Azure untuk mendapatkan data dari Azure Resource Graph. Baris kedua bersifat opsional.
Untuk menjalankan pemeriksaan ini, Penilaian SQL memerlukan modul Az.ResourceGraph.
Parameter
-Check
Satu atau beberapa pemeriksaan, periksa ID, atau tag.
Untuk setiap objek pemeriksaan, Get-SqlAssessmentItem mengembalikan yang memeriksa apakah mendukung objek input.
Untuk setiap ID pemeriksaan, Get-SqlAssessmentItem mengembalikan pemeriksaan yang sesuai apakah mendukung objek input.
Untuk tag, Get-SqlAssessmentItem mengembalikan pemeriksaan dengan salah satu tag tersebut.
Jenis: | String[] |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Configuration
Menentukan jalur ke file yang berisi konfigurasi kustom. File kustomisasi akan diterapkan ke konfigurasi default dalam urutan yang ditentukan. Cakupan terbatas pada pemanggilan cmdlet ini saja.
Jenis: | PSObject |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-FlattenOutput
Menunjukkan bahwa cmdlet ini menghasilkan objek sederhana jenis Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNoteFlat alih-alih Microsoft.SqlServer.Management.Assessment.Cmdlets.AssessmentNote.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-InputObject
Menentukan objek SQL Server atau jalur ke objek tersebut. Cmdlet mengembalikan pemeriksaan yang sesuai untuk objek ini. Ketika parameter ini dihilangkan, lokasi saat ini digunakan sebagai objek input. Jika lokasi saat ini bukan objek SQL Server yang didukung, cmdlet memberi sinyal kesalahan.
Jenis: | PSObject |
Alias: | Target |
Position: | 10 |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | False |
-MinSeverity
Menentukan tingkat keparahan minimum untuk pemeriksaan yang akan ditemukan. Misalnya, pemeriksaan tingkat Sedang, Rendah, atau Informasi tidak akan dikembalikan saat -MinSeverity Tinggi.
Jenis: | SeverityLevel |
Alias: | Severity |
Nilai yang diterima: | Information, Low, Medium, High |
Position: | Named |
Nilai default: | Information |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-ProgressAction
Menentukan bagaimana PowerShell merespons pembaruan kemajuan yang dihasilkan oleh skrip, cmdlet, atau penyedia, seperti bilah kemajuan yang dihasilkan oleh cmdlet Write-Progress. cmdlet Write-Progress membuat bilah kemajuan yang memperlihatkan status perintah.
Jenis: | ActionPreference |
Alias: | proga |
Position: | Named |
Nilai default: | None |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
System.String[]
Microsoft.SqlServer.Management.Smo.SqlSmoObject[]
Output
Microsoft.SqlServer.Management.Assessment.ICheck
Link Terkait
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk