使用 T-SQL 删除 Analysis Services 数据库
Delete Analysis Services database using T-SQL
是否可以使用 T-SQL 修改(删除)SSAS 数据库?
背景:
我们有一个 Web 应用程序可以构建和部署 SQL Analysis Services 数据库和多维数据集,其结构基于用户选择生成的动态查询。这工作正常,但是当这些条件被删除时,我们也需要删除数据库。我可以修改我们构建的 C# dll 以在特定条件下执行删除操作,但我们已经有一个由 DLL 触发的存储过程来删除其他数据库内容,我更愿意添加到此存储过程中以删除分析服务数据库。
据我所知,不能。无法使用 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();
您可以在 SQL 中创建链接服务器以连接到 SSAS:
http://sqlblog.com/blogs/stacia_misner/archive/2010/11/30/31193.aspx
然后使用此处提到的 EXECUTE AT 语法执行删除 XMLA 命令:
http://www.sqlsoldier.com/wp/sqlserver/usingdynamicvaluesinxmla
是否可以使用 T-SQL 修改(删除)SSAS 数据库?
背景:
我们有一个 Web 应用程序可以构建和部署 SQL Analysis Services 数据库和多维数据集,其结构基于用户选择生成的动态查询。这工作正常,但是当这些条件被删除时,我们也需要删除数据库。我可以修改我们构建的 C# dll 以在特定条件下执行删除操作,但我们已经有一个由 DLL 触发的存储过程来删除其他数据库内容,我更愿意添加到此存储过程中以删除分析服务数据库。
据我所知,不能。无法使用 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();
您可以在 SQL 中创建链接服务器以连接到 SSAS: http://sqlblog.com/blogs/stacia_misner/archive/2010/11/30/31193.aspx
然后使用此处提到的 EXECUTE AT 语法执行删除 XMLA 命令: http://www.sqlsoldier.com/wp/sqlserver/usingdynamicvaluesinxmla