同じ問題があります。
興味深いこと:プロジェクトの互換性をSQL Server vNextに切り替えてから、正常に処理タスクを作成し、OKなどの作業を成功させることができます(奇跡です)。展開する。
しかし、同じパッケージにスクリプトタスクがある場合は、他の回避策を試すことができます(実際には現在使用しています)。スクリプトタスクを使用して、 "Analysis Services Execute DDL Task"の変数(この例ではUser :: DimensionsProcessingCommand)を設定します。それは少し複雑な方法ですが、将来は非常に便利です。
public void Main()
{
Boolean tstFire = false;
Microsoft.AnalysisServices.Server myServer = new Microsoft.AnalysisServices.Server();
//Get connection to SSAS database from package
ConnectionManager myConn = Dts.Connections["SSAS"];
//Template for future use
String ProcessingCommandTemplate = "<Batch xmlns=\"http://schemas.microsoft.com/analysisservices/2003/engine\"><Parallel>XXXXXXX</Parallel></Batch>";
String myProcessingCommand = "";
//Array for gathering dimensions w/o duplicates
Dictionary<Dimension, Cube> amoDimDictionary = new Dictionary<Dimension, Cube>();
String myServerName = myConn.ConnectionString;
String myDatabaseName = myConn.Properties["InitialCatalog"].GetValue(myConn).ToString();
//Connect to SSAS server instance
myServer.Connect(myServerName);
Database amoDb = myServer.Databases.FindByName(myDatabaseName);
//Get all dimensions used in cubes
foreach (Cube amoCube in amoDb.Cubes)
{
foreach (CubeDimension amoDimension in amoCube.Dimensions)
{
if (!amoDimDictionary.ContainsKey(amoDimension.Dimension))
{
amoDimDictionary.Add(amoDimension.Dimension, amoCube);
}
}
}
//Start XML capture Dimensions
myServer.CaptureXml = true;
foreach (Dimension amoDimension in amoDimDictionary.Keys)
{
if (amoDimension.State == AnalysisState.Unprocessed)
{
amoDimension.Process(ProcessType.ProcessFull);
}
else
{
amoDimension.Process(ProcessType.ProcessUpdate);
}
}
myServer.CaptureXml = false;
//Build command
foreach (String strXML in myServer.CaptureLog)
{
myProcessingCommand = myProcessingCommand + strXML.ToString();
}
myProcessingCommand = ProcessingCommandTemplate.Replace("XXXXXXX", myProcessingCommand);
Dts.Variables["User::DimensionsProcessingCommand"].Value = myProcessingCommand.ToString();
//Command output to see at runtime from VS 2015
Dts.Events.FireInformation(1, "", Dts.Variables["User::DimensionsProcessingCommand"].Value.ToString(), "", 0, ref tstFire);
P.S. 私たちのDEVマシンはゼロからインストールされています:SQL Server 2016、Visual Studio 2015、SSDT 17.1 SQL Server 2016互換でいくつかのSSISパッケージを開発しようとしていた時、それら。GACはグーグルで行われ、何の結果もなしに前後に調整されます。 14.0 Microsoft DEV環境はとてもバギーで、13.0以下のバージョンを作成しようとするとちょっと壊れてしまったようです。
へ>一般
SQL Server 2016 SSDT 14.0.61705.170 SSIS 14.0.600.250 – VegardKT
もう一度試してみてください。 –