Udostępnij za pośrednictwem


Kwerenda wyrażeń i unikatowych nazw zasobów

SQL Server Modeli zarządzania obiektu (SMO) i SQL Server za pomocą przystawki PowerShell dwa typy wyrażenie ciągów, które są podobne do wyrażenia XPath.Wyrażenia kwerendy są ciągi, które określają zestaw kryteriów stosowanych do wyliczenia jeden lub więcej obiektów w hierarchii modelu obiektów.Unikatowa nazwa zasobu (URN) jest ciąg wyrażenie kwerendy, która jednoznacznie identyfikuje jeden obiekt określonego typu.

Składnia

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 tych obszarów nazw model obiektu 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ć serwer ServerCollection klasy bazy danych dla DatabaseCollection klasy.

  • @PropertyName
    Określa nazwę właściwości klasy, który jest skojarzony z obiektu określonego w obiektu.Prefiksem nazwy właściwość znak @.Na przykład określić @ IsAnsiNull dla bazy danych właściwość klasy IsAnsiNull.

  • @BooleanPropertyName=true()
    Wylicza wszystkie obiekty, w których jest określona właściwość logiczna zestaw na wartość TRUE.

  • @BooleanPropertyName=false()
    Wylicza wszystkie obiekty, w których jest określona właściwość logiczna zestaw na FALSE.

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

  • @StringPropertyName= "PatternString"
    Wylicza wszystkie obiekty, których wartość właściwość określony ciąg jest dokładnie taki sam wzorzec znaków określonego w 'PatternString".

  • @DatePropertyName= datetime ("żądaniu")
    Wylicza wszystkie obiekty, których wartość właściwość określonej data pasuje do data, określone w 'żądaniu'.Żądaniu musi następować w hh:mi:ss.mmm formacie rrrr mm-dd

    yyyy

    Czterocyfrowy rok.

    mm

    Miesiąc dwie cyfry (01 do 12).

    dd

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

    hh

    Godzinę dwucyfrową zegara 24-godzinnego (od 01 do 23).

    mi

    Dwie minuty cyfr (od 01 do 59).

    ss

    Dwie sekundy cyfr (od 01 do 59).

    mmm

    Liczba milisekund (001 do 999).

    data, które są określone w tym formacie można sprawdzane 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 nie spełniające warunek określony w PropertyExpression.Na przykład nie (zawiera (@ nazwa "xyz")) wylicza wszystkie obiekty, które nie mają xyz ciąg znaków w nazwach.

Uwagi

Wyrażenia kwerendy są ciągi, które wyliczyć węzłów w hierarchii modelu obiektów SMO.Każdy węzeł dysponuje wyrażenie filtru, która określa kryteria określania, które obiekty w tym węźle są wyliczane.wyrażenie kwerendy jest modelowana na język wyrażenie XPath.Wyrażenia kwerendy zaimplementować podzbiór wyrażeń, które są obsługiwane przez język XPath i mają niektóre rozszerzenia, które nie zostały znalezione w XPath.Wyrażenia XPath są ciągami, które określają zestaw kryteriów, które są wykorzystywane do wyliczenia jeden lub więcej znaczników w dokumencie XML.Aby uzyskać więcej informacji na temat XPath, zobacz Języka XPath W3C.

Wyrażenia kwerendy musi zaczynać się bezwzględne odwołanie do obiektu serwera.Względne wyrażeń z wiodącym / nie są dozwolone.Sekwencję obiektów, które są określone w kwerendzie wyrażenie musi następować 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ę od węzła serwera następuje węzeł bazy danych i tak dalej.

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

Unikatowe nazwy zasobu (URN)

Urny są podzbiór wyrażeń kwerendy.Każdy URN stanowi pełną odniesienie do pojedynczego obiektu.Typowy URN wyszukuje właściwość Name pojedynczy obiekt na każdym węźle.Na przykład URN to odnosi się do okreolonej kolumna:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2008R2']/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 atrybutu zestaw do false w domyślnego wystąpienia na MyComputer.

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

B.Wyliczanie obiektów za pomocą zawiera

To wyrażenie kwerendy wylicza wszystkie bazy danych, które są przypadek-niewrażliwe i mieć znak am " 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 AdventureWorks2008R2 tabele, które nie są w produkcji schematu i zawiera wyraz historii nazwy tabela:

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

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

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

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

E.Wyliczanie obiektów za pomocą datetime

To wyrażenie kwerendy wylicza wszystkie tabele, które są tworzone w AdventureWorks2008R2 bazy danych na określonym czas:

Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2008R2"]/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 AdventureWorks2008R2 bazy danych, które nie mają wartości NULL dla ich Data ostatniej modyfikacji właściwość:

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