0 امتیاز
با عرض سلام و خسته نباشید خدمت استاد عزیز

 

من یک دیتابیس به نام Bsj در نرم افزار sql server 2016 دارم ، میخوام اطلاعات این دیتابیس رو در سی شارپ پشتیبان گیری و باز نشانی کنم ، یه قسمتی از کد نویسی رو انجام دادم ولی کد پشتیبان گیری و باز نشانی رو بلد نیستم .

آدرس دیتابیسم این هست   Data Source=.;Initial Catalog=Bsj;Integrated Security=True

لطفا راهنماییم کنید ... ممنونم .

1 پاسخ

+1 امتیاز

سلام دوست عزیز

این کد تهیه بک اپ و بازیابی هستش

2 تا  باتن هست برای دیالوگ ذخیره دیتابیس و اونیکی هم گرفتن پشتیان

 

namespace BackupRestore
{
    public partial class Form1 : Form
    {

        private string _connectionString = "Data Source=(local);Initial Catalog=DBName ;user id=sa";
        private SqlConnection SqlConnection1 = new SqlConnection();                                 

        public Form1()
        {
            InitializeComponent();
            this.SqlConnection1.ConnectionString = this._connectionString;
        }

private void Backup(string filename)
{
    try
    {
        string command = @"Backup DataBase DBName To Disk='" + filename + "'";
        this.Cursor = Cursors.WaitCursor;                                
        if (SqlConnection1.State != ConnectionState.Open)
        {
            SqlConnection1.Open();
        }
        SqlCommand SqlCommand1 = null;

        SqlCommand1 = new SqlCommand(command, this.SqlConnection1);
        SqlCommand1.ExecuteNonQuery();
        this.Cursor = Cursors.Default;

        MessageBox.Show("تهیه نسخه پشتیبان از اطلا عات با موفقیت انجام شد");
    }

    catch (Exception ex)
    {
        MessageBox.Show("Error : ", ex.Message);
    }
}



///////////////restore

private void Restore(string filename)
{
    try
    {
        string command = @"ALTER DATABASE DBName  SET SINGLE_USER with ROLLBACK IMMEDIATE " + " USE master " + " RESTORE DATABASE DBName FROM DISK= N'" + filename + "'";
        this.Cursor = Cursors.WaitCursor;
        SqlCommand SqlCommand1 = null;
                
        if (SqlConnection1.State != ConnectionState.Open)
        {
            SqlConnection1.Open();
        }
        SqlCommand1 = new SqlCommand(command, this.SqlConnection1);
        SqlCommand1.ExecuteNonQuery();
        this.Cursor = Cursors.Default;
        MessageBox.Show("بازیابی اطلاعات از  نسخه پشتیبان از  با موفقیت انجام شد");
    }
    catch (Exception ex)
    {
        MessageBox.Show("Error : ", ex.Message);
    }
}

private void button1_Click(object sender, EventArgs e)
{

    SaveFileDialog saveFileDialog1 = new SaveFileDialog();

    string filename = string.Empty;
    saveFileDialog1.OverwritePrompt = true;
    saveFileDialog1.DefaultExt = "";
    saveFileDialog1.Filter = @"SQL Backup Files ALL Files (*.*) |*.*| (*.Bak)|*.Bak";
    saveFileDialog1.FilterIndex = 1;

    saveFileDialog1.Title = "Backup SQL File";
    if (saveFileDialog1.ShowDialog() == DialogResult.OK)
    {
        filename = saveFileDialog1.FileName;
        Backup(filename);
    }
}




private void button2_Click(object sender, EventArgs e)
{
    OpenFileDialog openFileDialog1 = new OpenFileDialog();

    string filename = string.Empty;
    openFileDialog1.Filter = @"SQL Backup Files ALL Files (*.*) |*.*| (*.Bak)|*.Bak";
    openFileDialog1.FilterIndex = 1;
    openFileDialog1.Filter = @"SQL Backup Files (*.*)|";

    if (openFileDialog1.ShowDialog() == DialogResult.OK)
    {
        filename = openFileDialog1.FileName;
        Restore(filename);
    }
}

 

ممنونم استاد عزیز مشکل رفع شد

یک دنیا ممنون بابت راهنمایی هاتون
توسط (128 امتیاز) 1 6
سلام

وقت بخیر

نرم افزار حسابداری انبارداری دارم

از تکنولوژی LINQ to SQL ل=استفاده میکنم

برای پشتیبان گیری و بازیابی از کدهای شما استفاده کردم

خطای زیر رو دارم

Cannot open backup device 'C:\\Users\\I-Net\\Desktop\\test'. Operating system error 5(Access is denied.).\r\nBACKUP DATABASE is terminating abnormally

راهنمایی نماید

مربوط به پشتیبان گیری  

SqlCommand1.ExecuteNonQuery();

private string _connectionString = "Data Source=(local);Initial Catalog=Anbar_Database;Integrated Security=True";

اگر کد خاصی برای LINQ to SQL میخواهد لطفا برایم بفرستید
توسط (100 امتیاز) 2
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,921 کاربر

دسته بندی ها

...