Implementar rotina de backup para dados em SQLExpress
Oi pessoal,
Desenvolvi um sistema e estou no final, agora gostaria de implementar uma rotina para fazer backup dos dados que estão gravados no banco de dados SQLExpress e posteriormente restaurar estes dados. Alguem pode me ajudar?
Desenvolvi um sistema e estou no final, agora gostaria de implementar uma rotina para fazer backup dos dados que estão gravados no banco de dados SQLExpress e posteriormente restaurar estes dados. Alguem pode me ajudar?
Davi Pinheiro
Curtidas 0
Respostas
Marcelo Silva
09/11/2010
Boa tarde,
nesse link explica um pouco como fazer!
http://social.msdn.microsoft.com/Forums/pt-BR/vscsharppt/thread/940bb8e1-37f7-4ffb-b570-42840758dd77
http://msdn.microsoft.com/pt-br/library/ms162133.aspx
GOSTEI 0
Marcelo Silva
09/11/2010
nesse tbm
http://www.linhadecodigo.com.br/artigo/2326/Gerando-backup-no-SqlServer-via-c%C3%B3digoSqlCommand-e-DMO.aspx
GOSTEI 0
Davi Pinheiro
09/11/2010
Pessoal, consegui gerar o backup com o seguinte código, obrigado
Porem, agora não estou conseguindo fazer a restauração do backup, vocês podem me ajudar?
Desde já, obrigado.
private void btBackup_Click(object sender, EventArgs e)
{
var filePath = (@"C:\Backups\sbLuto2.bak");
try
{
var sc = new ServerConnection(".\\SQLEXPRESS");
var server = new Server(sc);
if (server.Databases["dbLuto2"] != null)
{
MessageBox.Show("chegou");
//Criando o diretorio do Backup
if (!Directory.Exists(@"C:\Backups"))
{
Directory.CreateDirectory(@"C:\Backups");
}
// Criando o objeto Backup
var bak = new Backup();
bak.Incremental = false;
bak.Action = BackupActionType.Database;
//string data = DateTime.Now.Date.ToString("MM-dd-yy");
bak.BackupSetName = "dbLuto2_Backup";// +data;
// Definindo o banco de dados a ser salvo
bak.Database = "dbLuto2";
bak.Checksum = true;
// Adcionando um destino para o backup
bak.Devices.Add(new BackupDeviceItem(filePath, DeviceType.File));
// Executando o backup
bak.SqlBackup(server);
}
}
catch (Exception ex)
{
MessageBox.Show("Erroa ao fazer o backup = "+ex.Message);
}
}
Porem, agora não estou conseguindo fazer a restauração do backup, vocês podem me ajudar?
Desde já, obrigado.
private void btBackup_Click(object sender, EventArgs e)
{
var filePath = (@"C:\Backups\sbLuto2.bak");
try
{
var sc = new ServerConnection(".\\SQLEXPRESS");
var server = new Server(sc);
if (server.Databases["dbLuto2"] != null)
{
MessageBox.Show("chegou");
//Criando o diretorio do Backup
if (!Directory.Exists(@"C:\Backups"))
{
Directory.CreateDirectory(@"C:\Backups");
}
// Criando o objeto Backup
var bak = new Backup();
bak.Incremental = false;
bak.Action = BackupActionType.Database;
//string data = DateTime.Now.Date.ToString("MM-dd-yy");
bak.BackupSetName = "dbLuto2_Backup";// +data;
// Definindo o banco de dados a ser salvo
bak.Database = "dbLuto2";
bak.Checksum = true;
// Adcionando um destino para o backup
bak.Devices.Add(new BackupDeviceItem(filePath, DeviceType.File));
// Executando o backup
bak.SqlBackup(server);
}
}
catch (Exception ex)
{
MessageBox.Show("Erroa ao fazer o backup = "+ex.Message);
}
}
GOSTEI 0
Davi Pinheiro
09/11/2010
Esqueci de postar o código que está dando erro
Da erro na seguinte linha ( res.SqlRestore(server); )
e o erro é ( Restore failed for server 'Davi-PC\SQLExpress';
var filePath = (@"C:\Backups\sbLuto2.bak");
try
{
var sc = new ServerConnection(".\\SQLEXPRESS");
var server = new Server(sc);
if (server.Databases["dbLuto2"] != null)
{
var res = new Restore();
var bdi = new BackupDeviceItem(filePath, DeviceType.File);
res.Action = RestoreActionType.Database;
//res.NoRecovery = false;
res.Devices.Add(bdi);
res.Database = "dbLuto2";
res.Checksum = true;
res.SqlRestore(server);
MessageBox.Show("Restauração do banco realizada com sucesso!!!");
}
}
catch (Exception ex)
{
MessageBox.Show("Erroa ao fazer a restauração = " + ex.Message);
}
Da erro na seguinte linha ( res.SqlRestore(server); )
e o erro é ( Restore failed for server 'Davi-PC\SQLExpress';
var filePath = (@"C:\Backups\sbLuto2.bak");
try
{
var sc = new ServerConnection(".\\SQLEXPRESS");
var server = new Server(sc);
if (server.Databases["dbLuto2"] != null)
{
var res = new Restore();
var bdi = new BackupDeviceItem(filePath, DeviceType.File);
res.Action = RestoreActionType.Database;
//res.NoRecovery = false;
res.Devices.Add(bdi);
res.Database = "dbLuto2";
res.Checksum = true;
res.SqlRestore(server);
MessageBox.Show("Restauração do banco realizada com sucesso!!!");
}
}
catch (Exception ex)
{
MessageBox.Show("Erroa ao fazer a restauração = " + ex.Message);
}
GOSTEI 0
Davi Pinheiro
09/11/2010
Pessoal, consegui fazer o restore do banco, o código estava com um erro no nome do banco. Outro detalhe é que para fazer a restauração o SQL Server Management deve estar fechado ou desconectado ao banco.
GOSTEI 0