由于"无法创建XML文档,因为服务器内存不足。请使用sp_xml_removedocument 释放XML文档" 问题了解到的内容
出现这个问题当然很明显,是由于我们在使用sp_xml_preparedocument、openxml命令后没有关闭句柄造成的。
但实际我们遇到这种问题的时候需要做的是及时的释放之前已经打开的句柄。
可是现在我们已经没有调用时的句柄变量,所以这里需要有一个
返回有关 sp_xml_preparedocument 已打开的活动句柄的信息。
经查网络上各种搜索终于找到一个系统动态管理函数 sys.dm_exec_xml_handles (session_id | 0 )
使用方法直接在SQLserver 帮助功能的查找处输入该函数名称 或者是MSDN直接搜索
有了这个函数,我们就可以获取到所有已经打开的XML文档句柄.然后通过sp_xml_removedocument 系统存储过程全部释放掉,解决问题。
需要注意的问题: sp_xml_preparedocument该视图只能支持SQL2005 sp3和以上的版本
SQL2005未打过补丁的版本是不支持该视图的

浙公网安备 33010602011771号