Invoke-ASCmd

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

语法

Invoke-ASCmd
      [-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>]
      [-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>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-ASCmd
      [-Server <String>]
      [-Credential <PSCredential>]
      [-ServicePrincipal]
      [-ApplicationId <String>]
      [-TenantId <String>]
      [-CertificateThumbprint <String>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Invoke-ASCmd
      [-Server <String>]
      [-Credential <PSCredential>]
      [-ServicePrincipal]
      [-ApplicationId <String>]
      [-TenantId <String>]
      [-CertificateThumbprint <String>]
      [-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>"

调用 select

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] )"

调用 select 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。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-CertificateThumbprint

服务主体的证书指纹。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

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

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionString

指定连接字符串。

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConnectionTimeout

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

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

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Database

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputFile

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Query

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-QueryTimeout

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

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Server

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

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServicePrincipal

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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TenantId

服务主体的租户 ID。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TraceFile

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

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

如果文件名无效,将生成一个错误消息。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TraceFileDelimiter

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

默认值为 |(竖线)。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TraceFileFormat

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

默认值为“Csv”。

Type:TraceFileFormatOption
Accepted values:Csv, Text
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TraceLevel

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

Type:TraceLevelOption
Accepted values:High, Medium, Low, Duration, DurationResult
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TraceTimeout

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

如果在指定时间段没有记录跟踪消息,则认为跟踪已完成。

默认跟踪超时值为 5 秒。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Variables

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

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

PSObject

输出

string

备注

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