PDA

View Full Version : سوال: نحوه backup گیری



nazanin0
شنبه 04 دی 1389, 10:38 صبح
سلام
دوستان لطفاً راهنمایی کنید:تشویق:
من در برنامه ام برای Backup گیری از دستور زیر استفاده می کنم




Dim objconnection As SqlConnection = New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\db.mdf;Integrated Security=True;User Instance=True
")



Dim objcommand As SqlCommand = New SqlCommand()
objcommand.Connection = objconnection
objcommand.CommandText = "BACKUP DATABASE [db] TO DISK = N'C:\PARNIAN\a14' WITH FORMAT"
If objconnection.State = ConnectionState.Closed Then
objconnection.Open()
End If
objcommand.ExecuteNonQuery()
objconnection.Close()
MessageBox.Show("تهيه نسخه پشتيبان از اطلاعات با موفقيت انجام شد")

End Sub


وقتی به خط objcommand.ExecuteNonQuery()پیغام خطای زیر رو میده:



Could not locate entry in sysdatabases for database 'db'. No entry found with that name. Make sure that the name is entered correctly. BACKUP DATABASE is terminating abnormally.



یه سوال دیگه:
این مسر که من برای ذخیره کردن گذاشتم ساده ترین کاری که میشد انجام داد:خجالت: برای اینکه کاربر خودش مسیر و نام رو به دلخواه انجام بده باید چکاری انجام بدم؟

با تشکر

nazanin0
شنبه 04 دی 1389, 15:54 عصر
اساتید لطفاً راهنمایی کنید :افسرده:
شما چطور backup می گیرید؟

kebriya
شنبه 04 دی 1389, 17:54 عصر
SaveFileDialog1.FileName = "backup"
SaveFileDialog1.Filter = "backup files (*.bak)|*.bak"
SaveFileDialog1.ShowDialog()

Dim query = "BACKUP DATABASE[dabirkhane] TO DISK = '" & SaveFileDialog1.FileName& ".bak'"
Dim cmd As New SqlCommand()
cmd.CommandText = query
cmd.Connection = con
cmd.ExecuteNonQuery()


SaveFileDialog1 یه کنترل بیارین رو فرمتون

nazanin0
شنبه 04 دی 1389, 19:36 عصر
از اینکه وقت گذاشتید و راهنمایی کردید ممنون
فایل backup رو فقط در مسیری که sql میشناسه ذخیره می کنه و اگه هر جایی غیر از این مسیر رو بهش بدم پیغامی که در پست اول گذاشتم رو می ده چرا؟

kebriya
یک شنبه 05 دی 1389, 08:55 صبح
نه عزیزم من از این کد استفاده میکنم. و همه جا ذخیره میکنه

nazanin0
یک شنبه 05 دی 1389, 09:08 صبح
سلام
پس حتماً مشکل از sql !
چون وقتی توی sql هم میخوام backup بگیرم تنها همین یک مسیر رو میشناسه شما می دونید چطور می تونم از این حالت درش بیارم؟

با تشکر

behrooz69
دوشنبه 13 آبان 1392, 23:44 عصر
برنامت وبانکت attach نیست . تو sql server managment 2008 رو دیتابیست راست کلیک کن و اسکریپت منجمنت رو بزن و next هارو بزن و تو بخش table کل تیبل هاتو تیک بزن . بعدش اسکریپتتو یه جا ذخیره کن . 1 دیتابیس با همون نام ایجادکن و ورژنشو بذار 2008 . توجه کن فقط دیتابیس درست کن . تیبل ایجاد نکن . بعد تو sql server از منوی فایل open file رو بزن و اسکریپتتو انتخاب کن و باز کنش. بعدش تو 1 جای اسکریپتت کلیک کن و بالا زیر view یه کمبو باکس هست که نوشته master اسم دیتابیسی که الان ساختی رو انتخاب کن بعد Execute بزن . حالا برنامت attach شده و بک آپ گیری آسون انجام می شه .


--------------------------------------------------------------------------------------------------
تو برنامه نویسی همیشه راه میانبر هست و 10 خط رو می شه به 1 خط تبدیل کرد .:متفکر:
--------------------------------------------------------------------------------------------------