还原后,AMO数据库对象不会刷新

时间:2016-02-03 21:31:42

标签: c# database ssas olap-cube

amoServer.Restore(abfFile, db.Name, true);
amoServer.Databases.GetByName(db.Name).LastUpdate = db.LastUpdate;

我正在将一个SSAS数据库从一个服务器复制到另一个服务器。由于数据库正在恢复,因此最后一次更新已设置...所以我想将其更改回来。但是,似乎数据库的集合永远不会使用新数据库进行更新。我在通话前尝试了.Refresh().Update(),但我仍然收到错误

  

Microsoft.AnalysisServices.AmoException:'Name'=''   该集合中不存在“SomeReallyLongName”。

以前有人这么做过吗?

1 个答案:

答案 0 :(得分:2)

试试这个:

amoServer.Restore(abfFile, db.Name, true);
amoServer.Refresh(true, RefreshType.LoadedObjectsOnly);
Database dbRestore = amoServer.Databases.GetByName(db.Name);
dbRestore.LastUpdate = db.LastUpdate;
dbRestore.Update();

我不确定设置LastUpdate是否会像您希望的那样工作,但我怀疑您必须执行.Update()来保存更改。