با سلام خدمت اساتيد
من جستجوي زيادي كاردم مطلب مفيدي در اين خصوص نبود كه :
چطور مي توانيد از يك يا چند جدول مورد نظر در يك پايگاه داده SQL Server پشتيبان تهيه و آنرا بازيابي كرد
ممنون
Printable View
با سلام خدمت اساتيد
من جستجوي زيادي كاردم مطلب مفيدي در اين خصوص نبود كه :
چطور مي توانيد از يك يا چند جدول مورد نظر در يك پايگاه داده SQL Server پشتيبان تهيه و آنرا بازيابي كرد
ممنون
از یک جدول یا چند جدول بخصوص نمی توانید backup بگیرید بلکه باید از exportو import جهت این منظور استفاده کنید.
سلام دوست عزیز
من خودم تو برنامم این کار رو کردم. کد خاصی که بتونه این کارو کنه وجود نداره و شما میتونی دستی این کار رو انجام بدی به این شکل:
اول یه database با نام دلخواه create کن
بعد با دستور select * into جدول یا جدول هایی که میخوای backup بگیری رو درون دیتابیس جدید کپی کن
حالا از دیتابیسی که ساختی backup بگیر
در آخر هم دیتابیس جدید رو drop کن
یه بخشی از کدم رو براتون میذارم امیدوارم مفید باشه
SqlCommand sqlcomm = new SqlCommand();
DataTable table_select = new DataTable();
SqlDataAdapter adp = new SqlDataAdapter();
sqlcomm.Connection = new SqlConnection();
sqlcomm.Connection.ConnectionString = your connection string
sqlcomm.Connection.Open();
sqlcomm.CommandText = " create database backup_db ";
sqlcomm.ExecuteNonQuery();
pg1.Maximum = checkedListBox1.CheckedItems.Count;
for (int i = 0; i <= checkedListBox1.Items.Count - 1; i++)
{
if (checkedListBox1.GetItemChecked(i) == true)
{
sqlcomm.CommandText = " select * into backup_db.dbo." + checkedListBox1.Items[i].ToString() + " from " + [database name] + ".dbo." + checkedListBox1.Items[i].ToString() + " option (keep plan) ";
sqlcomm.ExecuteNonQuery();
}
}
sqlcomm.CommandTimeout = 500;
sqlcomm.CommandText = " BACKUP DATABASE backup_db TO DISK = '" +path "' " +
" drop database backup_db";
sqlcomm.ExecuteNonQuery();
sqlcomm.Connection.Close();
در ضمن باید بگم که chechlistbox شامل جداول دیتابیس مورد نظره . تو برنامم کاربر از checklistbox جداولی که میخواد backup بگیره رو انتخاب میکنه