PDA

View Full Version : سوال: علت این خطا واسه بازیابی بانک چیه ؟



nice_boy_a
دوشنبه 25 بهمن 1389, 15:26 عصر
سلام به همه.
دستور زیر رو واسه Restore کردن بانک SQL مینویسم


Dim sqlRestore As String = "RESTORE DATABASE Bank1 FROM DISK = 'd:\\1.bak' "
Try
con.Open()
Dim cmd As New SqlCommand(sqlRestore, con)
cmd.ExecuteNonQuery()
Catch ex As Exception
MsgBox(ex.Message)
Finally
con.Close()
End Try


ولی خطا میده! چه جوری مشکل رفع میشه؟

shahab2025
دوشنبه 25 بهمن 1389, 17:02 عصر
میگه شما نمیتونید دیتابیسی که در آن قراردارید را مجددا Restore کنید
برای رفع این اشکال قبل از این دستور Use Master را جهت اجرا ارسال کن

klinton
سه شنبه 26 بهمن 1389, 15:58 عصر
If MsgBox(" ", 36) = MsgBoxResult.Yes Then
''''
OpenFileDialog1.FileName = "Asnad"
' OpenFileDialog1.Filter = ("Backup Files(*.bak)|*.bak")
If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
Dim cmd As String = "ALTER DATABASE [Anbar] SET SINGLE_USER with ROLLBACK IMMEDIATE USE MASTER ; restore Database [Anbar] from disk='" & OpenFileDialog1.FileName & "'WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"
Dim comm As New SqlCommand(cmd, con)
con.Open()
comm.ExecuteNonQuery()
con.Close()
MsgBox(" ", MsgBoxStyle.Information)
End If

''''
End If


با سلام این فرمت صحیح restore هست

libral
پنج شنبه 28 بهمن 1389, 10:00 صبح
klinton عزیز
میشه بپرسم con رو چطور مقداردهی اولیه کردین؟ منظورم اینه وقتی میگید con.open کدوم دیتابیس رو باید open کنه؟ و چطور باید مقداردهی بشه؟
ممنون:لبخندساده:

nice_boy_a
پنج شنبه 28 بهمن 1389, 23:25 عصر
klinton دستور رو نموشتم ولی بازم خطا میگیره
از MASTER خطا میگیره
چی کار کنم؟؟؟؟؟

nice_boy_a
پنج شنبه 28 بهمن 1389, 23:29 عصر
klinton دستور رو نوشتم ولی بازم خطا میگیره
از MASTER خطا میگیره
چی کار کنم؟؟؟؟؟

klinton
دوشنبه 02 اسفند 1389, 01:36 صبح
بله ببخشید con همان connection شماست
ضمنا دیتابیس من نامش Anbar هست شما باید نام دیتابیس خودتونو بنویسید

nice_boy_a
دوشنبه 02 اسفند 1389, 11:54 صبح
این خطا رو میده

DataBase 'MASTER' does not exist.Make sure that the name is entered correctly

مشکل چیه؟

klinton
سه شنبه 03 اسفند 1389, 04:29 صبح
شما دیتابیس Master که مربوط به خودsqlserver دیتچ کردین
یه نگاهی به دیتابیس هاتون بکنین اگه نبود بهتره اسکوال رو دوباره نصب کنید

shahab2025
سه شنبه 03 اسفند 1389, 09:36 صبح
شما دیتابیس Master که مربوط به خودsqlserver دیتچ کردین
یه نگاهی به دیتابیس هاتون بکنین اگه نبود بهتره اسکوال رو دوباره نصب کنید

دوست عزیز
اگه Master نباشه که اصلاً sql اجرا نمیشه
من فکر کنم یا قبل از دستورات باید USE MASTER را به همراه GO استفاده کنید و یا kill proccess کرده و GO را اجرا کنید

nice_boy_a
چهارشنبه 04 اسفند 1389, 20:56 عصر
میشه یه نمونه کد بزارین؟ ممنون میشم

klinton
پنج شنبه 05 اسفند 1389, 03:43 صبح
دوست عزیز
اگه Master نباشه که اصلاً sql اجرا نمیشه
من فکر کنم یا قبل از دستورات باید USE MASTER را به همراه GO استفاده کنید و یا kill proccess کرده و GO را اجرا کنید

خوب مشکل ایشونهم همینه شاید با کد رستور میکنه نه Managenent studio