با
سلام خدمت دوستان عزیز و گرامی
امروز
میخواهم برای شما مطالبی در مورد 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 داشته باشد مراحل اجرا را در کنسول به شما نمایش می دهد ،
در واقع در این مثال ما از تنظیمات پیش فرض استفاده کردیم ، شما میتوانید
با توجه به نیازهای خود این تنظیمات را اعمال کنید .
موفق
و پیروز باشید .