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>]
Description
可讓資料庫管理員針對 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。
此腳本也會接受 JSON 命令,其設計目的是針對相容性模式為 1200 或更高版本的表格式資料庫執行。
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
服務主體的應用程式識別碼。
類型: | 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
指定連接字串。
請注意,指定這個屬性時,會忽略其他連接層級屬性,例如Server、Database 等,因此這些屬性必須包含在連接字串中。
類型: | 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
服務主體的租用戶標識碼。
類型: | 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