我想从Windows服务器上的Chef cookbook运行以下MSSQL命令。
update RP2.rp2.USR02 SET UFLAG='0' WHERE BNAME='DDIC' AND MANDT='001'
如果我从命令提示符运行chef-client,它会更新数据库。但是我希望这可以工作,当我运行Chef服务而不是直接从命令提示符运行chef-client时,这不起作用。我试过下面的代码
path = File.join('D:', 'Program Files', 'Microsoft SQL Server', '110', 'Tools', 'Binn')
execute 'run_sql_update_db' do
cwd path
command "SQLCMD.EXE -Q \"UPDATE RP2.rp2.USR02 SET UFLAG='0' WHERE BNAME='DDIC' AND MANDT='001';"
end
这没有显示任何错误。
我也试过过.sql脚本。在我试过的代码下面
execute 'run_sql_update_db' do
cwd path
command "SQLCMD.EXE -i D:\\TEMP\\update_db.sql"
end
update_db.sql具有以下内容
update RP2.rp2.USR02 SET UFLAG='0' WHERE BNAME='DDIC' AND MANDT='001'
请帮忙。
答案 0 :(得分:0)
令牌回答,以便将其标记为已解决。
用户必须将Chef设置为日志级别调试(chef-client -l debug
),然后才能看到命令中存在错误。