Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Модели объектов управления SQL Server и оснастки SQL Server PowerShell используют два типа строк выражений, аналогичных выражениям XPath. Выражения запросов — это строки, определяющие набор критериев, используемых для перечисления одного или нескольких объектов в иерархии объектной модели. Универсальное имя ресурса (URN) — это конкретный тип строки выражения запроса, которая однозначно идентифицирует один объект.
Замечание
Существует два модуля SQL Server PowerShell; SqlServer и SQLPS.
Модуль SqlServer — это текущий модуль PowerShell для использования.
Модуль SQLPS включен в установку SQL Server (для обратной совместимости), но больше не обновляется.
Модуль SqlServer содержит обновленные версии командлетов в SQLPS и включает новые командлеты для поддержки последних функций SQL.
Установите модуль SqlServer из коллекции PowerShell.
Дополнительные сведения см. в SQL Server PowerShell.
Синтаксис
Object1 [ <FilterExpression1> ] / ... /ObjectN [ <FilterExpressionN> ]
<FilterExpression>::=
<PropertyExpression> [ and <PropertyExpression> ] [ ...n ]
<PropertyExpression>::=
@BooleanPropertyName = true()
| @BooleanPropertyName = false()
| contains(@StringPropertyName , 'PatternString')
| @StringPropertyName = 'String'
| @DatePropertyName = datetime('DateString')
| is_null(@PropertyName)
| not(<PropertyExpression>)
Аргументы
Объект
Указывает тип объекта, представленного на этом узле строки выражения. Каждый объект представляет класс коллекции из этих пространств имен объектной модели SMO:
<xref:Microsoft.SqlServer.Management.Smo>
<xref:Microsoft.SqlServer.Management.Smo.Agent>
<xref:Microsoft.SqlServer.Management.Smo.Broker>
<xref:Microsoft.SqlServer.Management.Smo.Mail>
<xref:Microsoft.SqlServer.Management.Dmf>
<xref:Microsoft.SqlServer.Management.Facets>
<xref:Microsoft.SqlServer.Management.RegisteredServers>
<xref:Microsoft.SqlServer.Management.Smo.RegSvrEnum>
Например, укажите Server для класса ServerCollection , Database для класса DatabaseCollection .
@
PropertyName
Указывает имя одного из свойств класса, связанного с объектом, указанным в объекте. Имя свойства должно быть префиксировано символом @. Например, укажите @IsAnsiNull для свойства класса DatabaseIsAnsiNull.
@
BooleanPropertyName=true()
Перечисляет все объекты, в которых указанное логическое свойство имеет значение TRUE.
@
BooleanPropertyName=false()
Перечисляет все объекты, в которых указанное логическое свойство имеет значение FALSE.
contains(@StringPropertyName, PatternString)
Перечисляет все объекты, в которых указанное строковое свойство содержит по крайней мере одно вхождение набора символов, указанного в PatternString.
@
StringPropertyName='PatternString'
Перечисляет все объекты, где значение указанного строкового свойства точно совпадает с шаблоном символов, указанным в PatternString.
@
DatePropertyName= datetime('DateString')
Перечисляет все объекты, в которых значение указанного свойства даты соответствует дате, указанной в dateString.
DateString должен соответствовать формату гггг-mm-dd hh:mi:ss.mmm.
Компонент DateString | Описание |
---|---|
гггг | Год в формате четырёх цифр. |
мм | Двухзначный месяц (от 01 до 12). |
дд | Две цифры даты (01–31). |
Чч | Двухзначный час с использованием 24-часовых часов (01–23). |
миля | Двузначные минуты (от 01 до 59). |
ss | Две цифры секунд (от 01 до 59). |
Ммм | Число миллисекунда (001–999). |
Даты, указанные в этом формате, можно оценить с любым форматом дат, хранящимся в SQL Server.
is_null(@PropertyName)
Перечисляет все объекты, в которых указанное свойство имеет значение NULL.
не(<PropertyExpression>)
Отрицает значение оценки свойства PropertyExpression, перечисляя все объекты, которые не соответствуют условию, указанному в PropertyExpression. Например, not(contains(@Name, xyz)) перечисляет все объекты, которые не имеют строки xyz в их именах.
Замечания
Выражения запросов — это строки, перечисляющие узлы в иерархии модели SMO. Каждый узел имеет выражение фильтра, указывающее критерии определения объектов на этом узле. Выражения запросов моделиируются на языке выражений XPath. Выражения запросов реализуют небольшое подмножество выражений, поддерживаемых XPath, а также имеют некоторые расширения, которые не найдены в XPath. Выражения XPath — это строки, которые указывают набор критериев, используемых для перечисления одного или нескольких тегов в XML-документе. Дополнительные сведения о XPath см. в разделе W3C XPath Language.
Выражения запросов должны начинаться с абсолютной ссылки на объект Server. Относительные выражения с ведущим / не допускаются. Последовательность объектов, указанных в выражении запроса, должна соответствовать иерархии объектов коллекции в связанной объектной модели. Например, выражение запроса, которое ссылается на объекты в пространстве имен Microsoft.SqlServer.Management.Smo, должно начинаться с узла сервера, за которым следует узел базы данных и т. д.
Если параметр< FilterExpression> не указан для объекта, перечисляются все объекты на этом узле.
Универсальные имена ресурсов (URN)
URN — это подмножество выражений запросов. Каждый URN формирует полную ссылку на один объект. Типичный URN использует свойство Name для идентификации одного объекта на каждом узле. Например, этот URN относится к конкретному столбцу:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022']/Table[@Name='SalesPerson' and @Schema='Sales']/Column[@Name='SalesPersonID']
Примеры
А. Перечисление объектов с помощью false()
Это выражение запроса перечисляет все базы данных, у которых атрибут AutoClose имеет значение false в экземпляре по умолчанию в MyComputer.
Server[@Name='MYCOMPUTER']/Database[@AutoClose=false()]
В. Перечисление объектов с помощью содержащихся
Это выражение запроса перечисляет все базы данных, которые регистронезависимы и имеют символ "m" в своем имени.
Server[@Name='MYCOMPUTER']/Database[@CaseSensitive=false() and contains(@Name, 'm')]
С. Перечисление объектов, использующихся не
Это выражение запроса перечисляет все AdventureWorks2022
таблицы, которые не находятся в рабочей схеме, и содержат слово "Журнал" в имени таблицы:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022']/Table[not(@Schema='Production') and contains(@Name, 'History')]
Д. Не предоставляя выражение фильтра для конечного узла
Это выражение запроса перечисляет все столбцы в таблице AdventureWorks2022.Sales.SalesPerson :
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022"]/Table[@Schema='Sales' and @Name='SalesPerson']/Columns
Е. Перечисление объектов с помощью datetime
Это выражение запроса перечисляет все таблицы, созданные в AdventureWorks2022
базе данных в определенное время:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022"]/Table[@CreateDate=datetime('2008-03-21 19:49:32.647')]
F. Перечисление объектов с помощью is_null
Это выражение запроса перечисляет все таблицы в AdventureWorks2022
базе данных, которые не имеют NULL для их свойства последнего изменения даты:
Server[@Name='MYCOMPUTER']/Database[@Name='AdventureWorks2022"]/Table[Not(is_null(@DateLastModified))]