【问题标题】:MSSQL Service broker activation "Execute as SELF"MSSQL 服务代理激活“作为 SELF 执行”
【发布时间】:2009-02-13 09:10:08
【问题描述】:

我有一个服务代理激活的存储过程,在管理工作室中执行时运行良好。但是,当它在队列上被激活时,sql server 错误日志显示以下消息:

"The activated proc [dbo].[FileUploadAsyncWorker] running on queue
AsyncProcessing.dbo.FileUploadRequestQueue output the following:  'You do not have
permission to use the bulk load statement."

我认为 FileUploadAsyncWorker 中的“违规”语句是: 插入 FileContent(文件名,内容) 选择@文件名,内容 来自 openrowset(批量...

我如何知道存储过程在哪个用户帐户下运行?

【问题讨论】:

    标签: sql service-broker


    【解决方案1】:

    让存储过程将用户名插入到表中:

    CREATE TABLE mytemptable (username varchar(max))    
    INSERT INTO [MyTempTable] SELECT user
    

    我的猜测是 SP 将作为 SQL Server 服务帐户运行。

    您还可以使用 SQL Profiler 找出正在执行您的 sp 的帐户。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-04-12
      • 2017-11-14
      • 1970-01-01
      • 2019-07-26
      • 2018-11-29
      • 1970-01-01
      • 2020-05-21
      相关资源
      最近更新 更多