Académique Documents
Professionnel Documents
Culture Documents
Como fazer isto via cdigo ? Vamos criar um projeto no Visual Studio .NET do tipo Windows Application usando a linguagem VB.NET. Neste projeto voc vai aprender a: Listar os banco de dados existente no SQL Server Efetuar o BACKUP de um banco de dados no SQL Server Efetuar o RESTORE de um banco de dados no SQL Server No formulrio padro do projeto insira trs controles Button , um ListBox e um GroupBox conforme a figura abaixo:
Como vamos acessar o SQL Server deveremos importar o namespace : Imports System.Data.SqlClient
O cdigo da classe
Vou criar um mdulo de classe usando o menu Project opo Add Class com o nome de SQLServer.vb e nele irei criar 3 mtodos : ObtemBancoDeDadosSQLServer BackupDataBase RestauraDataBase O cdigo de cada mtodo dado a seguir: a- ObtemBancoDeDadosSQLServer - retorna uma string com a relao dos banco de dados existentes no SQL Server. Estou abrindo uma conexo com o banco de dados MASTER e usando a tabela sysdatabases para obter o nome dos banco de dados Function ObtemBancoDeDadosSQLSever(ByVal ConnString As String) As String() Dim cn As New SqlConnection(ConnString) Dim dbLista As New ArrayList ' retorn o nome de todos os banco de dados da tabela sysdatabases em MASTER Dim cmd As New SqlCommand("SELECT [name] FROM sysdatabases", cn) Dim reader As SqlDataReader cn.Open() Try reader = cmd.ExecuteReader() Catch ex As Exception MsgBox(ex.Message()) End Try While reader.Read() ' inclui o nome no arraylist dbLista.Add(reader("name")) End While cn.Close() ' retorna o array de strings Return dbLista.ToArray(GetType(String)) End Function
b - BackupDatabase - Estou usando o comando BACKUP DATABASE para fazer o backup do banco de dados selecionado na caixa de listagem. Function BackupDatabase(ByVal connString As String, ByVal nomeDB As String, ByVal backupFile As String) Dim cn As New SqlConnection(connString) Try ' comando para fazer o backup do Banco de dados Dim cmdBackup As New SqlCommand("BACKUP DATABASE ["
& nomeDB & "] TO DISK = '" & backupFile & "'", cn) cn.Open() cmdBackup.ExecuteNonQuery() Finally cn.Close() End Try End Function
Cdigo do formulrio
Para usar estes mtodos devemos criar uma instncia da classe no formulrio do projeto. Abaixo temos o cdigo para cada um dos botes (Evento Click): O cdigo do boto - Relao de banco de dados no SQL Server: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim conexaoSQLServer As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Master" Dim sqlUtils As New SQLServer Dim databases() As String = sqlUtils.ObtemBancoDeDadosSQLSever(conexaoSQLServer) Dim listaDB As String For Each listaDB In databases lstBDSQLServer.Items.Add(listaDB) Next End Sub
Dim sqlUtils As New SQLServer Dim conexaoSQLServer As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Master" Try sqlUtils.BackupDatabase(conexaoSQLServer, lstBDSQLServer.SelectedItem, "D:\TesteSQLServerBackup.bak") MsgBox("BACKUP DO BANCO DE DADOS " & lstBDSQLServer.SelectedItem & " FEITO COM SUCESSO !") Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub
Cdigo do boto de restaurao: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim conexaoSQLServer As String = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Master" Dim sqlUtils As New SQLServer Try sqlUtils.RestauraDatabase(conexaoSQLServer, lstBDSQLServer.SelectedItem, "D:\TesteSQLServerBackup.bak") MsgBox("RESTAURAO DO BANCO DE DADOS " & lstBDSQLServer.SelectedItem & " EFETUADA COM SUCESSO !") Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub Executando o projeto temos na figura abaixo um exemplo obtido para minha mquina local: