【问题标题】:Powershell SQL commands through Invoke-AzVMRunCommand通过 Invoke-AzVMRunCommand 执行 Powershell SQL 命令
【发布时间】:2022-07-07 20:38:12
【问题描述】:

我有一个执行 SQL 备份和恢复的脚本。它适用于 MSSQL 2014 标准和 MSSQL 2019 标准。 我在 powershell 中使用 SQLserver 模块或 DBATools 模块。

当我在本地执行脚本时,它会成功创建 SQL 凭据并备份数据库

但是,我必须从另一台服务器远程触发该备份。

我使用 Invoke-AzVmRunCommand。

当我执行脚本时,它成功地将目录更改为 SQLSERVER:\SQL$env:COMPUTERNAME\DEFAULT 然后在脚本中涉及 SQL 的任何函数处,它都会失败。 没有具体错误,只是:无法创建凭据或备份和还原数据库

【问题讨论】:

    标签: sql remote-server invoke-command


    【解决方案1】:

    在远程执行的脚本中,如果我们在powershell中打印命令whoami,运行powershell会话的用户将是NTAuthority\System。

    为了能够执行任何与 SQL 服务器相关的 powershell 命令,登录到服务器,打开 SQL Management Studio,展开 Security->Logins 并为 NTAUTHORITY\System 帐户提供 sysadmin 角色。

    【讨论】:

      猜你喜欢
      • 2011-09-19
      • 2015-04-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多