Udostępnij za pośrednictwem


Query Expressions and Unique Resource Names

The SQL Server Management Object (SMO) models and SQL Server PowerShell snap-ins use two types of wyrażenie strings that are similar to XPath expressions. Wyrażenia kwerendy są ciągów określających zestaw kryteriów stosowanych do wyliczenia jeden lub więcej obiektów w hierarchii modelu obiektów.Unikatowa nazwa zasób (URN) to ciąg wyrażenie kwerendy, która w unikatowy sposób identyfikuje pojedynczy obiekt określonego typu.

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

Argumenty

  • Obiekt
    Określa typ obiektu, który jest reprezentowana w tym węźle ciąg wyrażenie.Każdy obiekt reprezentuje klasę kolekcja z te obszary nazw modelu obiektu obiekty SMO:

    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

    Na przykład określić Server for ServerCollection Baza danych dla klasyDatabaseCollection klasy.

  • @PropertyName
    Określa nazwę jednej z właściwości klasy, która jest skojarzona z obiektem, określone w Obiekt.Nazwa właściwość należy poprzedzać prefiksem znak @.Na przykład określić IsAnsiNull @ dla Bazy danych właściwość klasy IsAnsiNull.

  • @BooleanPropertyName=true()
    Wylicza wszystkie obiekty w przypadku gdy określonego logiczny właściwość jest ustawiona na wartość TRUE.

  • @BooleanPropertyName =false()
    Wylicza wszystkie obiekty, jeżeli jest określona właściwość logiczna zestaw na wartość FALSE.

  • zawiera (@ StringPropertyName, 'PatternString')
    Wylicza wszystkie obiekty, których właściwość określony ciąg znaków zawiera co najmniej jedno wystąpienie zestaw znaków, który jest określony „PatternString'.

  • @StringPropertyName='PatternString "
    Wylicza wszystkie obiekty, których wartość właściwość określonego ciąg znaków są dokładnie takie same, jako wzorzec znaków określonego „PatternString'.

  • @DatePropertyName= datetime('DateString')
    Wylicza wszystkie obiekty, których wartość właściwość określonej data pasuje do data określonej „DateString'.DateString rrrr mm-dd hh:mi:ss.mmm format muszą być zgodne ze

    yyyy

    Rok czterocyfrowy.

    mm

    Miesiąc dwóch cyfr (od 01 do 12).

    dd

    Data dwóch cyfr (od 01 do 31).

    hh

    Cyfra dwa godzinę przy użyciu zegara 24 h (od 01 do 23).

    mi

    Dwie minuty cyfra (od 01 do 59).

    ss

    Dwie sekundy cyfra (od 01 do 59).

    mmm

    Liczba milisekund (001 do 999).

    data, które są określone w tym formacie może przyjmować względem dowolnego formatu data, który jest przechowywany w SQL Server.

  • is_null (@ PropertyName)
    Wylicza wszystkie obiekty, w którym określona właściwość ma wartość NULL.

  • not(<PropertyExpression>)
    Negacja wartość oceny PropertyExpression, wyliczanie wszystkich obiektów, które nie pasują do siebie warunek określony w PropertyExpression. Na przykład (zawiera (@ Name, "xyz")) nie wylicza wszystkie obiekty, które nie mają xyz ciąg znaków w nazwach.

Remarks

Wyrażenia kwerendy są ciągów, które wyliczyć węzłów hierarchii modelu obiektów SMO.Każdy węzeł dysponuje wyrażenie filtru, który określa kryteria określające, które obiekty w tym węźle są wyliczane.wyrażenie kwerendy jest modelowana na języku wyrażenie XPath.Wyrażenia kwerendy zaimplementować mały podzbiór wyrażeń, które są obsługiwane przez język XPath, a także mieć niektóre rozszerzenia, które nie zostały znalezione w języku XPath.Wyrażenia XPath są ciągów określających zestaw kryteriów, które są używane do sortowania jeden lub więcej tagów w dokumencie XML.Aby uzyskać więcej informacji na temat XPath zobacz W3C.

Wyrażenia kwerendy musi zaczynać się od bezwzględne odwołanie do obiektu serwera.Względem wyrażenia zawierające wiodącego / nie są dozwolone.Sekwencja obiekty, które zostały określone w wyrażeniu kwerendy muszą być zgodne z hierarchii kolekcja obiektów w modelu obiektu skojarzonego.Na przykład wyrażenie kwerendy, która odwołuje się do obiektów w obszarze nazw Microsoft.SqlServer.Management.smo musi zaczynać się na węźle serwerów, a następnie węzeł bazy danych i tak dalej.

Jeśli <FilterExpression> nie określono obiektu, wszystkie obiekty w tym węźle są wyliczane.

Unikatowe nazwy zasób (URN)

Urny są podzbiorem wyrażenia kwerendy.Każda nazwa URN stanowi odwołanie do jednego obiektu w pełni kwalifikowana.Typowe nazwy URN wyszukuje właściwość Name na pojedynczy obiekt na każdym węźle.Na przykład to nazwy URN odwołuje się do danej kolumna:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks']/Table[@Name='SalesPerson' and @Schema='Sales']/Column[@Name='SalesPersonID']

Przykłady

A.Wyliczanie obiektów za pomocą false()

To wyrażenie kwerendy wylicza wszystkie bazy danych, które mają AutoClose atrybut ustawiony na wartość false wystąpienie domyślne na Mój komputer.

Server[@Name='MYCOMPUTER']/Database[@AutoClose=false()]

B.Wyliczanie obiektów za pomocą zawiera

To wyrażenie kwerendy wylicza wszystkie strony bazy danych, które uwzględniają wielkość liter i mieć znak ' w ich imieniu.

Server[@Name='MYCOMPUTER']/Database[@CaseSensitive=false() and contains(@Name, 'm')] 

C.Wyliczanie obiektów za pomocą nie

To wyrażenie kwerendy wylicza wszystkie AdventureWorks tabel, które nie znajdują się w Produkcja schematu i zawiera wyraz historia w nazwie tabela:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks']/Table[not(@Schema='Production') and contains(@Name, 'History')]

D.Dostarczenie nie wyrażenie filtru dla ostatniego węzła

To wyrażenie kwerendy wylicza wszystkie kolumny AdventureWorks.Sales.SalesPerson tabela:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks"]/Table[@Schema='Sales' and @Name='SalesPerson']/Columns

E.Wyliczanie obiektów przy użyciu daty/godziny

To wyrażenie kwerendy wylicza wszystkie tabele, które zostały utworzone w AdventureWorks bazy danych w określonym czas:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks"]/Table[@CreateDate=datetime('2008-03-21 19:49:32.647')]

F.Wyliczanie obiektów za pomocą is_null

To wyrażenie kwerendy wylicza wszystkie tabele w AdventureWorks bazy danych, które nie mają wartości NULL dla data ostatniej modyfikacji właściwość:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks"]/Table[Not(is_null(@DateLastModified))]