Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何释放SQL Server中用于解析XML字段的内存_Sql Server_Xml_Tsql_Xml Parsing - Fatal编程技术网

Sql server 如何释放SQL Server中用于解析XML字段的内存

Sql server 如何释放SQL Server中用于解析XML字段的内存,sql-server,xml,tsql,xml-parsing,Sql Server,Xml,Tsql,Xml Parsing,我使用存储过程sp\u XML\u preparedocument打开了许多大型XML,我关闭了SSMS上的选项卡,而没有调用sp\u XML\u removedocument来释放内存 因此,现在当我尝试使用以下代码解析另一个XML时: EXEC sp_xml_preparedocument @idoc OUTPUT, @result 我得到这个错误: 由于服务器内存不足,无法创建XML文档。使用sp_xml_removedocument发布xml文档 但是,既然我没有存储句柄,那么如何释放

我使用存储过程
sp\u XML\u preparedocument
打开了许多大型XML,我关闭了SSMS上的选项卡,而没有调用
sp\u XML\u removedocument
来释放内存

因此,现在当我尝试使用以下代码解析另一个XML时:

EXEC sp_xml_preparedocument @idoc OUTPUT, @result
我得到这个错误:

由于服务器内存不足,无法创建XML文档。使用sp_xml_removedocument发布xml文档

但是,既然我没有存储句柄,那么如何释放打开的XML所持有的内存呢?会话已关闭,我无法再获得句柄


另外,如果您调用
sp\u xml\u preparedocument
并忘记使用
sp\u xml\u removedocument
关闭它,我无法相信该文件将永远留在内部缓存中。这是真的吗?

看来解决这个问题的唯一办法就是重新启动服务器。错误
重新启动后消失。

似乎解决此问题的唯一方法是重新启动服务器。错误
重新启动后消失。

用于检索句柄。@HABO谢谢!但我发现,即使我使用0作为参数,它也不会返回任何结果。只有在同一选项卡中执行sp时,我才能检索打开的XML。我必须承认,我对此一无所知。。。原因可能是,这种方法已经过时15年了。。。XML支持是在v2000中引入的,基本的XQuery方法在v2005中发挥了作用。从那时起,推荐的方法是。您可以使用计数循环来调用带有任意数字的
sp\u xml\u removedocument
。。。如果可能的话,也可以重新启动系统。有趣的事实:我刚刚用谷歌搜索了sql server,从服务器内存中删除了xml文档。它返回两个建议:计数循环和服务器重启:-)@Shnugo感谢您的回答,服务器正在生产中,因此我们无法轻松重启它。循环解决方案似乎很实用,但我认为句柄在会话中可能不是唯一的。无论如何,我会试试这个解决方案。谢谢用于检索句柄。@HABO谢谢!但我发现,即使我使用0作为参数,它也不会返回任何结果。只有在同一选项卡中执行sp时,我才能检索打开的XML。我必须承认,我对此一无所知。。。原因可能是,这种方法已经过时15年了。。。XML支持是在v2000中引入的,基本的XQuery方法在v2005中发挥了作用。从那时起,推荐的方法是。您可以使用计数循环来调用带有任意数字的
sp\u xml\u removedocument
。。。如果可能的话,也可以重新启动系统。有趣的事实:我刚刚用谷歌搜索了sql server,从服务器内存中删除了xml文档。它返回两个建议:计数循环和服务器重启:-)@Shnugo感谢您的回答,服务器正在生产中,因此我们无法轻松重启它。循环解决方案似乎很实用,但我认为句柄在会话中可能不是唯一的。无论如何,我会试试这个解决方案。谢谢