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 zeyyyy
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))]
See Also