Backup e restauração de banco de dados sql server com form c#
14 respostas
Legolas
Boa tarde
alguém ai conhece uma maneira de fazer isso? Um backup e uma restauração usando o c#?
Pq eu ja tentei de tudo, ja usei vareas maneiras: Criei o form, inseri os botoes, inseri os codigos, mas o infeliz não salva o backup. Ele ate abre o local pra salvar na minha maquina.
Então usei outra forma, e da no mesmo…o botão ate abre o local pra salvamento…mas nao salva.
então eu comecei a suspeitar que o banco de dados devia estar em alguma condição para que o sistema funcione…só não sei qual é
alguém ai tem alguma maneira de fazer um backup e a restauração usando um formulário C#
Vai por parte. Posta o código relacionando ao problema que está tendo no momento.
javaflex
Se no momento está com problema na parte de gerar backup, segue um exemplo simples:
varcaminho=@"C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Backup\arquivo.bak";using(SqlCommandcommand=newSqlCommand()){command.Connection=suaConnection;command.CommandText=string.Format(@"BACKUP DATABASE seu_banco TO DISK = N'{0}' WITH INIT, NOREWIND, NOUNLOAD, SKIP",caminho);command.ExecuteNonQuery();}
stringaaa=@"Data Source="+servname+";Integrated Security=True;Initial Catalog="+dbname+"";SqlConnectionconn=newSqlConnection(aaa);conn.Open();stringstr="USE "+dbname+";";stringstr1=" BACKUP DATABASE "+dbname+"TO DISK = 'D:\\dataname\\"+dbname+"_"+dd+".Bak' WITH FORMAT, MEDIANAME = 'Z_SQLServerBackups', NAME = 'Full Backup of"+dbname+"';";SqlCommandcmd1=newSqlCommand(str,conn);SqlCommandcmd2=newSqlCommand(str1,conn);cmd1.ExecuteNonQuery();MessageBox.Show("Backup feito com Sucesso. Você pode encontrar este arquivo (DB name.Bak) no seu disco D: \\ .... nunca edite este nome de arquivo.");conn.Close();}
esse código e pra gerar backup
javaflex
Seu script de backup está setado pro cmd2, e voce está chamando o ExecuteNonQuery para cmd1 somente. E se nao me falha a memória, nao precisa executar esse USE. Na dúvida testa o exemplo que te passei.
Legolas
ok…vou fazer isso…
mas o que devo colocar no “sua conexão”?
javaflex
A connection que tiver usando. Pelo código que postou depois seria conn.
Legolas
ola JavaFlex…
eu inserir inicialmente o codigo sem uma parte dele (esqueci de colocar inteiro) ele realmente faltava o cmd2. Agora ja esta no lugar. vou mostrar a imagem do codigo completo aqui!
esta é a imagem do codigo compelto com o cmd2