Ifadeler ve benzersiz kaynak adları
The SQL Server Management Object (SMO) models and SQL Server PowerShell snap-ins use two types of expression strings that are similar to XPath expressions.Sorgu ifadeleri belirten bir dize olan bir küme bir nesne modeli hiyerarşisinde bir veya daha fazla nesneleri numaralandırmak için kullanılan ölçüt.Benzersiz kaynak adı (URN) belirli bir sorgu ifadesinde türü olan dize, tek bir nesneyi benzersiz olarak tanımlar.
Object1[<FilterExpression1>]/ ... /ObjecN[<FilterExpressionN>]
<FilterExpression>::=
<PropertyExpression> [and <PropertyExpression>][...n]
<PropertyExpression>::=
@BooleanPropertyName=true()
| @BooleanPropertyName=false()
| contains(@StringPropertyName, 'PatternString')
| @StringPropertyName='String'
| @DatePropertyName=datetime('DateString')
| is_null(@PropertyName)
| not(<PropertyExpression>)
Bağımsız değişkenler
Nesne
Bu düğüme ifade dizesinin gösterdiği nesne türünü belirtir.Her nesne bir koleksiyon sınıfı bu SMO nesne modeli ad gösterir: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
Örneğin, sunucu için belirttiğinizServerCollection Veritabanı için DatabaseCollection class. sınıfı
@PropertyName
Özelliklerinden nesnesiyle ilişkili sınıfının adını belirtir belirtilenNesne.Özellik adı ile öneki gereken @ karakteri.@ IsAnsiNull için örneğin, belirttiğinizVeritabanı sınıf özellik IsAnsiNull .@BooleanPropertyName=true()
Burada belirtilen Boolean özellik, tüm nesneleri sıralar küme TRUE olarak.@BooleanPropertyName =false()
Burada belirtilen Boole özellik FALSE olarak ayarlanırsa, tüm nesneleri numaralandırır.bulunur ( StringPropertyName , ' PatternString ')
Burada belirtilen dize özellik içeren en az bir örneğini tüm nesneleri sıralar küme belirtilen karakter 'PatternString'.@StringPropertyName= ' PatternString '
Tüm nesneleri sıralar burada belirtilen dize değeri özellik belirtilen karakter desen tam olarak aynıdır 'PatternString'.@DatePropertyName= datetime (' DateString ')
Tüm nesnelerini numaralandırır burada belirtilen tarih değeri özellik belirtilen tarih eşleşen 'DateString'.DateString izlemeniz gereken biçimini yyyy-aa-gg hh:mi:ss.mmmyyyy
Dört basamaklı yıl.
mm
İki basamaklı (01 ile 12) ay.
dd
İki basamaklı tarih (01-31).
hh
İki basamaklı saat, 24 saat (01-23) kullanma.
mi
İki basamaklı dakika (01-59).
ss
İki basamaklı saniye (01-59).
aaa
Milisaniye (001-999) sayısı.
Bu biçim belirtilen tarih değerlendirilen içinde depolanan bir tarih biçimi karşıSQL Server.
is_null (@ PropertyName)
Belirtilen özellik değeri null olduğu tüm nesnelerini numaralandırır.not(<PropertyExpression>)
Değerlendirme değeri olumsuzlarPropertyExpressionnumaralandırma, eşleşmiyor koşulu tüm nesneleri belirtilenPropertyExpression.Örneğin, not (içerir (@ Name, 'xyz')) dize xyz kendi adlarını içermeyen tüm nesnelerini numaralandırır.
Remarks
Sorgu ifadeleri SMO modeli hiyerarşisinde düğümleri numaralandırma dizelerdir.Her düğüm bir süzgeç varsa ifade hangi nesnelerin bu düğümdeki numaralandırılan belirlemek için ölçütleri belirler.Sorgunun ifade XPath deyimi dile model.Sorgu ifadeleri küçük alt küme küme küme XPath tarafından desteklenen ifadelerin uygulamak ve XPath bulunan bazı uzantılar da sahip.XPath deyimleridir belirten bir dize bir küme etiketleri bir XML belgesindeki birini veya birkaçını numaralandırmak için kullanılan ölçüt.XPath hakkında daha fazla bilgi için bkz:W3C.
Sorgu ifadeleri, sunucu nesnesini göreceli bir başvuru ile başlamalıdır.Bir satır ile ilgili ifadeler / izin verilmez.Sorguda belirtilen nesne dizisi ifade koleksiyon nesnelerinin ilgili nesne modelindeki hiyerarşisini izlemeniz gerekir.Örneğin, bir sorgu ifade bir Database düümü vb. tarafından izlenen başvuru nesneleri Microsoft.SqlServer.Management.smo ad alanındaki bir sunucu düğümü ile başlamalıdır.
, Bir<FilterExpression>belirtilen nesnenin tüm nesneler bu düğümdeki numaralandırılmış.
Benzersiz kaynak adları (URN)
URNs sorgu ifadeleri alt küme küme küme küme.Her URN tam başvuru tek bir nesne oluşturur.Tipik bir URN Name özellik, her düğümdeki tek bir nesneyi tanımlamak için kullanılır.Örneğin, bu URN belirli bir sütuna başvuruyor:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks']/Table[@Name='SalesPerson' and @Schema='Sales']/Column[@Name='SalesPersonID']
Örnekler
C.False() kullanarak nesneleri numaralandırma
Bu sorguyu ifade olan tüm veritabanlarının sıralarAutoClose özniteliği Bilgisayarımüzerindeki varsayılan kopyaya false olarak ayarlayın.
Server[@Name='MYCOMPUTER']/Database[@AutoClose=false()]
B.Numaralandırma kullanarak nesneleri içerir.
Bu sorgu ifade tüm veritabanları büyük küçük durum duyarlı ve karakter am sıralar ', adı.
Server[@Name='MYCOMPUTER']/Database[@CaseSensitive=false() and contains(@Name, 'm')]
C.Kullanmayan nesneleri numaralandırma
This query expression enumerates all of AdventureWorks tables that are not in the Production schema and contain the word History in the table name:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks']/Table[not(@Schema='Production') and contains(@Name, 'History')]
D.Bir filtre sağlama ifade son düğümü için
Bu sorguyu ifade tüm sütunlar sıralarAdventureWorks.Sales.SalesPerson tablo:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks"]/Table[@Schema='Sales' and @Name='SalesPerson']/Columns
E.Tarih kullanarak nesneleri numaralandırma
Bu sorguyu ifade oluşturulan tüm tabloları sıralarAdventureWorks veritabanında belirli bir saat:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks"]/Table[@CreateDate=datetime('2008-03-21 19:49:32.647')]
F.İs_null kullanarak nesneleri numaralandırma
Tüm tablolarda bu sorgu ifadesi sıralarAdventureWorks tarih özelliğinin son değiştirildiği için null olmayan veritabanı:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks"]/Table[Not(is_null(@DateLastModified))]
See Also