ค้นหาเว็บไซต์

วิธีการสำรองข้อมูล-คืนค่าไซต์คอลเลกชันใน SharePoint โดยใช้ PowerShell


ความต้องการ: สำรองและคืนค่าไซต์คอลเลกชันใน SharePoint 2016 โดยใช้ PowerShell

วิธีสำรองข้อมูลไซต์คอลเลกชันใน SharePoint 2016 โดยใช้ PowerShell

แม้ว่าคุณจะสามารถสำรองข้อมูลคอลเลกชันไซต์จากการดูแลจากศูนย์กลางของ SharePoint ได้ เช่นเดียวกับในวิธีการสำรองข้อมูลคอลเลกชันไซต์ SharePoint โดยใช้การดูแลจากส่วนกลาง วิธีผู้ดูแลระบบจากส่วนกลางนั้นค่อนข้างยุ่งยากและใช้เวลาสักครู่ในการสำรองข้อมูล ในขณะที่ PowerShell มอบวิธีที่ง่ายและรวดเร็วในการสำรองข้อมูลคอลเลกชันไซต์ เราสามารถใช้การดำเนินการตามสคริปต์และหลีกเลี่ยงการทำซ้ำงานเดียวกันด้วยตนเอง เช่น การสำรองข้อมูล ใช้เชลล์การจัดการ SharePoint 2016 เพื่อเรียกใช้ cmdlet เหล่านี้

การสำรองข้อมูลคอลเลกชันไซต์ SharePoint อาจเริ่มต้นจาก SharePoint WFE และคุณจำเป็นต้องเป็นสมาชิกของผู้ดูแลระบบภายในเครื่องบนเซิร์ฟเวอร์ และควรเป็นผู้ดูแลระบบฟาร์ม

สำรองข้อมูลคอลเลกชันไซต์ SharePoint โดยใช้ PowerShell

ต่อไปนี้คือไวยากรณ์ของ PowerShell เพื่อสำรองข้อมูลของไซต์คอลเลกชันใน SharePoint 2016 ต้องใช้พารามิเตอร์บังคับสองตัวเพื่อระบุไซต์คอลเลกชันที่จะสำรองข้อมูลและเส้นทางในการบันทึกไฟล์สำรองข้อมูล:

Backup-SPSite -Identity -Path [-Force] [-NoSiteLock] [-UseSqlSnapshot]

  • บังคับ - เขียนทับไฟล์สำรองข้อมูลที่มีชื่อเดียวกัน
  • NoSiteLock - ป้องกันไม่ให้ไซต์เข้าสู่โหมดอ่านอย่างเดียวในขณะที่กำลังสำรองข้อมูล อย่างไรก็ตาม หากมีผู้อัปเดตไซต์ในขณะที่กำลังสร้างการสำรองข้อมูล ก็อาจทำให้ข้อมูลเสียหายได้
  • UseSQLSnapshot - สแนปช็อตของฐานข้อมูลจะถูกถ่ายก่อนที่การสำรองข้อมูลจะเริ่มต้น และการสำรองข้อมูลจะเสร็จสิ้นจากสแน็ปช็อต ข้อดีคือสามารถเปลี่ยนแปลงไซต์ได้ในขณะที่กระบวนการสำรองข้อมูลกำลังทำงานอยู่โดยไม่ต้องกลัวว่าจะเกิดความเสียหาย สแน็ปช็อตจะถูกลบโดยอัตโนมัติเมื่อการสำรองข้อมูลเสร็จสิ้น เมื่อใช้วิธีการนี้ คุณไม่จำเป็นต้องระบุพารามิเตอร์ -NoSiteLock

คอลเลกชันไซต์สำรองใน SharePoint 2013 - ตัวอย่าง PowerShell:

ตัวอย่างเช่น: เมื่อต้องการสำรองข้อมูลคอลเลกชันไซต์ "IT" ที่ "https://intranet.crescent.com/sites/IT" ไปยังตำแหน่ง "C:\Backups\" คุณจะต้องใช้คำสั่ง PowerShell ต่อไปนี้:


 Backup-SPSite https://intranet.crescent.com/sites/IT -path d:\backup\it.bak

Backup-SPSite cmdlet จะสำรองข้อมูลทุกอย่างในไซต์คอลเลกชัน รวมถึงเอกสาร หน้า การแจ้งเตือน เวิร์กโฟลว์ ฯลฯ และสร้างการสำรองข้อมูลไซต์คอลเลกชันที่มีนามสกุล .bak

สำรองข้อมูลไซต์ทั้งหมดในแอปพลิเคชันเว็บ:

