PDA

View Full Version : تهیه Backup بعد از attach راهنماییم کنین لطفا



ali.ghodrati
شنبه 01 خرداد 1389, 11:39 صبح
سلام دوستان.من کدهای زیر رو وارد می کنم و اکسپشن رو هم می زارم .لطفا ایرادهامو بگید.ممنون

string command = @"BACKUP DATABASE [accounting] TO DISK = N'" + strFileName + "' WITH NOFORMAT, NOINIT, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
SqlConnection oConnection = null;

string scnn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\accounting.mdf;trusted_connection=yes;";
oConnection = new SqlConnection(scnn);
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(command, oConnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
oConnection.Close();


اینم اکسپشن
http://i50.tinypic.com/2a7h5k2.jpg

M.YasPro
شنبه 01 خرداد 1389, 11:47 صبح
مشکل از کانکشن استرینگ (connectionstrings.com) شماست .

ali.ghodrati
شنبه 01 خرداد 1389, 12:14 عصر
چه جوری باید درستش کنم کانکشن استرینگمو.اخه من دیتابیسم توی دایرکتوری ای هست که فایل اجراییمم همون جاست.با همین کانکشن استرینگ اگه ممکنه بگین چه جوری باید بکاپ بگیرم

M.YasPro
شنبه 01 خرداد 1389, 12:27 عصر
http://www.barnamenevis.biz/forum/showthread.php?t=101870&page=2

ali.ghodrati
شنبه 01 خرداد 1389, 12:38 عصر
ممنون که جوابمو می دی.
توی ای تاپیکی که برم لینکش رو گذاشتی از smo استفاده شده. من این رفرنس ها رو توی لیست رفرنسهام ندارم که بتونم ادشون کنم

using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

از کجا باید بیارم dll هاشو؟

M.YasPro
شنبه 01 خرداد 1389, 12:49 عصر
از


C:\Program Files\Microsoft SQL Server\90\SDK\Assemblies

ali.ghodrati
شنبه 01 خرداد 1389, 13:08 عصر
راهنماییم کنین لطفا.الان با این کد بکاپم درست شد.

string command = @"BACKUP DATABASE [" + Application.StartupPath + "\\accounting.mdf] TO DISK = N'" + strFileName + "' WITH NOFORMAT, NOINIT, NAME = N'accounting-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10";
this.Cursor = Cursors.WaitCursor;
SqlCommand oCommand = null;
SqlConnection oConnection = null;

string scnn = @"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\accounting.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";
oConnection = new SqlConnection(scnn);
if (oConnection.State != ConnectionState.Open)
oConnection.Open();
oCommand = new SqlCommand(command, oConnection);
oCommand.ExecuteNonQuery();
this.Cursor = Cursors.Default;
oConnection.Close();


ولی ریستورم یا این کدی که براتون می زارم ارور می ده

SqlConnection con = new SqlConnection();
con.ConnectionString = "Data Source=.\\sqlexpress;Initial catalog=master;Integrated Security=true";
//con.ConnectionString = "Data Source=.;Initial catalog=master;Integrated Security=true";
SqlCommand cmd = new SqlCommand();
con.Open();
string query = "USE master RESTORE DATABASE [" + Application.StartupPath + "\\accounting.mdf] FROM DISK ='" + strFileName + "'WITH RECOVERY, REPLACE";
cmd.CommandText = query;
cmd.Connection = con;
cmd.ExecuteNonQuery();
con.Close();

ali.ghodrati
شنبه 01 خرداد 1389, 13:41 عصر
جواب گرفتم خودم