Aracılığıyla paylaş


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.mmm

    yyyy

    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))]