# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > VB.NET > سوال: چگونه از دیتابیس Sql بکاپ گیری بگیریم و چونه بازگردانی کنیمش ( Backup & Restor )  ؟

## behrooz69

سلام دوستان . همه چیز رو اوکی کردم . فقط مونده 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

شاید این دو لینک زیر کارگشای مشکل شما باشد، که در سورسش دستورات فشرده سازی و خارج کرن از حالت فشرده نیز موجود است
http://www.codeproject.com/Articles/...backup-utility
http://www.codeproject.com/Articles/...sing-VB-NET-an

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

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

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

----------


## behrooz69

نه کار ساز نبود دوست من .

----------


## behrooz69

بکاپ متغییر رو خودم نوشتم دوست من بازم Exist هستش .

----------


## systam

سلام
اینم یک نمونه

----------


## behrooz69

داشی من Smo نمیخوام . از خود دیتابیس می خوام . ممنون از راهنماییت

----------


## systam

> داشی من Smo نمیخوام . از خود دیتابیس می خوام . ممنون از راهنماییت


سلام
کار نداره اینم با خود sql
دوتا بکاپ اماده  یکیش خالیه و دیگرزی دو سطر اطلاعات داخلش هست 
هم گذاشتم با خود برنامه تست کنید


موفق باشید 

یا علی

----------


## behrooz69

داشی این باز Smo که  :خیلی عصبانی: 

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

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

----------


## systam

> داشی این باز Smo که 
> 
> Imports Microsoft.SqlServer.Management.Smo
> Imports Microsoft.SqlServer.Management.Common
> 
> خودم تونسم پیدا کنم و بنویسم ولی یه برنامه کامل میخوام یعنی واقعا هیچ کی نیست یه برنامه کامل بکاپ و پشتیبانی بنویسه آخه چرااااا


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

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

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


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

----------


## behrooz69

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



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

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

----------

