PDA

View Full Version : اشکال در بازیابی اطلاعات و بهینه سازی کد restor من



sh2007
دوشنبه 21 شهریور 1390, 19:29 عصر
دوستان سلام
من با این کد می خواهم اطلاعات دیتابیسی را در اکسپرس بازیابی کنم


Dim Cn2 As New SqlClient.SqlConnection
Dim Cmd2 As New SqlClient.SqlCommand(Nothing, Cn2)

Cn2.ConnectionString = "Data Source=.\sqlexpress;Initial Catalog=Master;Integrated Security=True"
Cn2.Open()

Cmd2.CommandText = "ALTER DATABASE Test1 SET SINGLE_USER With ROLLBACK IMMEDIATE "
Cmd2.ExecuteNonQuery()

Cmd2.CommandText = "RESTORE DATABASE Test1 FROM DISK='G:\Test1.bak' WITH FILE=1, NORECOVERY; "

Cmd2.ExecuteNonQuery()


Cmd2.CommandText = "ALTER DATABASE Test1 SET Multi_User"
Cmd2.ExecuteNonQuery()

Cn2.Close()
MsgBox("ok")


اما اشکال اینجاست که وقتی وارد محیط SQL Server Management Studio می شم روی دیتابیس که می ام منویسه در حال بازیابی اما نکته اینه که من نمی تونم بازیابی رو انجام بدم دوستانی که اطلاعات کافی دارند لطفا کمک کنن که بتونم بازیابی رو انجام بدم
ممنون

sh2007
دوشنبه 21 شهریور 1390, 21:01 عصر
75235دوستان حتی من این کد ر و وارد می کنم برای بازیابی توی محیط منجمنت کنار دیتابیس می زنه در حال بازیابی و دیتابیس رو خراب می کنه اشکال کار کجاست



Dim Cn2 As New SqlClient.SqlConnection
Dim Cmd2 As New SqlClient.SqlCommand(Nothing, Cn2)




Cn2.ConnectionString = "Data Source=.\sqlexpress;Initial Catalog=Master;Integrated Security=True"
Cn2.Open()

Cmd2.CommandText = "RESTORE DATABASE [Test2] FROM DISK='G:\Test2.bak' WITH FILE=1, NORECOVERY; "
Cmd2.ExecuteNonQuery()

حمیدرضاصادقیان
سه شنبه 22 شهریور 1390, 07:51 صبح
سلام
به جای Norecovery بنویسید With Recovery

sh2007
جمعه 25 شهریور 1390, 09:27 صبح
آقای صادقی از کمکتون ممنون
این کد برای من جواب داد می خوام بدونم قابلیت اینها توی چیه
Cmd2.CommandText = " RESTORE DATABASE [Test2] FROM DISK = N'G:\Test2.bak' WITH FILE = 1, NOUNLOAD, STATS = 10"
مثلا File=1 و NOUNLOAD و STATS = 10 چه قابلیتهائی دارن

حمیدرضاصادقیان
شنبه 26 شهریور 1390, 09:06 صبح
ببینید وقتی شما قرار میدید No Recovery یعنی اینکه یک فایل Backup دیگه برای بازیابی مونده و دیتابیس باید به حالت Restoring باشه. این مورد بیشتر زمان بازیابی فایلهای Log یا Differential Backup کاربرد داره.
درمورد توضیحات بیشتر میتونید به Books Online مراجعه کنید.
اینجا (http://msdn.microsoft.com/en-us/library/ms186858.aspx) هم در این مورد کامل توضیح داده شده است.