اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
روز قبل نیاز بود تا فایلهای mdf و ldf دیتابیسها جابجا شوند (یک هارد بزرگتر و از این مسایل).
برای جابجا کردن این فایلها هم روش معمول detach و سپس attach است. ابتدا روی دیتابیس کلیک راست کرده و detach . حالا فایلها را جابجا میکنید و سپس attach . یا میشود بک آپ کامل گرفت و بعد ری استور کرد.
عموما هم نمیتوان دیتابیس در حال استفاده را detach کرد. باید دیتابیس ابتدا single user شود و بعد میتوان اینکار را انجام داد.
تا اینجای کار متداول است. همه چیز به خوبی انجام شد. سپس در لحظه attach ، دیتابیسها به صورت read only اتچ شدند با آیکونی سیاه رنگ در management studio . (و رنگ من هم بلافاصله به همین رنگ متمایل شد!)
بعد از مدتی جستجو مشخص شد که در اس کیوال سرور 2008 برای کاهش سطح حمله به سرور، از یک سری یوزر با دسترسی کم برای نصب اس کیوال سرور استفاده میشود (بسیار هم خوب) و اس کیوال سرور 2008 ، یک سری یوزر مخصوص را هم در حین نصب ایجاد میکند که به صورت خودکار بر روی پوشه دیتای شما دسترسی full control دارد برای اینکه بتواند کارش را انجام دهد.
حال اگر شما در جای دیگری پوشهای درست کردید و این دیتابیسها را منتقل نمودید، مجددا پیش از هر کاری باید این دسترسی را برقرار کنید و گرنه اس کیوال سرور مجوز write نخواهد داشت؛ به همین جهت دیتابیس به صورت read only در management studio با رنگ مشکی ظاهر میشود.
نام این کاربر مخصوص به صورت زیر است:
SQLServerMSSQLUser$ComputerName$MSSQLSERVER
پس از برقراری دسترسی هم مشکل برطرف نمیشود. باید دستور زیر را نیز اجرا نمود:
ALTER DATABASE myDB SET READ_WRITE
پ.ن.
میتوان دسترسی یوزر سرویس اس کیوال سرور 2008 را نیز مانند نگارشهای قبلی به حالت local system تغییر داد (یا هر اکانت دیگری با دسترسی بالا) تا این مشکلات نباشد؛ ولی بدیهی است سطح حمله به سرور نیز به همین اندازه افزایش مییابد.