Visual Basic.NET - Restaurar Basde de Datos SQL Server [VB.NET 2005]

 
Vista:

Restaurar Basde de Datos SQL Server [VB.NET 2005]

Publicado por Lilia (62 intervenciones) el 19/09/2007 16:41:24
Hola!!
Buen día tengan todos!
Esta vez vengo con una cuestión, pasa de que quiero ver si es posible alguien me pudiera dar una ayudadita con esto..

Restaurar mi base de datos desde visual..
Tengo el JOB de SQL Server 2000:

CREATE Proc [dbo].[P_RESTAURAR_BASEDEDATOS]
@OP int,
@MyRespaldo VARCHAR(100),
@Direccion VARCHAR(100),
@Respaldar VARCHAR(100)
AS
if @OP=1
SET @Respaldar = @Direccion+ @MyRespaldo+CONVERT(CHAR(10), GETDATE(), 112)
RESTORE DATABASE Fumigacion FROM DISK = @Respaldar WITH REPLACE
GOMás no se cómo llamarlo a ejecutar desde Visual Basic . Net 2005,
La idea sería llamar el archivo bakupBD.bak de algun botón Examinar o algo pareccido, y restaurarla...
o bien si alguien tiene alguna propuesta se lo agradecería mucho..
De Antemano Muchas gracias..!!
Que tengan un excelente día!!
Besos!!...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Restaurar Basde de Datos SQL Server [VB.NET 200

Publicado por Harold V. (411 intervenciones) el 19/09/2007 18:27:10
Hola:

Este codigo borra tu bd actual y luego restaura un archivo .bak

En txtRutadatos.text coloco la ruta de mi archivo .bak

Ejm: txtRutadatos.text= C:\Tucarpeta\BackUp.bak
TUBASEDEDATOS=remplazalo por el nombre tu bd


If MessageBox.Show("Usted está a punto de restaurar la base de datos," & vbCrLf & _
"asegurese de que el archivo .bak sea reciente, de" & vbCrLf & _
"lo contrario podría perder información y no podrá" & vbCrLf & _
"recuperarla, desea continuar?", "Restauración de base de datos", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then

Dim cnn As New SqlConnection("Server=Tuservidor;database=master; integrated security=yes")

cnn.Open()

Dim DropRes As String = "EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'TUBASEDEDATOS' USE [master] ALTER DATABASE [TUBASEDEDATOS] SET SINGLE_USER WITH ROLLBACK IMMEDIATE DROP DATABASE [TUBASEDEDATOS] RESTORE DATABASE TUBASEDEDATOS FROM DISK = N'" & txtRutaDatos.Text & "' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"

Try
If Con.State = ConnectionState.Open Then
Con.Close()
End If
Dim BorraRestaura As New SqlCommand(DropRes, cnn)
BorraRestaura.ExecuteNonQuery()

MessageBox.Show("La base de datos " & Microsoft.VisualBasic.Left(txtRutaDatos.Text, txtRutaDatos.TextLength - 4) & " ha sido restaurada satisfactoriamente!", "Restauración de base de datos", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As Exception
MessageBox.Show(ex.Message, "Error al restaurar la base de datos", MessageBoxButtons.OK, MessageBoxIcon.Error)
Finally
If cnn.State = ConnectionState.Open Then
cnn.Close()
End If
End Try
Else ' No restaura
Exit Sub
End If
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Restaurar Basde de Datos SQL Server [VB.NET 200

Publicado por Lilia (62 intervenciones) el 20/09/2007 01:24:18
Hola!!!
Muchas gracias por responder!!!
He estado probando con lo ke me mandaste pero aún no logro me funcione al 100..
Te cuento 'Fumigacion' es mi bd
Me marca algunos errores:

*Me dice que el parametro: @database_name no es parametro del sp_delete_database_backuphistory... :S...
Changed database context to 'Fumigacion'......??????

*No se puede tener acceso a la base de datos porke esta en uso!

*Andaré perdida en esta línea??:
Dim DropRes As String = "EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'FUMIGACION' USE [Fumigacion] ALTER DATABASE [Fumigacion] SET SINGLE_USER WITH ROLLBACK IMMEDIATE DROP DATABASE [Fumigacion] RESTORE DATABASE Fumigacion FROM DISK = N'" & Me.txtrutadatos.Text & "' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"

Muchas gracias de antemano.. Me darias una ayudadita (y de paso par de sapes)para que esto funcione bien?
Que tengas un excelente día!!...
Besos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Restaurar Basde de Datos SQL Server [VB.NET 200

Publicado por Harold V. (411 intervenciones) el 20/09/2007 05:46:20
Hola:

Es USE [master] no USE [Fumigacion]

Si te das cuenta, dentro de la cadena existe un RESTORE

Se encarga de restaurar........
RESTORE DATABASE ISAliments FROM DISK = N'" & txtRutaDatos.Text & "' WITH FILE = 1, NOUNLOAD, REPLACE, STATS = 10"

Entonces todo lo anterior de que sirve??, Sirve para eliminar una BD

Si ejecutas esto en el SQLServer Cierra las conexiones abierta de la BD, borra la BD y sus Backups ........

EXEC msdb.dbo.sp_delete_database_backuphistory @database_name = N'ISAliments'
GO
USE [master]
GO
DROP DATABASE [ISAliments]
GO

Y esto restaura un BD

RESTORE DATABASE [ISAliments] FROM DISK = N'D:\ISAliments23Ago.bak' WITH FILE = 1, NOUNLOAD, STATS = 10
GO

Y si ejecutamos los 2 en una sola lineaaaaaaa??? q pasa????, Borramos y restauramos automaticamete............

Y de donde se todo esto???, en el SQLServer2005 selecciona tu bd y haz click derecho, selecciona eliminar, listo......., ahora en la parte inferior marca las 2 casillas,,,ok, y supongo que no te diste cuenta en la parte superior de ese form hay una Opcion llamada "Script", sabes lo que hace no?????????, y lo mismo haces para restaurar tu BD............y tendras las sentencias SQL para eliminar y restaurar tu bd. Ahora slo lo pasas a .net y voila!!!!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Restaurar Basde de Datos SQL Server [VB.NET 200

Publicado por Lilia (62 intervenciones) el 20/09/2007 16:30:22
Pero no estás molesto verdad???...
Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Restaurar Basde de Datos SQL Server [VB.NET 200

Publicado por Harold V. (411 intervenciones) el 21/09/2007 02:26:12
Jaajajajaajaj no como crees.....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Restaurar Basde de Datos SQL Server [VB.NET 200

Publicado por franczorh (1 intervención) el 10/11/2009 15:07:33
codigo fuente en visual basic.net para restaurar base de datos sql server: http://sites.google.com/site/mivisualbasicnet/fuentesoftware
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar