PDA

View Full Version : سوال: پشتیبان گیری از دیتابیس



libral
چهارشنبه 13 بهمن 1389, 20:29 عصر
سلام دوستان
من یه برنامه نوشتم که از کدهای زیر برای backup & restore بانکم( sql server express) استفاده کردم. عمل backup رو درست انجام میده، ولی موقع restore، خطا میگیره (restore failed for server:...) ر



Sub Backup(ByVal strpath As String)
Connect()
Dim objserverconnection As ServerConnection = New ServerConnection(con)
Dim objserver As Server = New Server(objserverconnection)
Dim objitem As BackupDeviceItem = New BackupDeviceItem(strpath, DeviceType.File)
Dim objbackup As Backup = New Backup()
objbackup.Devices.Add(objitem)
objbackup.Action = BackupActionType.Database
objbackup.Database = con.Database
objbackup.SqlBackup(objserver)
End Sub


Sub myRestore(ByVal strpath As String)
con.ChangeDatabase("master")
Connect()
Dim objserverconnection As ServerConnection = New ServerConnection(con)
Dim objserver As Server = New Server(objserverconnection)
Dim objitem As BackupDeviceItem = New BackupDeviceItem(strpath, DeviceType.File)
Dim objRestore As Restore = New Restore()
objRestore.Devices.Add(objitem)
objRestore.ReplaceDatabase = True
objRestore.Database = con.Database
objRestore.SqlRestore(objserver)

End Sub

ممنون میشم اگه کمکم کنید.

shotor moo ferferi
پنج شنبه 14 بهمن 1389, 12:37 عصر
مال منم این مشکل رو داره که با یه بار بستن برنامه و دوباره باز کردنش فعلا حلش کردم. البته می دونم راه درستی نیست. ولی جواب میده.

libral
جمعه 15 بهمن 1389, 11:51 صبح
از دوستان خواهش می کنم کمک کنید.:ناراحت:

hossin.esm
جمعه 15 بهمن 1389, 11:57 صبح
یک نمونه تو لینک زیر گذاشتم ببینید.
http://barnamenevis.org/showthread.php?64210-نمونه-برنامه-های-کوچک-و-مفيد-در-سي-شارپ&p=1172369&viewfull=1#post1172369

libral
جمعه 22 بهمن 1389, 16:36 عصر
ممنون دوست عزیز، ولی وقتی ازاین کد استفاده میکنم یه ارور میده که میگه بهتره از master استفاده کنی ولی اگه دقت کنید کدی که در ابتدا گذاشتم از master استفاده میکنه ولی اونم ارور میده. :ناراحت:

alimanam
جمعه 22 بهمن 1389, 20:49 عصر
با سلام

در این تاپیک (http://barnamenevis.org/showthread.php?183126-%D9%BE%D8%B4%D8%AA%DB%8C%D8%A8%D8%A7%D9%86-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A8%D8%A7%D8%B2%D8%A8%DB%8C%D9%86%DB%8C-%28-Restore-%29-%D9%BE%D8%A7%DB%8C%DA%AF%D8%A7%D9%87-%D8%AF%D8%A7%D8%AF%D9%87-SQL-%28-%D8%AF%D8%A7%D9%86%D9%84%D9%88%D8%AF-%DA%A9%D9%86%DB%8C%D9%86-%29&highlight=restore)یه رفرنس نوشتم میتونین به راحتی این کار رو انجام بدین سورس هم ضمیمه شده کدهاش هم که ساده هست .

موفق باشید /

behrooz69
دوشنبه 13 آبان 1392, 23:47 عصر
همون جور که دوستتم گفته وقتی می بنده برنامشو و دوباره باز می کنه برنامه کار می کنه و اینجا عمل open و close انجام می شه . شما اول برنامت دیتابستو close کن . چون احتمالا قبل استفاده شده و نبستیش و بازه . و دیتابیس sql express هم باید کل کانکشن هات بسته باشه . با یه دستور شرطی هم می تونی ببندیش .