0

我想使用 Invoke-ASCmd 将 MDX 结果集导入 Powershell。

Import-Module SQLPS -DisableNameChecking
Import-Module SQLASCMDLETS

Push-Location SQLSERVER:\SQLAS\$ServerInstance\Default\Databases\$Database\Cubes\

$result = Invoke-ASCmd -Database $Database -Query $Query

Pop-Location

它失败了System.OutOfMemoryException

  • 相同的 MDX 查询在 SQL Server Management Studio 中运行良好。
  • 仍然有很多可用的 RAM。
  • Powershell 在 64 位模式下运行。
  • MaxMemoryPerShellMB 增加。
  • 我正在使用 SQL Server 2016 和 Powershell 4

如何使用 Powershell 从 SQL Server Analysis Services 导入大型数据集?

4

1 回答 1

0

我找到了一个解决方法:

如果将链接服务器添加到 SSAS 多维数据集的 SQL Server,则可以在 SQL 中执行它。

Invoke-Sqlcmd `
    -ServerInstance $ServerInstance `
    -Query "SELECT * FROM OpenQuery([SSAS_LinkedServer],'$( $query.Replace("'", "''" ) )')"
于 2018-10-29T08:03:35.947 回答