Friday, November 19, 2010

Saving changes is not permitted (SQL 2008)

 

در SQL Server 2008 هنگامی که یک جدول (Table) دارای رابطه کلید خارجی (Foreign Key) با جداول دیگه باشه، و اگر شما جدول مورد نظر رو ویرایش بکنید، موقع ذخیره کردن تغییرات با پیغام زیر روبه رو خواهید شد.

Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created.

این پیغام به شما هشدار می ده که

"Saving changes is not permitted. The changes you have made require the following tables to be dropped and re-created. You have either made changes to a table that can't be re-created or enabled the option Prevent saving changes that require the table to be re-created."

ترجمه: “مجوز ذخیره تغییرات را ندارید. برای ذخیره تغییراتی که انجام داده اید، لازم است جداول زیر حذف شده و دوباره ساخته شود. شما تغییراتی را در جدولی ایجاد کرده اید که نمی تواند دوباره ایجاد شود و یا گزینه «از ذخیره تغییراتی که نیاز به ساخت مجدد جدول دارد جلوگیری کن» فعال می باشد.”

تنها گزینه ای که در اختیار شماست، Cancel است که در صورت کلیک روی آن، با پیغام زیر رو به رو خواهید شد:

User canceled out of save dialog

“User canceled out of saving dialog
(MS Visual Database Tools)”

که در اینصورت عملیات لغو شده و هیچ تغییری ذخیره نمی شود.

این پیغام در صورتی نمایش داده می شود که نیاز به ساخت دوباره جداول ذکر شده باشد. بطور کلی، این عملیات نیاز به ساخت دوباره جدول دارند:

    1. درج یک ستون (Column) در بین ستون های  دیگر
    2. حذف یک ستون
    3. تغییر خاصیت Allow Null یک ستون
    4. تغییر ترتیب قرار گرفتن ستون ها
    5. تغییر نوع داده ای یک ستون

برای اینکه این مشکل را حل کنید، باید از منوی Tools، گزینه Options را  انتخاب کنید:

Tools->Options menu

سپس در قسمت سمت چپ پنجره Options، از گروه Designers، گزینه Table and Database Designers را انتخاب نموده و در تیک گزینه
 "Prevent saving changes that require table re-creation" را حذف کنید.

Prevent changes that require table re-creation

در پایان دکمه OK را کلیک نمایید.

حال می توانید جداول تغییر داده شده را بدون هیچ مشکلی ذخیره کنید.

موفق باشید

1 comment:

  1. سلام
    آقادستت درد نگنه خیلی حال دادی

    ReplyDelete