PDA

View Full Version : پشتیبان گیری از بانک اطلاعاتی sql



catgirl
جمعه 06 خرداد 1390, 15:56 عصر
سلام.من با استفاده از دستورات زیر می خوام از بانک اطلاعاتی پشتیبان گیری کنم ولی خطای زیر رو بهم میده.
متن خطا:Cannot open backup device 'C:\BackupDatabaseLibrary\Backup.MDF'. Operating system error 3(The system cannot find the path specified.).
BACKUP DATABASE is terminating abnormally.

قطعه کد مورد استفاده
System.IO.Directory.CreateDirectory(@"C:\BackupDat abaseLibrary");



//پشتیبان گیری از بانکاطلاعاتی
SqlConnection con = newSqlConnection();
con.ConnectionString = "Data Source=localhost;initial catalog=bookstore;Integrated Security=true";
SqlCommand cmd = newSqlCommand();
//try{
cmd.Connection = con;
con.Open();
//BACKUP DATABASE نام بانک اطلاعاتی TO DISK = 'مسیر پشتیبان گیری بانک اطلاعاتی'
string query = "BACKUP DATABASE bookstore TO DISK = 'C:\\BackupDatabaseLibrary\\Backup.MDF'";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();

ma.rad
جمعه 06 خرداد 1390, 17:06 عصر
ایراد از ConnectionString هست
بانک تون sql server یا sql express?

reza2012
جمعه 06 خرداد 1390, 17:28 عصر
private void btnBackup_Click(object sender, EventArgs e)
{

if (txtBackup.Text.Length > 0)
{
SqlConnection c = new SqlConnection(@"Data Source=TICE3\HAAMED;Initial Catalog=Newcollege5;Integrated Security=True");

try
{
c.Open();
SqlCommand cm = new SqlCommand(@" USE Newcollege5 BACKUP DATABASE Newcollege5 TO DISK ='" + txtBackup.Text + "' WITH FORMAT, NAME = 'Newcollege5' ", c);
cm.ExecuteNonQuery();
c.Close();
MessageBox.Show("پشتیبان گیری با موفقیت انجام شد");


}


catch
{
MessageBox.Show("اشكال در ارتباط با بانك اطلاعاتي");

}
}
else
{
MessageBox.Show("مسير پشتيبان گيري مشخص نشده است");
}

}

catgirl
شنبه 07 خرداد 1390, 10:50 صبح
بانکم sql server management studio express هست.

reza2012
یک شنبه 08 خرداد 1390, 05:06 صبح
بانکم sql server management studio express هست.
كافيه connection string رو تغيير بدي

zare69
یک شنبه 08 خرداد 1390, 13:50 عصر
دوستان سلام
من این کد را برای بازیابی اطلاعات در SQL2008 نوشتم ولی خطا میده کسی میتونه کمک کنه؟
try
{

//............
con.Open();

string query = "USE master RESTORE DATABASE [bookdb] FROM DISK = '" + textBox1.Text.Trim() + "'";



cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();


}
catch (Exception ex)
{

this.Cursor = Cursors.Default;
MessageBox.Show("اشکال در ارتباط با بانک اطلاعاتی\n" + ex.Message);
return;
}

catgirl
یک شنبه 08 خرداد 1390, 15:42 عصر
دوستان سلام
من این کد را برای بازیابی اطلاعات در SQL2008 نوشتم ولی خطا میده کسی میتونه کمک کنه؟
70508
از کدی که آقای reza2012 بالا گذاشته استفاده کن درست میشه.در ضمن تو آدرسی که بهش میده تا اون جا back up بگیره به جای یک backslash باید دو تا براش بذاری مثل:c:\\backuo folder\\bb.bak

zare69
دوشنبه 09 خرداد 1390, 09:16 صبح
کد که آفای reza2012 نوشتن برای پشتیبان گیری نه بازیابی کسی بلد نیست؟

bazardeh
دوشنبه 09 خرداد 1390, 15:40 عصر
برای بازیابی از کد زیر استفاده کن



String s = "School";
SqlConnection sq = new SqlConnection("server=(local);database=School;integrated security=true;");
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "*.bak|*.bak";
if (ofd.ShowDialog() == DialogResult.OK)
{
string query = "USE [master]; RESTORE DATABASE [" + s + "] FROM DISK = N'" +ofd.FileName + " ' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10";
SqlCommand com = new SqlCommand(query, sq);
sq.Open();
com.ExecuteNonQuery();
sq.Close();
}//if


school همان نام پایگاه شماست

reuonis
دوشنبه 09 خرداد 1390, 16:11 عصر
سلام و ممنون از کدهاتون
من وقتی که Connection String بانکم به صورت زیر است ارور می دهد که بانک وجود ندارد :
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\MYDB.mdf;Integrated Security=True;User Instance=True
ولی وقتی آدرس به صورت :
Data Source=Local;Initial Catalog=MYDB;Integrated Security=True
ارور نمی دهد. مشکل اولی از کجاست، چرا بانک را پیدا نمی کند، برای دستورات Select وغیره این مشکل وجود ندارد.

Unknownlive
سه شنبه 10 خرداد 1390, 09:10 صبح
پشتیبان پسوند bak داره برای چی MDF گفتی ؟

alirezamli
یک شنبه 30 مرداد 1390, 13:29 عصر
سلام و ممنون از کدهاتون
من وقتی که Connection String بانکم به صورت زیر است ارور می دهد که بانک وجود ندارد :
Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\MYDB.mdf;Integrated Security=True;User Instance=True
ولی وقتی آدرس به صورت :
Data Source=Local;Initial Catalog=MYDB;Integrated Security=True
ارور نمی دهد. مشکل اولی از کجاست، چرا بانک را پیدا نمی کند، برای دستورات Select وغیره این مشکل وجود ندارد.

من هم دقیقاً همین مشکل را دارم.لطفاً راهنمایی کنید....

sara213
پنج شنبه 03 شهریور 1390, 17:53 عصر
سلام
این کد ها به زبان VB.NETبرای بک اپ و ریستوره

asadegha
جمعه 06 آبان 1390, 21:57 عصر
سلام
آخر connectionString اینو اضافه کن:

DATABASE=bookstore

یعنی میشه:

"Data Source=localhost;initial catalog=bookstore;Integrated Security=true;DATABASE=bookstore"