Ekspresi Kueri dan Nama Sumber Daya Seragam
Berlaku untuk:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics Analytics
Platform System (PDW)
Model SQL Server Management Object (SMO) dan snap-in PowerShell SQL Server menggunakan dua jenis string ekspresi yang mirip dengan ekspresi XPath. Ekspresi kueri adalah string yang menentukan sekumpulan kriteria yang digunakan untuk menghitung satu atau beberapa objek dalam hierarki model objek. Nama Sumber Daya Seragam (URN) adalah jenis string ekspresi kueri tertentu yang secara unik mengidentifikasi satu objek.
Catatan
Ada dua modul PowerShell SQL Server; SqlServer dan SQLPS.
Modul SqlServer adalah modul PowerShell saat ini yang akan digunakan.
Modul SQLPS disertakan dengan penginstalan SQL Server (untuk kompatibilitas mundur) tetapi tidak lagi diperbarui.
Modul SqlServer berisi versi cmdlet yang diperbarui di SQLPS dan menyertakan cmdlet baru untuk mendukung fitur SQL terbaru.
Instal modul SqlServer dari Galeri PowerShell.
Untuk informasi selengkapnya, lihat SQL Server PowerShell.
Sintaks
Object1[<FilterExpression1>]/ ... /ObjectN[<FilterExpressionN>]
<FilterExpression>::=
<PropertyExpression> [and <PropertyExpression>][...n]
<PropertyExpression>::=
@BooleanPropertyName=true()
| @BooleanPropertyName=false()
| contains(@StringPropertyName, 'PatternString')
| @StringPropertyName='String'
| @DatePropertyName=datetime('DateString')
| is_null(@PropertyName)
| not(<PropertyExpression>)
Argumen
Objek
Menentukan jenis objek yang diwakili pada simpul string ekspresi tersebut. Setiap objek mewakili kelas koleksi dari namespace model objek SMO ini:
Microsoft.SqlServer.Management.Smo
Microsoft.SqlServer.Management.Smo.Agent
Microsoft.SqlServer.Management.Smo.Broker
Microsoft.SqlServer.Management.Smo.Mail
Microsoft.SqlServer.Management.Dmf
Microsoft.SqlServer.Management.Facets
Microsoft.SqlServer.Management.RegisteredServers
Microsoft.SqlServer.Management.Smo.RegSvrEnum
Misalnya, tentukan Server untuk kelas ServerCollection , Database untuk kelas DatabaseCollection .
@PropertyName
Menentukan nama salah satu properti kelas yang terkait dengan objek yang ditentukan dalam Objek. Nama properti harus diawali dengan karakter @. Misalnya, tentukan @IsAnsiNull untuk properti kelas Database IsAnsiNull.
@BooleanPropertyName=true()
Menghitung semua objek di mana properti Boolean yang ditentukan diatur ke TRUE.
@BooleanPropertyName=false()
Menghitung semua objek di mana properti Boolean yang ditentukan diatur ke FALSE.
contains(@StringPropertyName, 'PatternString')
Menghitung semua objek di mana properti string yang ditentukan berisi setidaknya satu kemunculan kumpulan karakter yang ditentukan dalam 'PatternString'.
@StringPropertyName='PatternString'
Menghitung semua objek di mana nilai properti string yang ditentukan sama persis dengan pola karakter yang ditentukan dalam 'PatternString'.
@DatePropertyName= datetime('DateString')
Menghitung semua objek di mana nilai properti tanggal yang ditentukan cocok dengan tanggal yang ditentukan dalam 'DateString'. DateString harus mengikuti format yyyy-mm-dd hh:mi:ss.mmm.
Komponen DateString | Deskripsi |
---|---|
yyyy | Empat digit tahun. |
mm | Bulan dua digit (01 hingga 12). |
dd | Tanggal dua digit (01 hingga 31). |
hh | Dua digit jam menggunakan jam 24 jam (01 hingga 23). |
mi | Dua digit menit (01 hingga 59). |
ss | Dua digit detik (01 hingga 59). |
mmm | Jumlah milidetik (001 hingga 999). |
Tanggal yang ditentukan dalam format ini dapat dievaluasi terhadap format tanggal apa pun yang disimpan di SQL Server.
is_null(@PropertyName)
Menghitung semua objek di mana properti yang ditentukan memiliki nilai NULL.
not(<PropertyExpression>)
Meniadakan nilai evaluasi PropertyExpression, menghitung semua objek yang tidak cocok dengan kondisi yang ditentukan dalam PropertyExpression. Misalnya, not(contains(@Name, 'xyz')) menghitung semua objek yang tidak memiliki string xyz dalam namanya.
Keterangan
Ekspresi kueri adalah string yang menghitung simpul dalam hierarki model SMO. Setiap simpul memiliki ekspresi filter yang menentukan kriteria untuk menentukan objek mana di simpul tersebut yang dijumlahkan. Ekspresi kueri dimodelkan pada bahasa ekspresi XPath. Ekspresi kueri mengimplementasikan subset kecil ekspresi yang didukung oleh XPath, dan juga memiliki beberapa ekstensi yang tidak ditemukan di XPath. Ekspresi XPath adalah string yang menentukan serangkaian kriteria yang digunakan untuk menghitung satu atau beberapa tag dalam dokumen XML. Untuk informasi selengkapnya tentang XPath, lihat Bahasa W3C XPath.
Ekspresi kueri harus dimulai dengan referensi absolut ke objek Server. Ekspresi relatif dengan di depan/ tidak diizinkan. Urutan objek yang ditentukan dalam ekspresi kueri harus mengikuti hierarki objek koleksi dalam model objek terkait. Misalnya, ekspresi kueri yang mereferensikan objek di namespace Microsoft.SqlServer.Management.Smo harus dimulai dengan simpul Server diikuti oleh simpul Database, dan sebagainya.
<Jika FilterExpression> tidak ditentukan untuk objek, semua objek pada simpul tersebut dijumlahkan.
Nama Sumber Daya Seragam (URN)
URL adalah subset ekspresi kueri. Setiap URN membentuk referensi yang sepenuhnya memenuhi syarat ke satu objek. URN umum menggunakan properti Nama untuk mengidentifikasi satu objek di setiap simpul. Misalnya, URN ini mengacu pada kolom tertentu:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022']/Table[@Name='SalesPerson' and @Schema='Sales']/Column[@Name='SalesPersonID']
Contoh
J. Menghitung objek menggunakan false()
Ekspresi kueri ini menghitung semua database yang memiliki atribut AutoClose yang diatur ke false dalam instans default di MyComputer.
Server[@Name='MYCOMPUTER']/Database[@AutoClose=false()]
B. Menghitung objek menggunakan contains
Ekspresi kueri ini menghitung semua database yang tidak peka huruf besar/kecil dan memiliki karakter 'm' dalam namanya.
Server[@Name='MYCOMPUTER']/Database[@CaseSensitive=false() and contains(@Name, 'm')]
C. Menghitung objek menggunakan tidak
Ekspresi kueri ini menghitung semua AdventureWorks2022
tabel yang tidak ada dalam skema Produksi dan berisi kata Riwayat dalam nama tabel:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022']/Table[not(@Schema='Production') and contains(@Name, 'History')]
D. Tidak menyediakan ekspresi filter untuk simpul akhir
Ekspresi kueri ini menghitung semua kolom dalam tabel AdventureWorks2022.Sales.SalesPerson :
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022"]/Table[@Schema='Sales' and @Name='SalesPerson']/Columns
E. Menghitung objek menggunakan tanggalwaktu
Ekspresi kueri ini menghitung semua tabel yang dibuat dalam database pada AdventureWorks2022
waktu tertentu:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022"]/Table[@CreateDate=datetime('2008-03-21 19:49:32.647')]
F. Menghitung objek menggunakan is_null
Ekspresi kueri ini menghitung semua tabel dalam AdventureWorks2022
database yang tidak memiliki NULL untuk properti yang terakhir diubah tanggalnya:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022"]/Table[Not(is_null(@DateLastModified))]
Lihat Juga
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