یه بخشی از کدم رو براتون میذارم امیدوارم مفید باشه
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 بگیره رو انتخاب میکنه