View Full Version : چطور از يك جدول مورد نظر در SQL Server پشتيبان بگيريم
  
sh2007
دوشنبه 27 خرداد 1387, 09:03 صبح
با سلام خدمت اساتيد 
من جستجوي زيادي كاردم مطلب مفيدي در اين خصوص نبود كه :
چطور مي توانيد از يك يا چند جدول مورد نظر در يك  پايگاه داده SQL Server  پشتيبان تهيه و آنرا بازيابي كرد
 
ممنون
rezarafiee
دوشنبه 27 خرداد 1387, 09:34 صبح
از یک جدول یا چند جدول بخصوص نمی توانید backup  بگیرید بلکه باید از exportو import جهت این منظور استفاده کنید.
mehrnoosh_al62
دوشنبه 27 خرداد 1387, 10:31 صبح
سلام دوست عزیز
من خودم تو برنامم این کار رو کردم. کد خاصی که بتونه این کارو کنه وجود نداره و شما میتونی دستی این کار رو انجام بدی به این شکل:
اول یه database با نام دلخواه create کن
بعد با دستور select * into  جدول یا جدول هایی که میخوای backup بگیری رو درون دیتابیس جدید کپی کن
حالا از دیتابیسی که ساختی backup بگیر
در آخر هم دیتابیس جدید رو drop کن
mehrnoosh_al62
دوشنبه 27 خرداد 1387, 10:39 صبح
یه بخشی از کدم رو براتون میذارم امیدوارم مفید باشه
 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 بگیره رو انتخاب میکنه
 
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.