从sharepoint server 2007 内容数据库中恢复文件 restore file from sharepoint server 2007 content database

sharepoint server 2007 中上传了很多文件,想批量从内容数据库中恢复文件,而不是从页面中逐一下载,经检查文件均存储在数据库的alldocstreams 表的content字段中,字段类型为image。

可以使用textcopy.exe将内容写入到文件中,此文件在sql server 2000中提供,sql server 2005 仍然可以使用。

以下sql语句的/D 数据库名 /U 用户名 /P 密码 /S 服务器地址 需要修改成自己数据库服务器的相应值,导出目录为C:\temp

SELECT ‘textcopy.exe /S LOCALHOST /D WSS_Content /T alldocstreams /C content /U sa /P password /F “c:\temp\’+replace(dirname,’/’,’\’)+’\’+leafname +'” /O /Z /W “where ID=”’+lower(CONVERT(varchar(40),id,40))+”’ and Level=”255”’    FROM [WSS_Content].[dbo].[AllDocs] where id in (select distinct id from alldocstreams);

将结果保存在批处理文件中执行即可。注意textcopy.exe 不会自己建目录,需要先执行以下语句建立目录

select distinct ‘md ‘+  ‘”‘+replace(dirname,’/’,’\’)+'”‘ from alldocs;

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据