【问题标题】:Delete Analysis Services database using T-SQL使用 T-SQL 删除 Analysis Services 数据库
【发布时间】:2015-07-24 09:14:52
【问题描述】:

是否可以使用 T-SQL 修改(删除)SSAS 数据库?

背景:

我们有一个 Web 应用程序,它构建和部署 SQL Analysis Services 数据库和多维数据集,其结构基于用户选择生成的动态查询。这工作正常,但是当这些条件被删除时,我们也需要删除数据库。我可以修改我们构建的 C# dll 以在某些条件下执行删除,但我们已经有一个由 DLL 触发的存储过程以删除其他数据库内容,我更愿意添加到此存储过程中以删除分析服务数据库。

【问题讨论】:

    标签: c# asp.net sql-server tsql ssas


    【解决方案1】:

    据我所知,不可以。无法使用 TSQL 修改或删除 SSAS 数据库。使用 XMLA 可能是可能的。但是,就我个人而言,我会为此使用 PowerShell:

    [Reflection.Assembly]::Load("Microsoft.AnalysisServices, Version=12.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91, processorArchitecture=MSIL");
    
    $amo = New-Object Microsoft.AnalysisServices.Server;
    $amo.Connect("data source=localhost");
    
    $amo.Databases["yourASdb"].Drop();
    

    【讨论】:

      【解决方案2】:

      您可以在 SQL 中创建链接服务器以连接到 SSAS: http://sqlblog.com/blogs/stacia_misner/archive/2010/11/30/31193.aspx

      然后使用此处提到的 EXECUTE AT 语法来执行您的 Delete XMLA 命令: http://www.sqlsoldier.com/wp/sqlserver/usingdynamicvaluesinxmla

      【讨论】:

      • 虽然我最终在 DLL 中进行了更改,但此解决方案允许我在 SQL 中运行“更新”。
      猜你喜欢
      • 2014-03-10
      • 1970-01-01
      • 2019-11-10
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多