SQLSERVER2008中的代理中的作业怎么设置调用.bat文件

Jasenhua1 2017-11-03 02:17:48
就是作业来自动调用.bat文件
...全文
794 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jasenhua1 2017-11-06
  • 打赏
  • 举报
回复
引用 15 楼 yenange 的回复:
代理服务的登录账户是哪一个?
我已经处理好了,是因为我没在下面的POWershell新建代理,新建了之后运行身份选择他就行了,谢谢你了美女,同时也谢谢帮助我的人
Jasenhua1 2017-11-06
  • 打赏
  • 举报
回复
引用 15 楼 yenange 的回复:
代理服务的登录账户是哪一个?
登录用户和所有者都是SA,可是以NETWORK SERVER 的身份执行
Jasenhua1 2017-11-06
  • 打赏
  • 举报
回复
引用 15 楼 yenange 的回复:
代理服务的登录账户是哪一个?
sa
吉普赛的歌 版主 2017-11-06
  • 打赏
  • 举报
回复
我在#13 下面的那个图片
Jasenhua1 2017-11-06
  • 打赏
  • 举报
回复
引用 12 楼 ch21st 的回复:
我所有者选的是sa,可是看log还是说以NETWORK SERVER 的身份执行,错误信息拒绝访问,也是显示这错误
吉普赛的歌 版主 2017-11-06
  • 打赏
  • 举报
回复
代理服务的登录账户是哪一个?
Jasenhua1 2017-11-06
  • 打赏
  • 举报
回复
引用 11 楼 ap0405140 的回复:
请问D:\SQL\backup.bat文件的内容是实现备份的脚本吗? 如是,为何不之间用SQL的backup命令呢.
不是,内容是一些批处理命令,目的是调用cognos报表
Jasenhua1 2017-11-06
  • 打赏
  • 举报
回复
引用 10 楼 yenange 的回复:
[quote=引用 8 楼 qq_35392117 的回复:] [quote=引用 7 楼 yenange 的回复:] 没事就结贴吧
。。。还没解决,我用你的例子试了,log提示访问受限,我给两个文件都权限设为最大,都不行[/quote] 关键是你运行作业的用户的权限要是最大权限(sa禁用了也可以的)。 再不行的话, 代理服务的权限设置为本地系统账户看看。 [/quote] 我所有者选的是sa,可是看log还是说以NETWORK SERVER 的身份执行,错误信息拒绝访问
道素 2017-11-03
  • 打赏
  • 举报
回复
唐诗三百首 2017-11-03
  • 打赏
  • 举报
回复
请问D:\SQL\backup.bat文件的内容是实现备份的脚本吗? 如是,为何不之间用SQL的backup命令呢.
吉普赛的歌 版主 2017-11-03
  • 打赏
  • 举报
回复
引用 8 楼 qq_35392117 的回复:
[quote=引用 7 楼 yenange 的回复:]
没事就结贴吧

。。。还没解决,我用你的例子试了,log提示访问受限,我给两个文件都权限设为最大,都不行[/quote]
关键是你运行作业的用户的权限要是最大权限(sa禁用了也可以的)。


再不行的话, 代理服务的权限设置为本地系统账户看看。
RINK_1 2017-11-03
  • 打赏
  • 举报
回复
引用 3 楼 qq_35392117 的回复:
[quote=引用 1 楼 z10843087 的回复:] 这个问题其实主要是怎么用代码执行BAT文件,可以用 exec xp_cmdshell 'd:\xx.bat' 然后在作业里面执行这个代码就可以。
现在我用exec master..xp_cmdshell 'D:\SQL\backup.bat'语句执行成功了,可是对应的log文件时间还是没变,应该是我成功的时间才对啊[/quote] 你先不要用SQL的作业去调用这个批处理文件运行,直接用系统管理员打开cmd命令行界面运行这个批处理试试。如果能运行成功,那就是SQL调用批处理时权限不够,你看看SQL服务和SQL代理服务的启动账户是哪个。如果cmd命令行下直接运行也不行,那估计是你这个批处理文件本身有问题。
Jasenhua1 2017-11-03
  • 打赏
  • 举报
回复
引用 7 楼 yenange 的回复:
没事就结贴吧
。。。还没解决,我用你的例子试了,log提示访问受限,我给两个文件都权限设为最大,都不行
吉普赛的歌 版主 2017-11-03
  • 打赏
  • 举报
回复
没事就结贴吧
吉普赛的歌 版主 2017-11-03
  • 打赏
  • 举报
回复
引用 4 楼 qq_35392117 的回复:
[quote=引用 2 楼 yenange 的回复:] .bat 最好是用Windows的计划任务来调度。 用作业也可以实现, 但最好不要用 xp_cmdshell , 有风险。 可用用作业的步骤中用powershell脚本
现在我的需求就是要用代理里面的作业实现,你说的powershell脚本能写下具体步骤吗?调用F盘路径下的.bat作业[/quote] http://blog.csdn.net/yenange/article/details/78436083
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
引用 3 楼 qq_35392117 的回复:
[quote=引用 1 楼 z10843087 的回复:] 这个问题其实主要是怎么用代码执行BAT文件,可以用 exec xp_cmdshell 'd:\xx.bat' 然后在作业里面执行这个代码就可以。
现在我用exec master..xp_cmdshell 'D:\SQL\backup.bat'语句执行成功了,可是对应的log文件时间还是没变,应该是我成功的时间才对啊[/quote] 可能跟权限有关,你先在bat里面写一个简单语句,验证下bat是否正常的调用
Jasenhua1 2017-11-03
  • 打赏
  • 举报
回复
引用 2 楼 yenange 的回复:
.bat 最好是用Windows的计划任务来调度。 用作业也可以实现, 但最好不要用 xp_cmdshell , 有风险。 可用用作业的步骤中用powershell脚本
现在我的需求就是要用代理里面的作业实现,你说的powershell脚本能写下具体步骤吗?调用F盘路径下的.bat作业
Jasenhua1 2017-11-03
  • 打赏
  • 举报
回复
引用 1 楼 z10843087 的回复:
这个问题其实主要是怎么用代码执行BAT文件,可以用 exec xp_cmdshell 'd:\xx.bat' 然后在作业里面执行这个代码就可以。
现在我用exec master..xp_cmdshell 'D:\SQL\backup.bat'语句执行成功了,可是对应的log文件时间还是没变,应该是我成功的时间才对啊
吉普赛的歌 版主 2017-11-03
  • 打赏
  • 举报
回复
.bat 最好是用Windows的计划任务来调度。 用作业也可以实现, 但最好不要用 xp_cmdshell , 有风险。 可用用作业的步骤中用powershell脚本
OwenZeng_DBA 2017-11-03
  • 打赏
  • 举报
回复
这个问题其实主要是怎么用代码执行BAT文件,可以用 exec xp_cmdshell 'd:\xx.bat' 然后在作业里面执行这个代码就可以。

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