最近,在SharePoint 应用程序页中写JavaScript API,进行一些数据交互。其实,很简单的事情却遇到了问题,记录一下,希望能对遇到类似问题的人以帮助。 引用JavaScript 首先,SharePoint 应用程序页......
2021-06-25 400 SharePoint,JavaScript,API,application,pages,最近,在,
最近,用户提出数据库大小太大,所以,希望把文件归档。至于归档,该怎么做呢?
正文
我们提出的解决方案,占用数据库最主要的就是各种文档,那就按照时间为限制,超过一年的文档全部备份,由用户的IT自行保存到他们的存储中。
还好用户的数据规模不是特别的大,我们使用程序来处理也不会特别的耗时。
• 文档库
关于文档库处理起来比较容易,我们只需要用Windows 资源管理器视图,把文档先拷贝下来进行备份,然后再进行删除就可以了。
• 列表
列表处理起来,还是比较有难度的,我们需要把所有项目的列表附件都备份,然后进行删除。
我们这里讲的就是如何批量备份,至于删除,只需要稍稍改一下下面的脚本,就可以了。
复制代码
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")
#SharePoint variables
$SiteUrl = "http://siteurl"
$WebUrl = "weburl"
$LibraryName = "listname"
#Save Path
$SavePath = "C:\ListBackup20200227"
#Get SPSite
$site= New-Object Microsoft.SharePoint.SPSite($SiteUrl)
#Get SPWeb
$Web = $site.OpenWeb($WebUrl)
#Get SPList
$List = $Web.Lists[$LibraryName]
#Loop SPListItem. If SPFolder, skip the item
foreach ($ListItem in $List.Items){
#Set SavePath
$SaveFolder = $SavePath + "\" + $ListItem.ID
#Check if SavePath exists already. If not, create SavePath
if (!(Test-Path -path $SaveFolder)){
New-Item $SaveFolder -type directory
}
#Get all SPAttachment
$AttachmentsColl = $ListItem.Attachments
#Loop all SPAttachment
foreach ($Attachment in $AttachmentsColl){
#Get attachment
$file = $web.GetFile($listItem.Attachments.UrlPrefix + $Attachment)
$bytes = $file.OpenBinary()
#Save attachment
$FilePath = $SaveFolder + " \" + $Attachment
$fs = new-object System.IO.FileStream($FilePath, "OpenOrCreate")
$fs.Write($bytes, 0 , $bytes.Length)
$fs.Close()
}
}
复制代码
WHY PowerShell
对于业务并不复杂但是要求代码效率的操作,我们都倾向于使用SharePoint PowerShell 来进行操作,尤其是对于文档备份这样更像是IT运维的操作,我们更加推荐命令行。
这样的操作有什么优点呢?
1. 操作简单明了,不需要进行太多的代码开发,没有复杂的业务;
2. 我们保存下来,可以多次使用,比如这个备份,非常的灵活,修改也不需要重新编译;
3. 类似CMD命令的方式,更容易让IT人员和非SharePoint 开发接受。
相关文章
最近,在SharePoint 应用程序页中写JavaScript API,进行一些数据交互。其实,很简单的事情却遇到了问题,记录一下,希望能对遇到类似问题的人以帮助。 引用JavaScript 首先,SharePoint 应用程序页......
2021-06-25 400 SharePoint,JavaScript,API,application,pages,最近,在,
在已经运行了2年多的SharePoint服务器上,发现SharePoint_Config的数据库文件越来越大,已经达到90几个GB,收缩可以减小20几个GB,但是一周以后又会恢复到90几个GB大小,甚是奇怪。 因为磁盘空间不......
2021-06-25 665 如何,收缩,超,大的,SharePoint,Config,数据库,在,
SharePoint 2016已经发布很久了,然而,默认安装VS2015以后,却没有SharePoint 2016的开发模板。其实问题很简单,和VS2012开发SharePoint 2013一样,需要装插件。主要因为VS2015的发布时间比SharePoint 2016稍......
2021-06-25 973 SharePoint开发模板
最近碰到这样的一个问题,就是SharePoint 站点备份(Backup-SPSite)的时候,速度特别慢,然后网站变成只读状态(备份过程中只读属于正常现象)。但是,自己手欠把备份命令的PowerShell窗口关掉......
2021-06-25 284 sharepoint网站集解锁
最近碰到一个新的需求,就是要给SharePoint配置应用程序商店,挺有意思的,就简单的配置和记录了一下,分享给大家。 其实应用程序商店之前感觉很鸡肋,但是用起来还是不错的。不喜勿喷,......
2021-06-25 715 SharePoint配置应用程序商店