PDA

View Full Version : مشکل کپی database فوری



aryan2005
پنج شنبه 08 مهر 1389, 11:23 صبح
با سلام خدمت دوستان
من دو برنامه مجزا دارم که در یکی اطلاعات وارد شده و به برنامه دیگر با بانک مشابه اانتقال داده می شود حال هنگامی که سعی می کنم از بانک اول با دستور Backup بک آپ بگیرم با پیغامی مواجه می شوم که نام بانک وجود ندارد و درروش دیگر هنگامی که می خواهم فایلهای mdf و ldf کپی بگیرم با پیغام استفاده فایل مواجه می شوم و sp-dettach-db نیز جواب نمی دهد ضمن اینکه از بانک Attached شده به sqlexpress استفاده کرده ام خواهش می کنم یکی به من کمک کند

صباح فتحی
پنج شنبه 08 مهر 1389, 11:39 صبح
با سلام خدمت دوستان
من دو برنامه مجزا دارم که در یکی اطلاعات وارد شده و به برنامه دیگر با بانک مشابه اانتقال داده می شود حال هنگامی که سعی می کنم از بانک اول با دستور Backup بک آپ بگیرم با پیغامی مواجه می شوم که نام بانک وجود ندارد و درروش دیگر هنگامی که می خواهم فایلهای mdf و ldf کپی بگیرم با پیغام استفاده فایل مواجه می شوم و sp-dettach-db نیز جواب نمی دهد ضمن اینکه از بانک Attached شده به sqlexpress استفاده کرده ام خواهش می کنم یکی به من کمک کند
واسه بکاپ و اتچ
در ابتدای کویری USE [master]
روبنویس ببین درست میشه
:متفکر:
درضمن وقتی فایل هاmdf,ldf رو کپی میکنی بایدسرویسsql-رو متوقف کنید

aryan2005
پنج شنبه 08 مهر 1389, 12:08 عصر
با تشکر از راهنمای شما
از use master استفاده کردم اما جواب نگرفتم اما نمی دانم چطور باید از طریق کد -sql را متوقف و راه اندازی مجدد کنم

من از کد شما استفاده کردم اما باز هم هنگام اجرا می گه بانکی با این نام وجود نداره در صورتی که در رشته اتصال از همین نام استفاده شده است و در بقیه برنامه کار می کند

صباح فتحی
پنج شنبه 08 مهر 1389, 12:53 عصر
میشه کد رو بزارید

aryan2005
پنج شنبه 08 مهر 1389, 13:06 عصر
بله حتماً

string connectionString =@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\Data\Catalog.mdf;Integrated Security=True;User Instance=True ";
CatalogConnection = new SqlConnection(connectionString);

CatalogCommand = new SqlCommand();
CatalogCommand.Connection = CatalogConnection;
CatalogCommand.CommandText = "BACKUP DATABASE Catalog TO DISK ='D:\\Catalog.bak'";
CatalogConnection.Open();
CatalogCommand.ExecuteNonQuery();
CatalogConnection.Close();

در هنگام اجرای دستور ExecuteNonQuery خطای

Database 'SepahanCatalog' does not exist. Make sure that the name is entered correctly.
BACKUP DATABASE is terminating abnormally.
داده می شود

صباح فتحی
پنج شنبه 08 مهر 1389, 15:04 عصر
اینو من تست کردم مشکلی نداشت

SqlConnection con = new SqlConnection(@"Data Source=.\SQLEXPRESS;Integrated Security=True");
SqlCommand com=new SqlCommand();
com.Connection = con;
con.Open();
com.CommandText="Use master backup database [phonebank] to disk=N'd:\\o'";
com.ExecuteNonQuery();
con.Close();

صباح فتحی
پنج شنبه 08 مهر 1389, 15:34 عصر
خیلی آقائی
مشکلم با استفاده از dettach پایگاه حل شد
میدونی مشکل شما از کجابود؟
شما توی کانکشن استرینگ رفتید این رو اتچ کردید ..اصلا راه خوبی نیست
کانکشن رو مثل من بنویس د یگه نیازی هم به دیتیچ نیست
:قلب:

FastCode
پنج شنبه 08 مهر 1389, 17:17 عصر
مشکل شما اینه که نمیدونید Catalog یه کلمه register شدست. و باید داخل [] باشه.


BACKUP DATABASE Catalog TO DISK ='D:\\Catalog.bak'

aryan2005
جمعه 09 مهر 1389, 01:37 صبح
Catalog یک نام مستعار است و در پروژه از نام تفصیلی استفاده شده است