我已经使用ssas部署向导来生成xmla json。 json就是这样
{"sequence": {"operations": [{
"createOrReplace": {
"object": {
"database": "devopstest"
},
"database": {
"name": "devops test",
"compatibilityLevel": 1400,
"model": {
"culture": "en-US",
"dataSources": [
...
但是,当我尝试通过Invoke-ASCmd -ConnectionString $constr -InputFile $inputFilePath -Server $server -ServicePrincipal
进行部署时,出现以下错误
Either the user, '<pii>useraccount</pii>', does not have access to the 'devops test' database, or the database does not exist.
错误指出该数据库不存在,但是否应该创建该数据库?此xmla json是由部署向导通过UI和CLI生成的。我首先尝试通过CLI进行部署,但得到了相同的结果。如果我通过SSAS部署向导UI运行模型,则会创建数据库。那么为什么当我通过相同exe的CLI或Invoke-ASCmd
运行相同模型时却无法创建数据库。
答案 0 :(得分:0)
所以我想出了我的问题。我的deploymenttargets
文件中的连接字符串设置了初始目录值。如果目标服务器上不存在该数据库,则使用Invoke-AScmd
和SSAS部署向导CLI的部署将失败。但是,使用SSAS部署向导GUI将成功。因此,我猜想造成混乱的原因是同一应用程序的不同行为,取决于它是通过CLI还是GUI调用的。