La Web del Programador: Comunidad de Programadores
 
    Pregunta:  35290 - SQL BACKUP EN VISUAL BASIC
Autor:  Francisco Ant. Diaz P.
Hola como estan, hice una aplicacion en visual basic la cual realiza un backup de cualquier base de datos en sql, pero esta sujeta a la direccion fija del seridor y la base de datos. me propongo realizar este mismo programa pero yo decirle dentro del servidor cual es la ruta y la base de datos, pero se ha hecho imposible, si alguien me puede ayudar, se lo agradezco.

  Respuesta:  Luis Muro
Hola. Yo he estado buscando lo mismo y he encontrado la solución en el mismo SQL, en Libros en Pantalla (la ayuda de SQL). Ahí podrás encontrar lo que necesitas para solucionar tu inconveniente. Te sugiero que leas la documentación. En busca (Search), pon lo siguiente: SQLDMO. Ahí encontrarás varios ítems para no sólo sacar backup, sino también para restaurarlos. Aquí te envío una sección de código fuente que lo podrás encontrar ahí mismo:

Como lo dice en el ejemplo siguiente, no necesitas establecer la conexión con tu base de datos. Lo que sí tienes que hacer es agregar en VB, en Referencias: Microsoft SQLDMO object library
para que puedas tener los atributos SQLDMO

' Dimension a string object used to capture the Transact-SQL command
' batch implementing the backup.
Dim strBackup as String

' Create a Backup object and set action and source database properties.
Dim oBackup As New SQLDMO.Backup
oBackup.Action = SQLDMOBackup_Files
oBackup.Database = "Northwind" 'àquí puedes usar una variable para
'para definir tu base de datos

' Example illustrates backup of multiple file groups.
oBackup.DatabaseFileGroups = "[PRIMARY],[NorthwindTextImg]"

' Example illustrates a striped backup using two target devices. Note:
' Device creation is not illustrated in this example.
oBackup.Devices = "[NorthDev1],[NorthDev2]"

' Optional. Backup set name and description properties provide
' descriptive text when backup header is displayed for the device(s).
oBackup.BackupSetName = "Northwind_FileGroups_" & Date & "_" & Time
oBackup.BackupSetDescription = _
"Backup of PRIMARY and NorthwindTextImg filegroups."

' Call GenerateSQL method to generate the Transact-SQL command batch.
' The command batch returned can provide a value for the Command
' property of a JobStep object.
' Note: A connected SQLServer object is not necessary for routine
' execution.
strBackup = oBackup.GenerateSQL

Espero haberte ayudado.

Un saludo.