PDA

View Full Version : به روز کردن ساختار دیتا بیس بدون حذف اطلاعات



razeghaik1
سه شنبه 13 اسفند 1392, 16:25 عصر
با عرض سلام و خسته نباشید حضور دوستان عزیز
مشکل من در sql server می باش.
من یک دیتابیس دارم به نام test که دارای 10 تا جدول هست.دیتابیس من هم اکنون روی سرور در حال استفاده است.
اگر قرار باشد که من در آینده بر روی ساختار دیتابیس تغییراتی از جمله حذف یا اضافه کردن ستون یا اضافه یا پاک کردن جدولی را داشته باشم آیا روشی وجود دارد که داده های دیتابیس قبلی از بین نرود؟!
دوستان راهنمایی بفرمایند بسیار ممنون می شم.
با تشکر

محمدجواد67
سه شنبه 13 اسفند 1392, 17:47 عصر
سلام من اگر بخوام این کار رو بکنم یه کپی از پایگاه داده برمی دارم بعد روی پایگاه اصلی تغیرات رو انجام می دم بعد با یک تابع اطلاعات رو از پایگاه داده ای که کپی کردم به پایگاه اصلی انتقال می دم. به صورت رکورد به رکورد،
تابع رو توی یه حلقه for میزارم تعداد تکرار هم برابر با تعداد رکورد ها باشه .

razeghaik1
سه شنبه 13 اسفند 1392, 17:52 عصر
دوستان روش اصولی تری وجود نداره؟کسی کمک کنه خیلی ممنون می شم؟
فکر کنم این روش اصولی نباشه زیاد

espootin
سه شنبه 13 اسفند 1392, 19:42 عصر
با سلام.

برای اینکار باید از طریق T-SQL و از دستوارت Alter برای تغییرات استفاده کرد.
همه تغییرات به راحتی و بدون هیچ مشکلی قابل انجام می باشد ،‌فقط باید توجه کرد که حذف یک ستون باعث حذف تمام داده های آن ستون خواهد شد و در صورتی که ستون در ارتباط باشد ،‌ خطا خواهید داشت.

موفق باشید./

حمیدرضاصادقیان
سه شنبه 13 اسفند 1392, 20:10 عصر
سلام


سلام من اگر بخوام این کار رو بکنم یه کپی از پایگاه داده برمی دارم بعد روی پایگاه اصلی تغیرات رو انجام می دم بعد با یک تابع اطلاعات رو از پایگاه داده ای که کپی کردم به پایگاه اصلی انتقال می دم. به صورت رکورد به رکورد،
تابع رو توی یه حلقه for میزارم تعداد تکرار هم برابر با تعداد رکورد ها باشه .
این راه حل اصلا پیشنهاد نمیشه و راه اصولی نیست.
راه اصلی این هست که با استفاده از دستورات DDL که دستورات Alter,Create,Drop هست میتونید Script تهیه کنید و برروی دیتابیس مقصد اونو اجرا کنید تا تغییرات بر روی دیتابیس شما اعمال بشه.
بعد با استفاده از دستور Update یا Delete یا Insert میتونید داده های مورد نظر رو نیز در صورت لزوم تغییر بدید.

razeghaik1
چهارشنبه 14 اسفند 1392, 07:34 صبح
ممنون از راهنمایی دوستان
ببینید من یه پروژه واسه جایی نوشتم.
اونجا دسترسی به اینترنت فعلا نداره.ریموت نمی شه زد به هیچ وجه.
به نظرتون اصولی ترین و ساده ترین واسه اینکه تغییرات رو اعمال کنم چی کار کنم؟
دسترسی فیزیکی به سیستم دارم البته.
ضمنا جناب صادقیان دستورات create drop va ... رو روی همون سروری که sql server نصب هست اجرا کنم؟!
با تشکر

حمیدرضاصادقیان
چهارشنبه 14 اسفند 1392, 13:22 عصر
بله .عرض کردم یک فایل SCript از تغییرات رو تهیه کرده و روی سیستم مقصد اونو اجرا میکنید.