PSPCommunity.org ورود | ثبت نام | كمك

رامین احمدی

SharePoint Development

بيشترين بازديد شده

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

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

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

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

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

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

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

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

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

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

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

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

Posted: Sunday, April 25, 2010 12:39 PM توسط ramin

نظرات

بدون نظر

نظرات افراد ناشناس غير فعال مي باشد