hab3045
سه شنبه 06 مرداد 1388, 00:15 صبح
ضمن خسته نباشی و همچنین تبریک اعیاد شعبانیه خدمت دوستان.
من توی برنامه ام که یک پروژه وب هستش یک قسمت برای گرفتن BackUp و Restore در نظر گرفتم. VS به راحتی دستورات مربوط به BackUp گیری از Data Base را انجام می دهد. ولی هنگام اجرای دسترات Restore با SqlException زیر روبرو می شوم:
User does not have permission to alter database 'SadeghUN' or the database does not exist.
ALTER DATABASE statement failed.
Exclusive access could not be obtained because the database is in use.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master'.
کد مربوط به Restore هم بصورت زیر است:
SqlConnection cn = newSqlConnection(ConfigurationManager.AppSettings["UNcon"]);
SqlCommand Insertcmd = newSqlCommand();
Insertcmd.Connection = cn;
Insertcmd.CommandText =
"ALTER DATABASE SadeghUN SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master;"
+ "RESTORE DATABASE @BKName FROM DISK =@Path WITH FILE=1, NOUNLOAD, STATS=10";
Insertcmd.CommandType = CommandType.Text;
Insertcmd.Parameters.AddWithValue("@BKName", HttpContext.Current.Request.PhysicalApplicationPat h + @"App_Data\SadeghUN.mdf");
Insertcmd.Parameters.AddWithValue("@Path", HttpContext.Current.Request.PhysicalApplicationPat h + @"App_Data\BackUp\SU.bak");
try
{
cn.Open();
Insertcmd.ExecuteNonQuery();
}
catch (Exception e1) { }
لازم به توضیح که Data Base پروژه را با Sql Express ایجاد کردم. اگه کسی راه حلی برای این مشکل داره، لطفا کمک کنه
من توی برنامه ام که یک پروژه وب هستش یک قسمت برای گرفتن BackUp و Restore در نظر گرفتم. VS به راحتی دستورات مربوط به BackUp گیری از Data Base را انجام می دهد. ولی هنگام اجرای دسترات Restore با SqlException زیر روبرو می شوم:
User does not have permission to alter database 'SadeghUN' or the database does not exist.
ALTER DATABASE statement failed.
Exclusive access could not be obtained because the database is in use.
RESTORE DATABASE is terminating abnormally.
Changed database context to 'master'.
کد مربوط به Restore هم بصورت زیر است:
SqlConnection cn = newSqlConnection(ConfigurationManager.AppSettings["UNcon"]);
SqlCommand Insertcmd = newSqlCommand();
Insertcmd.Connection = cn;
Insertcmd.CommandText =
"ALTER DATABASE SadeghUN SET SINGLE_USER WITH ROLLBACK IMMEDIATE USE master;"
+ "RESTORE DATABASE @BKName FROM DISK =@Path WITH FILE=1, NOUNLOAD, STATS=10";
Insertcmd.CommandType = CommandType.Text;
Insertcmd.Parameters.AddWithValue("@BKName", HttpContext.Current.Request.PhysicalApplicationPat h + @"App_Data\SadeghUN.mdf");
Insertcmd.Parameters.AddWithValue("@Path", HttpContext.Current.Request.PhysicalApplicationPat h + @"App_Data\BackUp\SU.bak");
try
{
cn.Open();
Insertcmd.ExecuteNonQuery();
}
catch (Exception e1) { }
لازم به توضیح که Data Base پروژه را با Sql Express ایجاد کردم. اگه کسی راه حلی برای این مشکل داره، لطفا کمک کنه