我正在创建一个PowerShell脚本,用于将数据从SQL Server数据库迁移到SharePoint 2010列表中。我必须从数据库中读取500,000多条记录,对其执行一些操作,然后将其导入各种SharePoint列表。我可以得到这个工作,但基本上我正在寻找最快的方式将这些数据导入SharePoint。从SQL Server将数据导入SharePoint 2010
我已经尝试使用SharePoint API直接添加和更新列表项,但是我将其留在晚上运行,并且它在早上还没有完成。
我也尝试使用lists.asmx web服务为每个项目上传预生成的XML,但是这种方法似乎并不特别快。为此,将XML分解成批以避免超时Web服务请求。我尝试使用异步Web服务请求上传批处理,但基本上杀死了SharePoint网站,所以现在我只使用同步请求,这也是很慢的。
有关如何从SQL Server读取,转换数据并将其添加到SharePoint列表的任何建议?
加成
当从数据库项目的操纵插入到SharePoint列表,这导致要插入771900个别列表项。
您是否检查每分钟处理多少条记录? SharePoint没有内置的批量加载功能,其数据库结构在性能方面非常糟糕,并且您已经从多个不同角度处理了这个问题,因此我认为您需要很长时间才能获得显着收益。如果您知道流程的当前速度,则可以估算需要多少时间,并决定是否值得对其进行优化。 –
不幸的是,很多时间并不是我所拥有的。根据到目前为止所花费的平均时间,插入到sharepoint的每分钟项目是432.我已经推断出这个计算总运行时间为29-30小时(!!!!!!)。 – Jason
源数据库和SP位于不同的计算机上,但此时我不再与源进行交互 - 只需上传已从本地计算机上生成的XML(所有XML文件均<200kb)即可。 SharePoint机器目前占用CPU的90%以上和RAM的80%左右。 – Jason