首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >为什么我看到sp_OACreate,sp_OASetProperty in sp_WhoIsActive?

为什么我看到sp_OACreate,sp_OASetProperty in sp_WhoIsActive?
EN

Database Administration用户
提问于 2012-05-01 20:44:46
回答 1查看 1.9K关注 0票数 1

我见过这种情况发生过几次: sp_WhoIsActive用我的用户名显示了各种sp_OA%脚本,但我肯定不会直接运行它们。这是否反映了某种查询重写过程?它似乎与跨远程服务器的查询相关。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2012-05-01 21:02:38

您是否在系统目录中搜索可能正在调用它们的存储过程?在DBs中,您可以看到以下内容:

代码语言:javascript
运行
复制
SELECT OBJECT_NAME([object_id]), definition
   FROM sys.sql_modules
   WHERE definition LIKE '%sp[_]OA%';

要同时对所有数据库执行此操作,请执行以下操作:

代码语言:javascript
运行
复制
DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql += CHAR(13) + CHAR(10) 
   + 'SELECT ''' + name + ''', o.name, m.definition
   FROM ' + QUOTENAME(name) + '.sys.objects AS o
   INNER JOIN ' + QUOTENAME(name) + '.sys.sql_modules AS m
   ON o.[object_id] = m.[object_id]
   WHERE m.definition LIKE ''%sp[_]OA%'';'
FROM sys.databases;

EXEC sp_executesql @sql;

还可以检查作业步骤。

代码语言:javascript
运行
复制
SELECT j.name, s.step_name, command
   FROM msdb.dbo.sysjobsteps AS s
   INNER JOIN msdb.dbo.sysjobs AS j
   ON s.job_id = j.job_id
   WHERE s.command LIKE '%sp_OA%';

如果您在那里找不到任何东西,您将需要运行服务器端跟踪,因为它必须来自特定批处理。

票数 4
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/17322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档