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)上受支持