PowerShell ช่วยให้เราสามารถทำงานซ้ำๆ โดยอัตโนมัติโดยใช้ความพยายามในการจัดการน้อยลง เช่น หากคุณต้องการสำรองข้อมูลคอลเลกชันไซต์ทั้งหมดจากเว็บแอปพลิเคชัน การเรียกใช้คำสั่งเดิมหลายๆ ครั้งอาจเป็นเรื่องยุ่งยาก แต่คุณสามารถใช้ PowerShell ต่อไปนี้เพื่อวนซ้ำแต่ละไซต์คอลเลกชันในแอปพลิเคชันบนเว็บและสำรองข้อมูลแต่ละรายการได้ นอกจากนี้ยังสามารถขยายไปยังคอลเลกชันไซต์ทั้งหมดทั่วทั้งแอปพลิเคชันเว็บในฟาร์ม!

สคริปต์ PowerShell เพื่อสำรองข้อมูลคอลเลกชันไซต์ SharePoint ทั้งหมด

หากต้องการสำรองข้อมูลไซต์ใน SharePoint Server ให้ใช้ Backup-SPSite cmdlet:


Add-PSSnapin Microsoft.SharePoint.PowerShell -ErrorAction SilentlyContinue

#Configuration parameters
$BackupLocation="D:\backups\"
$WebAppURL="https://company.sharepoint.com"

#Get All site collections under the given web app
$SitesColl= Get-SPWebApplication $WebAppURL | Get-SPSite -limit ALL

#Iterate through each site collection
Foreach($Site in $SitesColl)
{
   #Backup the site collection 
   $FilePath = $BackupLocation + $Site.Url.Replace("https://","").Replace("/","-") + ".bak"
   Backup-SPSite -Identity $Site.Url -Path $FilePath -Force 
   Write-Host "Backup completed Successfully for $($Site.Url)"
}

คืนค่าการสำรองข้อมูลคอลเลกชันไซต์ใน SharePoint 2016 โดยใช้ PowerShell:

วิธีคืนค่าไซต์คอลเลกชันใน SharePoint 2013 โดยใช้ PowerShell ขั้นตอนการกู้คืนจะคล้ายกับกระบวนการสำรองข้อมูล คำสั่ง Restore-SPSite จำเป็นต้องมีรหัสประจำตัวของไซต์คอลเลกชันและพารามิเตอร์เส้นทางของไฟล์สำรอง ต่อไปนี้เป็นไวยากรณ์พื้นฐานสำหรับการกู้คืนไซต์คอลเลกชันใน SharePoint:

คืนค่า-SPSite - Identity -Path [-DatabaseServer] [-DatabaseName] [-Force] [-GradualDelete]< /ช่วง>

  • GradualDelete - เมื่อคุณเขียนทับไซต์คอลเลกชันที่มีอยู่ด้วยการกู้คืน พารามิเตอร์ GradualDelete จะค่อยๆ ลบไซต์คอลเลกชันเมื่อเวลาผ่านไปเพื่อลดผลกระทบต่อประสิทธิภาพของเซิร์ฟเวอร์

ตัวอย่างเช่น หากต้องการกู้คืนไฟล์ “IT.bak” ให้ใช้คำสั่งต่อไปนี้:


Restore-SPSite https://portal.crescent.com/sites/IT -path c:\backup\it.bak

การดำเนินการนี้จะคืนค่าไฟล์ BAK ที่ให้มาลงในไซต์คอลเลกชันใหม่ ไซต์คอลเลกชันจะถูกสร้างขึ้นโดยอัตโนมัติ

เมื่อต้องการเขียนทับไซต์คอลเลกชันที่มีอยู่จากไฟล์สำรองข้อมูล ให้ใช้พารามิเตอร์ -Force

โปรดทราบ เมื่อต้องการคืนค่าไซต์คอลเลกชัน มีข้อจำกัดบางประการ:

  • ฐานข้อมูลเนื้อหาสามารถมีสำเนาของไซต์คอลเลกชันที่กำหนดได้เพียงสำเนาเดียวเท่านั้น ดังนั้น หากคุณต้องการคืนค่าสำเนาสำรองของคุณไปยังเว็บแอปพลิเคชันเดียวกันกับที่สำรองข้อมูลไว้ คุณจะต้องลบไซต์คอลเลกชันดั้งเดิมหรือสร้างฐานข้อมูลเนื้อหาใหม่ที่สามารถจัดเก็บข้อมูลสำรองได้
  • การสำรองข้อมูลไซต์คอลเลกชันสามารถเรียกคืนไปยังฟาร์มเดียวกันหรือฟาร์มอื่นได้ ตราบใดที่ฟาร์มปลายทางเป็นรุ่นเดียวกันหรือใหม่กว่าเป็นฟาร์มต้นทาง

บทความที่เกี่ยวข้อง