Backup و Restore از طریق آبجکت مدل

 

با
سلام خدمت دوستان عزیز و گرامی

امروز
میخواهم برای شما مطالبی در مورد
Backup  و Restore  از طریق آبجکت مدل شرپوینت ارائه
کنم .

اگر
شما نیاز به کپی یا انتقال یک وب یا سایت داشته باشید انتخاب های محدودی
پیش رو خواهید داشت :


استفاده از امکانات
Backup  و Restore  موجود در Central Administration

– استفاده از stsadm  و دستور backup و Restore

– استفاده از شرپوینت دیزاینر و امکاناتی که در این نرم
افزار برای
Backup  و Restore  در نظر گرفته شده

در
هر کدام از موارد بالا محدودیت ها و مشکلاتی در پیشروی شما قرار دارد ، به
عنوان مثال با استفاده از امکانات
Central
Administration
 شما نمیتوانید از سایت ها و وب ها به صورت 
تکی نسخه پشتیبان تهیه کنید و حتما میبایست یک
Web Application  را به صورت کامل backup  بگیرید .

یا
در استفاده از دستورات
stsadm  مشکلاتی
در ضمینه حجم
backup  گیری وجود
دارد که شما نمیتوانید سایتی که بیش از ۱۵ گیگابایت حجم داشته باشد را
backup  بگیرید و یا اگر از سرویس پک ۲
استفاده میکنید باید از 
setsitelock استفاده کنید که در این صورت سایت شما تا انتهای عملیات
به صورت فقط خواندنی تغییر خواهد یافت ، در ضمن
Alert  و فرایند ها نیز در Backup
 گیری نادیده گرفته می شوند ! و برای Restore  کردن هم مشکلات زیادی وجود خواهد داشت .

با
استفاده از شرپوینت دیزاینر هم میتوانید عملیات
Backup  و Restore  را انجام
دهید که البته مشکلات کمتری هم نسبت به دو مورد بالا دارد ( البته بسیار
عجیب است که این امکانات در شرپوینت دیزاینر ۲۰۱۰ حذف شده ! )

اما
شما میتوانید از کلاسهای
SPExport  و SPImport  نیز استفاده کنید ، این دو کلاس
در فضای نام
Microsoft.SharePoint.Deployment قرار دارد . این کلاس های به
صورت پیش فرض توابعی را برای گرفتن
Backup  و Restore  از سایت ، وب ، لیستها و بیشتر
آبجکت های موجود در شرپوینت در خود دارند .

به
مثال زیر توجه کنید :

SPExportSettings settings = new SPExportSettings();

settings.FileLocation = @"C:\SPBackup";

settings.SiteUrl = "http://myServer/mySite";

settings.FileCompression = true;

settings.OverwriteExistingDataFile = true;

settings.BaseFileName = "export";

SPExport export = new SPExport(settings);

export.Run();

برای
تنظیمات مربوط به
Backup  ما از
کلاس
SPExportSettings  استفاده
میکنیم ، با اجرای کد بالا فایلی با نام
export.cmp
 در c:\SPBackup  ایجاد
میشود که در واقع از سایتی با آدرس
http:/myServer/mySite
 یک نسخه پشتیبان گرفته میشود . با استفاده از FileCompression از تکنیکهای فشرده سازی نیز برای backup  استفاده میشود ، OverwriteExistingDataFile مشخص میکند که اگر فایلی با این
وجود داشته باشد فایل جدید را جایگزین فایل قبلی کند و سایر تنظیمات مثل
FileLocation  ، SiteUrl  و BaseFileName  نیز به
ترتیب مشخص کننده محل ذخیره فایل
Backup ، آدرس سایت و نام فایل می باشد .

در
مثال زیر ما با استفاده از کلاس
SPImport  سایتی را
که از آن نسخه پشتیبان تهیه کرده بودیم ،
Restore
 میکنیم :

SPImportSettings settings = new SPImportSettings();

settings.FileLocation = @"C:\SPBackup";

settings.BaseFileName = "export";

SPImport import = new SPImport(settings);

import.Run();

در
این مثال هم پارامترهای یکسانی برای تنظیمات نحوه
Restore  وجود دارد ، اما تنظیمات دیگری هم برای این ۲ کلاس وجود
دارد ، مانند
CommandLineVerbose که اگر مقدار True  داشته باشد مراحل اجرا را در کنسول به شما نمایش می دهد ،
در واقع در این مثال ما از تنظیمات پیش فرض استفاده کردیم ، شما میتوانید
با توجه به نیازهای خود این تنظیمات را اعمال کنید .

موفق
و پیروز باشید .

پاسخ دهید