sql2008同一服务器附加两个数据库 db1 和db2
db1中建一表A,和一个存储过程A
db2中建有一表B,表B上有一个触发器(insert 触发),和一个存储过程B.我用管理员sa 用户登录,执行存储过程B,向表B中写入一条数据,在B表的触发器中调用数据库db1中的存储过程A,
触发器中的调用格式为:
exec db1.dbo.A 参数1,参数2,....结果出现
消息 916,级别 14,状态 1,过程 TRGDetialsData,第 47 行
服务器主体 "sa" 无法在当前安全上下文下访问数据库 "db1"。我的sa用户已经是最高权限了,为什么还有这个提示到底如何在触发器中调用另外一个数据库(同一服务器)中的存储过程
db1中建一表A,和一个存储过程A
db2中建有一表B,表B上有一个触发器(insert 触发),和一个存储过程B.我用管理员sa 用户登录,执行存储过程B,向表B中写入一条数据,在B表的触发器中调用数据库db1中的存储过程A,
触发器中的调用格式为:
exec db1.dbo.A 参数1,参数2,....结果出现
消息 916,级别 14,状态 1,过程 TRGDetialsData,第 47 行
服务器主体 "sa" 无法在当前安全上下文下访问数据库 "db1"。我的sa用户已经是最高权限了,为什么还有这个提示到底如何在触发器中调用另外一个数据库(同一服务器)中的存储过程
解决方案 »
- 求一个论坛帖子排序sql语句
- 关于excel中Listview控件字符显示问题
- ODBC连接SQL SERVER出错
- 修改操作系统管理员密码后SQLSERVER不能启动问题
- 怎么样用一条语句把今天发布贴子超过10的用户列出来??在线等!!
- 递归表查询不构成死循环语句
- 请问在SQL数据库里面如何插入带有'A'的字段 在线等
- 这样的查询语句(LEFT JOIN ON )是不是不能修改??????
- 急!用ASP将EXCEL数据转为SQL数据的错误
- 请教:如何正确使用identity的NOT FOR REPLICATION属性?
- 在级别Configuration 上无法解析urn
- vs2010负载测试 不能打开负载测试结果数据库???
ALTER DATABASE db2 SET TRUSTWORTHY ON
在 master 数据库中记录的数据库所有者 SID 与在数据库 'db2' 中记录的数据库所有者 SID 不同。应该通过使用 ALTER AUTHORIZATION 语句重置数据库 'db2' 的所有者来更正此情况。又出现了这个问题噻
ALTER AUTHORIZATION ON DATABASE::db2 TO [sa]
select * from db2..sysusers where [name] = 'dbo'以上可以看到你的两个dbo的sid可能不同,这种情况在导入数据库时很常见。不过不建议你使用sa作为你的实际用户。解决方法请参考 (英文):
http://stackoverflow.com/questions/3837841/running-trigger-that-calls-stored-procedure-on-another-database