Как сделать резервную копию базы данных SQL Server из Visual Basic?

У меня есть соединение с базой данных от Visual Basic до SQL Server, но я не знаю, как я могу создать резервную копию и восстановить ее.

0
задан 09.11.2016, 23:04
2 ответа

В хороший день, здесь тебя оставил руководитель Youtube как реализовывать спинку с визуального basic, там ты найдешь код, шаг за шагом, с чем ты сможешь добиваться одной из двух точек, которые ты хочешь реализовать. После здесь - код, чтобы реставрировать спинку базы данных.

В случае руководителя youtube, по очевидным причинам я не могу добавлять тебе код, но во втором случае да, так что здесь он:

Option Strict On

Imports System
Imports Microsoft.VisualBasic
Imports System.Windows.Forms

Imports System.Data.SqlClient

Public Class Form1

    Private Sub btnRestore_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnRestore.Click
        Me.btnRestore.Enabled = False
        Me.btnRestore.Text = "Restaurando..."
        Me.btnRestore.Refresh()

        Dim sBackup As String = "RESTORE DATABASE " & Me.txtBase.Text & _
                                " FROM DISK = '" & Me.txtBackup.Text & "'" & _
                                " WITH REPLACE"

        Dim csb As New SqlConnectionStringBuilder
        csb.DataSource = Me.txtServidor.Text
        ' Es mejor abrir la conexión con la base Master'


        csb.InitialCatalog = "master"
        csb.IntegratedSecurity = True

        Using con As New SqlConnection(csb.ConnectionString)
            Try
                con.Open()

                Dim cmdBackUp As New SqlCommand(sBackup, con)
                cmdBackUp.ExecuteNonQuery()
                MessageBox.Show("Se ha restaurado la copia de la base de datos.", _
                                "Restaurar base de datos", _
                                MessageBoxButtons.OK, MessageBoxIcon.Information)

                con.Close()
            Catch ex As Exception
                MessageBox.Show(ex.Message, _
                                "Error al restaurar la base de datos", _
                                MessageBoxButtons.OK, MessageBoxIcon.Error)
            End Try
        End Using

        Me.btnRestore.Text = "Restaurar copia"
        Me.btnRestore.Enabled = True
        Me.btnRestore.Refresh()

    End Sub
End Class

Кроме того я добавляю (хотя он не связан с вопросом) способ делать job в SQL Server, для того, чтобы были сделаны спинки баз данных автоматически (Без необходимости того, чтобы было какое-то вмешательство кода).

Я жду и подайте тебе информацию, которая предложила тебя

2
ответ дан 24.11.2019, 12:40

Я выполняю следующую хранившуюся процедуру:

    ALTER PROCEDURE [dbo].[SISACLatin.BackupEjecutar] (@Ruta Varchar(MAX), @NombreBd Varchar(1000), @Extension Varchar(6))
    AS
    BEGIN
Declare @Fecha varchar(MAX)
Declare @Archivo varchar(MAX)
Declare @NombreBackup varchar(MAX)

Set @Fecha = CONVERT(Varchar(max), GETDATE(),23)+'%'+REPLACE(CONVERT(Varchar(max), GETDATE(),8),':','')
PRINT @Fecha

Set @Archivo = @Ruta+'\'+@NombreBd+@Fecha+@Extension
Set @NombreBackup = 'Backup completo '+@NombreBd

-- WITH NOFORMAT, MEDIANAME = 'D_SQLServerBackups', NAME = ;
BACKUP DATABASE @NombreBd TO DISK = @Archivo WITH NOFORMAT, INIT, NAME = @NombreBackup, SKIP, NOREWIND, NOUNLOAD, STATS = 10;

    END
1
ответ дан 24.11.2019, 12:40

Теги

Похожие вопросы