如何将SQLCMD与Windows身份验证(-E,)一起使用但没有提升权限

时间:2015-10-23 15:14:58

标签: sql windows ssms sqlcmd

我要创建一个脚本来执行大量的SQL文件。我选择使用SQLCMD而不是ADODB,因为它快速提供日志信息,我们正在执行T-SQL。我正在测试SQLCMD.exe ,然后再将其放入脚本

使用SQLCMD.exe连接到数据库,我使用-E进行Windows身份验证。这意味着我需要使用我的网络帐户,该帐户在任何给定的计算机上都没有提升访问权限。但是,SQLCMD.exe需要提升访问才能执行查询,否则我收到以下错误:

  

Sqlcmd:错误:打开或操作文件时出错(原因:访问被拒绝)。

运行以下命令后:

sqlcmd.exe -S <SQLSERVER,PORT> -d <DATABASE> -i scriptfile.sql -o scriptfile.log -E

如何利用提升的本地权限(管理员)使用SQLCMD.exe,但使用Windows身份验证连接到服务器(使用非管理员帐户)?我不想更改SQLCMD.exe的任何权限,因为可能有多个人使用此脚本,我并不热衷于通知他们此先前的说明。

1 个答案:

答案 0 :(得分:1)

您在测试时运行命令的路径是什么?运行该命令的非管理员是否有权从scriptfile.sql读取并有权写入scriptfile.log?大多数命令通常默认为当前工作目录。