У меня есть .bat-файл, который запускает sqlcmd и запускает скрипт .sql. Когда я запускаю его вручную через пользователя, Jenkins Service работает под всем работает отлично. Но когда Jenkins запускает задание для выполнения того же .bat-файла, я получаю логин неудачно.Почему мой sqlcmd .bat терпит неудачу из-за входа в систему Jenkins, но не при запуске вручную?
Я бегу .bat через Jenkins, как это:
C:\MasterFiles\ListingsManagement\LH.bat > batResults.txt
.bat выглядит следующим образом:
sqlcmd -S <Server> -E -i C:\MasterFiles\ListingsManagement\test.sql
-o C:\MasterFiles\ListingsManagement\results.txt
и при запуске через Jenkins сообщение об ошибке:
Sqlcmd: Error: Microsoft SQL Server Native Client 11.0 : Login failed for user '<domain>\svc_jenkins'..
Имя сервера и доменное имя целенаправленно удалены.
Sql - 2014 Enterprise, а Jenkins - 1,645, и все это работает на Windows 7 vm.
Когда вы запускаете его вручную, вы делаете это в кластере SQL? Предположительно, когда вы проходите через Дженкинса, он запускается с другой машины. – RGuggisberg
Вместо использования -E (надежное соединение) вы можете попробовать указать имя пользователя и пароль и запустить его через Jenkins. Я думаю, что ваши учетные данные не совпадают. ** sqlcmd -S -U имя пользователя -P пароль -i C: \ MasterFiles \ ListingsManagement \ test.sql ** –
-U -P не работает с учетными данными домена, и наш администратор базы данных не будет добавлять локального пользователя. Я перезапустил службу Jenkins и начал работать. Это не имеет смысла ... Stupid technology :) –