آی تی نرد

اشتراک اطلاعات و تجربیات در زمینه ی توسعه ی دات نت و البته شیرپوینت

انتقال یک یا چند مجموعه سایت به دیتابیس دیگر و یا وب اپلیکیشن دیگر

سلام به دوستان

یه روزی به دلایلی نیاز داشتم که که چندتا مجموعه سایت رو که داخل یک دیتابیس بودند رو به یک وب اپلیکیشن دیگه منتقل کنم چندتا سرچ که کردم مطالبی که پیدا میشد مربوط به انتقال یک یا چند مجموعه سایت به یک دیتابیس دیگه بود. که دستوراتش به صورت زیر بود : (دستور زیر برای انتقال یک مجموعه سایت به دیتابیس میباشد)

Move-SPSite <http://ServerName/Sites/SiteName> -DestinationDatabase <DestinationContentDb>

 

که پارامتر اول نام مجموعه سایت و پارامتر دوم نام دیتابیسی که قصد انتقال به اون رو دارید هست.

برای انتقال چند مجموعه سایت به یک دیتابیس میتونید از دستور زیر هم استفاده کنید:

Get-SPSite -ContentDatabase <SourceContentDb> | Move-SPSite -DestinationDatabase <DestinationContentDb>

 

بخش اول دستور تمام مجموعه سایت هایی که داخل دیبتابیس <SourceContentDb> باشه رو برمیگردونه و به بخش دوم دستور پاس میده از اونجایی که پارامتر پیشفرض دستور Move-SPSite نام مجموعه سایت یا آبجکت SPSite هست به ازای هر مجموعه سایت اونها رو به دیتابیس <DestinationContentDb> منتقل میکنه.

با تمام توضیحات که دادم هنوز مشکل من حل نشده بود چون من میخواستم چند تا مجموعه سایت رو به یک وب اپلیکیشن (WebApplication) دیگه منتقل کنم.

اگه دستورات بالا رو برای این منظور استفاده کنید به خطای زیر بر میخورید :

 The site collection being moved and the destination content database must be within the same Web application.

 

این پیغام میگه که مجموعه سایت و دیتابیس مقصد باید در یک وب اپلیکیشن باشند!

بیشتر که تحقیق کردم مطلب مناسبی در این مورد پیدا نکردم. یاد صحبت یکی از دوستان (حمید جلالی) افتادم که میگفت بعضی مواقع علت اینکه پاسخ یه مسئله ای توی اینترنت پیداه نمیشه بیش از حد ساده بودن اون مsئله میتونه باشه!.

راه حلی که به ذهن من رسید این بود : 

بیشتر...