SSAS Invoke-ASCmd 创建或更新不创建数据库

SSAS Invoke-ASCmd create or update not creating db

我使用 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 相同模型时,它不会创建数据库。

所以我想通了我的问题。我的 deploymenttargets 文件中的连接字符串有一个初始目录值集。如果目标服务器上不存在此数据库,使用 Invoke-AScmd 和 SSAS 部署向导 CLI 的部署将失败。但是,使用 SSAS 部署向导 GUI 会成功。所以我想造成混淆的原因是同一应用程序的不同行为取决于它是通过 CLI 还是 GUI 调用的。