PDA

View Full Version : سوال: چگونه از دیتابیس Sql بکاپ گیری بگیریم و چونه بازگردانی کنیمش ( Backup & Restor ) ؟



behrooz69
چهارشنبه 18 دی 1392, 23:55 عصر
سلام دوستان . همه چیز رو اوکی کردم . فقط مونده Backup & Restor دیتابیس Sql server 2008 تو برنامه.

توجه : خواهشا لطفا التماسا دوستان کد رو به Vb.net بگین نه C# چون دارم تو C#.

ببینید دوستان میخوام نحوه بکاپ اینجوری باشه .

1 ) تو فرم بکاپ 2 حالت باشه یکی که کاربر بتونه بکاپ رو هرجا که میخواد ذخیره کنه . دومیشم این که به صورت پیش فرض تو فولدر خود برنامه تو پوشه Backup db ذخیره شه . که یه checkBox داشته باشه که کاربر اگه اونو زد بتونه هرجا میخواد ذخیره کنه و در غیر این صورت به صورت پیش فرض همونجایی که گفتیم ذخیره شه.

2 ) واسه بازگردانی هم همینطور یه چک باکس و بازگردانی به صورت دستی . یا به صورت پیش فرض از روی همون فولدر .

3 ) بکاپ به صورت فایل .Zip باشه همونجور که میدونین به مرور حجم دیتابیس میره بالا.

4) دیتابیس روش exist نشه Overwrite بشه . چون هربار که Exist میشه دیتابیس حجم دیتابیس میره بالا من تست کردم .


من در حال حاضر از این کد استفاده میکنم که خیلی ابتداییه و خیلی نا کار آمد :ناراحت::گریه::گریه::افسرده:

Try

Dim cnn As New SqlConnection("Data Source=(local);Initial Catalog=Sardkhone;Integrated Security=True")

Dim cmd As New SqlCommand
cnn.Open()
Dim query As String = "BACKUP DATABASE [Sardkhone] TO DISK =N'E:\Sardkhone.BAK'"
cmd.CommandText = query
cmd.Connection = cnn
cmd.ExecuteNonQuery()
MsgBox("پشتیبانگیری با موفقیت صورت گرفت")
cnn.Close()
Catch ex As Exception
MsgBox("مشکل در پشتیبان گیری")
End Try

تو درایو E فایل دیتابیس منو میریزه .
مشکلاتش : 1 ) اگه کاربر درایو E نداشته باشه اررور میده .

2 ) اگه Database تو Sql server 2008 اتچ Attach نشه این کد کار نمیکنه .

3 ) هر بار که برنامه باز بشه هیچ کاری هم انجام ندی و بکاپ بگیری حجم دیتابیس دو برابر میشه یعنی Exist میشه .

دیگه باقیش به عهده اساتید .

کمکم کنید یا حق

viper2009
پنج شنبه 19 دی 1392, 02:45 صبح
شاید این دو لینک زیر کارگشای مشکل شما باشد، که در سورسش دستورات فشرده سازی و خارج کرن از حالت فشرده نیز موجود است
http://www.codeproject.com/Articles/13790/SQL-Server-backup-utility
http://www.codeproject.com/Articles/21403/SQL-Server-Database-Backup-Utility-using-VB-NET-an

مثال های موجود در لینک فوق برای من از نظر ساخت اسکریپت جالبه، چراکه هم می توان به عنوان بکاپ استفاده کرد و هم اسکریپت مثل PHP Admin

در ضمن فکر نکنم با فشرده سازی دیتابیس فرق چندانی محسوس شود

و راه حل مشکل اول کد خودت را هم می توانستی با قرار دادن یک SaveFileDiloge حل کنی

behrooz69
پنج شنبه 19 دی 1392, 12:28 عصر
نه کار ساز نبود دوست من .

behrooz69
پنج شنبه 19 دی 1392, 12:29 عصر
بکاپ متغییر رو خودم نوشتم دوست من بازم Exist هستش .

systam
پنج شنبه 19 دی 1392, 17:06 عصر
سلام
اینم یک نمونه (http://barnamenevis.org/showthread.php?409618-%D9%85%D8%B4%DA%A9%D9%84-%D8%AF%D8%B1-%D8%A8%DA%A9%D8%A7%D9%BE-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A7%D8%B2-%D8%A8%D8%A7%D9%86%DA%A9-%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87&p=1829249&viewfull=1#post1829249)

behrooz69
پنج شنبه 19 دی 1392, 19:04 عصر
داشی من Smo نمیخوام . از خود دیتابیس می خوام . ممنون از راهنماییت

systam
پنج شنبه 19 دی 1392, 23:36 عصر
داشی من Smo نمیخوام . از خود دیتابیس می خوام . ممنون از راهنماییت
سلام
کار نداره اینم با خود sql
دوتا بکاپ اماده یکیش خالیه و دیگرزی دو سطر اطلاعات داخلش هست
هم گذاشتم با خود برنامه تست کنید


موفق باشید

یا علی

behrooz69
جمعه 20 دی 1392, 02:34 صبح
داشی این باز Smo که :عصبانی++:

Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

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

systam
جمعه 20 دی 1392, 10:46 صبح
داشی این باز Smo که

Imports Microsoft.SqlServer.Management.Smo
Imports Microsoft.SqlServer.Management.Common

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

دوستان نگاه کنن ببینن برنامه از smo استفاده شده یا نه و این دوستمون رو توجیهش کنند

برنامه رو ویرایشش کردم و دیگه خبری از smo ها نیست هر چند برنامه قلی هم فقط import هاش تو برنامه بود و اصلا استفاده نشده بود توی برنامه جدید مشکل حله
ببینم بازم میگی از smo استفاده شده


و من توی برنامه هام از این برنامه برای بکاپ و ریستور استفاده میکنم و تا حالا به مشکل نخوردم
یا علی

behrooz69
جمعه 20 دی 1392, 12:51 عصر
سلام
شما به import ها چیکار داری
پاکشون کن
معلوم میشه ادم عجولی هستی و اصلا برنامه رو نگاه نکردی :عصبانی:

دوستان نگاه کنن ببینن برنامه از smo استفاده شده یا نه و این دوستمون رو توجیهش کنند

برنامه رو ویرایشش کردم و دیگه خبری از smo ها نیست هر چند برنامه قلی هم فقط import هاش تو برنامه بود و اصلا استفاده نشده بود توی برنامه جدید مشکل حله
ببینم بازم میگی از smo استفاده شده


و من توی برنامه هام از این برنامه برای بکاپ و ریستور استفاده میکنم و تا حالا به مشکل نخوردم
یا علی


باشه داداشی چرا میزنی !!! اااا گناه دارم من !! سا سا سا .

دستت درد نکنه . مرسی .