查询/粉碎大型xml文档到sql server中

时间:2013-08-31 03:57:40

标签: sql-server xml tsql

我正在查询超过80GB的xml文件(并将结果插入到预先存在的数据库中)。这使我无法简单地将其声明为xml变量并使用openrowset。我不打算使用CLR,如果可能的话,更愿意使用完全TSQL方法(希望在SQL Server 2012 / Windows Server 2008上执行此操作)

对XML数据类型的2Gb限制,我意识到显而易见的方法是将文件拆分为1GB块。然而,它只是太杂乱而不值得(文档中的元素具有不同的大小,并且并非所有元素都具有相同的子元素。但是只考虑保留一些共同元素。)

有人有建议吗?

2 个答案:

答案 0 :(得分:0)

如果是一次性的话,我会使用SQL导入/导出工具。如果需要安排的内容创建Integration Services包。

答案 1 :(得分:0)

使用简单的架构(抱歉,应该已经提到过),批量cmds可能就是这样。有了更麻烦的东西,并且考虑到文件的大小,SAX解析器似乎提供了更好的解决方案。读取文件而不将其放入内存中,我只能选择我想要的元素,而不必担心模式。