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-ddyyyy
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))]
Zobacz także