小弟现在遇到一个问题, 就是在两台电脑上, 有两个MSSQL的服务器,分别为A, B 现在需要做一个作业,把A中的表tableA 中的数据,插入到B数据库中的 tableB中,已在B中做了连接服务器, 现在在B中做了个存储过程:create proc sp_synchronization2
as
begin tran insert into tableB(hrcode ,hrname) -- delete from hrgeneral_test
select employee_no,employee_name
from xh02.xfhr.dbo.tableA
where isnull(replyn,0)=0commit tran在查询分析器中执行是没有问题, 但建立作业,运行作业后提示:作业失败。 用户 sa 唤醒调用了该作业。最后运行的步骤是第 1 步
as
begin tran insert into tableB(hrcode ,hrname) -- delete from hrgeneral_test
select employee_no,employee_name
from xh02.xfhr.dbo.tableA
where isnull(replyn,0)=0commit tran在查询分析器中执行是没有问题, 但建立作业,运行作业后提示:作业失败。 用户 sa 唤醒调用了该作业。最后运行的步骤是第 1 步
解决方案 »
- 插入子查询记录到选课表时候,成绩置为0
- 求组,sql求最大值
- ++++寻求SqlServer专换成Access后 Sqlserver 的自增ID 在Access中不变,自增ID依然存在 的解决方法++++
- create table语句中的两个".."是什么意思啊?
- 在已有的存储查询语句里增加一个条件问题
- 字段不能有重复数据问题?(30分)
- win2000sever+sp4安装sqlserver2000失败(在线急等救命)
- 请问一个关于锁的问题!!!!!!!
- 请问我使用backup备份的MSSQL数据库备份的文件(如abc.dat)为什么在硬盘上找不到?我如何将它copy到别的机器上再恢复?
- 水平有限,真被搞晕了,两个关系表之间的检测
- 怎麼判斷procedure是否存在
- 禁用作业的系统存储过程或者SQL命令是什么
asSET XACT_ABORT ONBEGIN DISTRIBUTED TRANSACTION insert into tableB(hrcode ,hrname) -- delete from hrgeneral_test
select employee_no,employee_name
from xh02.xfhr.dbo.tableA
where isnull(replyn,0)=0commit tranSET XACT_ABORT OFF
如果是本地账户或者是Network Service之类的本地权限账户启动的sql agent调用job,
是无法在B机器上获得读取数据的权限的.
建议修改成一个域帐户,并且这个域帐户可以访问相应的数据库资源.
-----------------------------------------------
1.在B机器上检查SQL Agent服务的启动账户.
run --> services.msc --> SQL Server Agent (MSSQLSERVER) -->
如果在log on页的账户是Local System Account 或者 NT AUTHORITY\NetworkService 等帐户,
修改成一个 domain\youraccount 之类的域帐户,2. 在A机上将domain\youraccount 账户添加到sql server数据库的访问组.3. 在B机上通过Job调用SP再试试.