PDA

View Full Version : backup و restor در با استفاده از بانک sql



RIG000
جمعه 26 فروردین 1390, 05:46 صبح
بچه از عنوان مشخص بود . راستش من میخام که از بانکم backup و restoresh هم کنم . اما چون بانکم sql هست نمیتونم. با access بلدم اما یا sql نه . میشه یه نمونه بذارید. زبان برنامه نویسی هم که مشخصه c# .
ممنون میشم.

hossin.esm
جمعه 26 فروردین 1390, 07:24 صبح
لینک را ببین
http://barnamenevis.org/showthread.php?64210-نمونه-برنامه-های-کوچک-و-مفيد-در-سي-شارپ&p=1172369&viewfull=1#post1172369

RIG000
جمعه 26 فروردین 1390, 21:06 عصر
بچه ابن کد رو ببینید .
DataTable dtServers = SmoApplication.EnumAvailableSqlServers(true);

// If there are any servers at all

if (dtServers.Rows.Count > 0)
{

// Loop through each server in the DataTable

foreach (DataRow drServer in dtServers.Rows)
{

// Add the name to the combobox

cmbServer.Items.Add(drServer["Name"]);

}

}
من sql server 2005 Exprees رو نصب دارم و این back& restor رو از سایتی گرفتم . اما مشکل اینه که هم چی درست ا ما این کد که یاید برام sqrver هامو read کنه نمیکنه .

DataTable dtServers = SmoApplication.EnumAvailableSqlServers(true);

// If there are any servers at all

if (dtServers.Rows.Count > 0)
{

// Loop through each server in the DataTable

foreach (DataRow drServer in dtServers.Rows)
{

// Add the name to the combobox

cmbServer.Items.Add(drServer["Name"]);

}

}
و تو کمبو باکس نمایش بده .که نمایش نمیده . اینم سایت http://www.geekpedia.com/tutorial180_Backup-and-restore-SQL-databases.html
میشه یه نگاهی یندازین و یه کمکی کنید مشکل کجاست . اگه شد یه توضیحی هم در مورد کد ها بدین . هر کی هر چی بلده بگه . مرسی

RIG000
شنبه 27 فروردین 1390, 07:16 صبح
کسی نبود در این مورد کمکم کنه؟

RIG000
شنبه 27 فروردین 1390, 19:59 عصر
کسی بلد نبود؟

ma.rad
شنبه 27 فروردین 1390, 20:31 عصر
.پشتیبان
privatevoid ToolStripMenuItem1_Click(object sender, EventArgs e)
{

SaveFileDialog saveFileDialog = newSaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup";
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = newSqlCommand();
cmd.Connection = newSqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\your bank.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
cmd.Connection = newSqlConnection(@"Data Source=.\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show(" \n ", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
بازیابی
privatevoid ToolStripMenuItem1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = newOpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
openFileDialog.DefaultExt = "Bak";
openFileDialog.RestoreDirectory = true;
openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = newSqlCommand();
cmd.Connection = newSqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\your bank.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + openFileDialog.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = newSqlConnection(@"Data Source=.\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

ma.rad
شنبه 27 فروردین 1390, 20:48 عصر
اینو که گفتم برا sql exp 2005 و تو تایپیکای دیگه نبود
برا sql server به تاپیک زیر سر بزن کامله
http://barnamenevis.org/forumdisplay.php?182-Backup-amp-Restore

RIG000
شنبه 27 فروردین 1390, 20:51 عصر
----------------------------------------------------------------------------------


.پشتیبان
privatevoid ToolStripMenuItem1_Click(object sender, EventArgs e)
{

SaveFileDialog saveFileDialog = newSaveFileDialog();
saveFileDialog.AddExtension = true;
saveFileDialog.CheckFileExists = false;
saveFileDialog.CheckPathExists = true;
saveFileDialog.OverwritePrompt = true;
saveFileDialog.FileName = "Backup";
saveFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
saveFileDialog.DefaultExt = "Bak";
saveFileDialog.RestoreDirectory = true;
saveFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (saveFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = newSqlCommand();
cmd.Connection = newSqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\your bank.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;//
cmd.Connection.Close();
SqlConnection.ClearAllPools();
string query = "BACKUP DATABASE [" + dbname + "] TO DISK ='" + saveFileDialog.FileName + "'";
cmd.Connection = newSqlConnection(@"Data Source=.\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
this.Refresh();
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show(" \n ", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
}
بازیابی
privatevoid ToolStripMenuItem1_Click(object sender, EventArgs e)
{
OpenFileDialog openFileDialog = newOpenFileDialog();
openFileDialog.AddExtension = true;
openFileDialog.CheckFileExists = false;
openFileDialog.CheckPathExists = true;
openFileDialog.Filter = "Backup File (*.Bak)|*.Bak";
openFileDialog.DefaultExt = "Bak";
openFileDialog.RestoreDirectory = true;
openFileDialog.InitialDirectory = System.Windows.Forms.Application.StartupPath;
if (openFileDialog.ShowDialog() == DialogResult.OK)
{
try
{
this.Refresh();
SqlCommand cmd = newSqlCommand();
cmd.Connection = newSqlConnection(@"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector y|\your bank.mdf;Integrated Security=True;Connect Timeout=10;User Instance=True");
cmd.Connection.Open();
string dbname = cmd.Connection.Database;
cmd.Connection.Close();
string query = "ALTER DATABASE [" + dbname + "] SET SINGLE_USER WITH ROLLBACK IMMEDIATE ;RESTORE DATABASE [" + dbname + "] FROM DISK = '" + openFileDialog.FileName + "';ALTER DATABASE [" + dbname + "] SET MULTI_USER ;";
cmd.Connection = newSqlConnection(@"Data Source=.\sqlexpress;Integrated Security=True;Connect Timeout=30;User Instance=True");
cmd.Connection.Open();
cmd.CommandText = query;
cmd.ExecuteNonQuery();
cmd.Connection.Close();
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
catch
{
MessageBox.Show(" ", "", MessageBoxButtons.OK, MessageBoxIcon.Error);
}