У меня есть соединение с базой данных от Visual Basic до SQL Server, но я не знаю, как я могу создать резервную копию и восстановить ее.
В хороший день, здесь тебя оставил руководитель 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, для того, чтобы были сделаны спинки баз данных автоматически (Без необходимости того, чтобы было какое-то вмешательство кода).
Я жду и подайте тебе информацию, которая предложила тебя
Я выполняю следующую хранившуюся процедуру:
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