Invoke-ASCmd

使数据库管理员能够针对 Analysis Services 实例执行 XMLA 脚本、TMSL 脚本、数据分析表达式 (DAX) 查询、多维表达式 (MDX) 查询或数据挖掘扩展插件 (DMX) 语句。

语法

Invoke-ASCmd
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-ASCmd
      [-Database <String>]
      [-Query <String>]
      [-ConnectionString <String>]
      [-QueryTimeout <Int32>]
      [-ConnectionTimeout <Int32>]
      [-TraceFile <String>]
      [-Variables <String[]>]
      [-TraceTimeout <Int32>]
      [-TraceLevel <TraceLevelOption>]
      [-TraceFileFormat <TraceFileFormatOption>]
      [-TraceFileDelimiter <String>]
      [-Server <String>]
      [-Credential <PSCredential>]
      [-ServicePrincipal]
      [-ApplicationId <String>]
      [-TenantId <String>]
      [-CertificateThumbprint <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-ASCmd
      [-Database <String>]
      [-ConnectionString <String>]
      [-InputFile <String>]
      [-QueryTimeout <Int32>]
      [-ConnectionTimeout <Int32>]
      [-TraceFile <String>]
      [-Variables <String[]>]
      [-TraceTimeout <Int32>]
      [-TraceLevel <TraceLevelOption>]
      [-TraceFileFormat <TraceFileFormatOption>]
      [-TraceFileDelimiter <String>]
      [-Server <String>]
      [-Credential <PSCredential>]
      [-ServicePrincipal]
      [-ApplicationId <String>]
      [-TenantId <String>]
      [-CertificateThumbprint <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-ASCmd
      [-Server <String>]
      [-Credential <PSCredential>]
      [-ServicePrincipal]
      [-ApplicationId <String>]
      [-TenantId <String>]
      [-CertificateThumbprint <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-ASCmd
      [-Server <String>]
      [-Credential <PSCredential>]
      [-ServicePrincipal]
      [-ApplicationId <String>]
      [-TenantId <String>]
      [-CertificateThumbprint <String>]
      [-ProgressAction <ActionPreference>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

说明

使数据库管理员能够针对 Analysis Services 实例执行 XMLA 脚本、TMSL 脚本、数据分析表达式 (DAX) 查询、多维表达式 (MDX) 查询或数据挖掘扩展插件 (DMX) 语句。

这些查询或脚本在输入文件中执行的 cmdlet。

传递的脚本是 XMLA 命令,并且支持以下命令:Alter、Backup、Batch、BeginTransaction、Cancel、ClearCache、CommitTransaction、Create、Delete、DesignAggregations、Drop、Insert、Lock、MergePartitions、NotifyTableChange、Process、Restore、RollbackTransaction、Statement(用于执行 MDX 查询和 DMX 语句)、Subscribe、Synchronize、Unlock、Update、UpdateCells。

此脚本还将接受旨在针对兼容模式为 1200 或更高版本的表格数据库执行的 JSON 命令。

Module requirements: version 21+ on PowerShell 5.1; version 21 (recent preview) or version 22+ on PowerShell 7.x.

示例

调用发现

Invoke-ASCmd -Server:localhost -Query "<Discover xmlns='urn:schemas-microsoft-com:xml-analysis'><RequestType>DBSCHEMA_CATALOGS</RequestType><Restrictions /><Properties /></Discover>"

调用发现 2

Invoke-ASCmd -Database "Adventure Works DW 2008R2" -Query "<Discover xmlns='urn:schemas-microsoft-com:xml-analysis'><RequestType>DISCOVER_DATASOURCES</RequestType><Restrictions></Restrictions><Properties></Properties></Discover>"

调用选择

Invoke-ASCmd -Database "Adventure Works DW 2008R2" -Query "SELECT {[Measures].[Internet Sales Amount]} ON COLUMNS, BOTTOMCOUNT(NONEMPTY(DESCENDANTS( [Customer].[Customer Geography].[All Customers], [Customer].[Customer Geography].[Customer]), ( [Measures].[Internet Sales Amount] ) ), 10, ( [Measures].[Internet Sales Amount] )) ON ROWS FROM [Adventure Works] WHERE ( [Date].[Calendar].[Calendar Year].&[2008] )"

调用选择 2

Invoke-ASCmd -Database "Adventure Works DW 2008R2" -Query "SELECT MODEL_CATALOG, MODEL_NAME, ATTRIBUTE_NAME, NODE_NAME FROM [Forecasting].CONTENT"

使用 xmla 文件调用

Invoke-ASCmd -InputFile C:\MyFolder\DiscoverConnections.xmla

<# DiscoverConnections.xmla is as follows:

 <Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
   <RequestType>DISCOVER_CONNECTIONS</RequestType>
   <Restrictions />
   <Properties>
     <PropertyList>
       <Content>Data</Content>
     </PropertyList>
   </Properties>
 </Discover>

#>

参数

-ApplicationId

服务主体的应用程序 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-CertificateThumbprint

服务主体的证书指纹。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Confirm

在运行 cmdlet 之前,提示你进行确认。

类型:SwitchParameter
别名:cf
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ConnectionString

指定连接字符串。

请注意,在指定此属性时,其他连接级别属性(如服务器、数据库等)将被忽略,因此这些属性必须包含在连接字符串中。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ConnectionTimeout

指定与 Analysis Services 实例的连接超时前的秒数。超时值必须是介于 0 和 65534 之间的整数。 如果指定了 0,则连接尝试不会超时。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Credential

如果指定此参数,则传递的用户名和密码将用于连接到指定的 Analysis Server 实例。 如果未指定运行该工具的用户的默认 Windows 帐户,则使用凭据。

类型:PSCredential
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Database

指定要对其执行 MDX 查询或 DMX 语句的数据库。 当 cmdlet 执行 XMLA 脚本时,将忽略数据库参数,因为数据库名称嵌入到 XMLA 脚本中。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InputFile

标识包含 XMLA 脚本、MDX 查询、DMX 语句或 TMSL 脚本(以 JSON 为单位)的文件。 在使用 Invoke-AsCmd 时,必须为 InputFile 或 *Query *参数指定值。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ProgressAction

确定 PowerShell 如何响应脚本、cmdlet 或提供程序生成的进度更新,例如由 Write-Progress cmdlet 生成的进度栏。 Write-Progress cmdlet 创建显示命令状态的进度栏。

类型:ActionPreference
别名:proga
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Query

直接在命令行上指定实际的脚本、查询或语句,而不是在文件中指定。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-QueryTimeout

指定查询超时前的秒数。如果未指定超时值,则查询不会超时。超时必须是介于 1 和 65535 之间的整数。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Server

(可选)指定要连接到的服务器实例(如果当前不在 SQLAS 提供程序目录中)。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServicePrincipal

指定此连接使用服务主体。

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TenantId

服务主体的租户 ID。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TraceFile

标识在执行 XMLA 脚本、MDX 查询或 DMX 语句时接收 Analysis Services 跟踪事件的文件。 如果文件已存在,则会自动覆盖该文件(使用 -TraceLevel:Duration 和 -TraceLevel:DurationResult 参数设置创建的跟踪文件除外)。

包含空格的文件名必须用引号(“)括起来。

如果文件名无效,则会生成错误消息。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TraceFileDelimiter

将 csv 指定为使用 -TraceFileFormat 参数的跟踪文件的格式时,将单个字符指定为跟踪文件分隔符。

默认值为 |(管道或垂直条)。

类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TraceFileFormat

指定 -TraceFile 参数的文件格式(如果指定此参数)。

默认值为“Csv”。

类型:TraceFileFormatOption
接受的值:Csv, Text
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TraceLevel

指定在跟踪文件中收集和记录哪些数据。 可能的值为 High、Medium、Low、Duration、DurationResult。

类型:TraceLevelOption
接受的值:High, Medium, Low, Duration, DurationResult
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TraceTimeout

指定 Analysis Services 引擎在结束跟踪之前等待的秒数(如果指定 -TraceFile 参数)。

如果在指定时间段内未记录任何跟踪消息,则跟踪被视为已完成。

默认跟踪超时值为 5 秒。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Variables

指定其他脚本变量。 每个变量都是一个名称-值对。 如果值包含嵌入空格或控制字符,则必须用双引号括起来。 使用 PowerShell 数组指定多个变量及其值。

类型:String[]
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

输入

PSObject

输出

string

备注

在所有 Analysis Services 实例(包括 PowerBI Premium)上受支持