En este grupo En todos

Foro de SQL Server



COMO HACE BACKUP SQL SERVER

Escrito por Antony
el 16/11/2006

Hola.. Espero puedas responderme... Tengo ptoblema para sacar una bacl up, pero me gustaria que la copia resultante sea en scripts sql, hay alguna forma de hacerlo? Por favor... Esopero tu pronta respuesta y gracias anticipadas..


Atte


AntonY

Santiago Carela Peguero
Republica Dominicana...
Escrito por Santiago Carela Peguero
el 16/11/2006

--Backup de la Base de datos

BACKUP DATABASE  PRUEBA

TO DISK =['C:\PRUEBA. BAK']

--Backup del Log

BACKUP LOG PRUEBA



TO DISK=['C:\PRUEBA. LOG']

Monica Rivera
Washington, Estados ...
Escrito por Monica Rivera
el 16/11/2006

El modelo de backup y recovery de SQL Server no ofrece esa opcion. No se de ningun producto que te haga un backup en formato. Sql.

Saludos,

Monica

Escrito por Nicolas Aranda
el 24/05/2007
Como puedo configurar el Sql Server para que cree backup de una base de datos? Ero utilizando algun cron? , osea que haga backup diaros, 2 veces al dia
Oscar Antonior Ruiz
El Salvador, El Salv...
Escrito por Oscar Antonior Ruiz
el 29/08/2007

Es sencillo crea un job y el job lo programas para que te lo haga segun sea tu necesidad..

Este es un ejemplo de uns scrip que te crea un job que respalda una base de datos llamada "CAMPESTRE" y la almacena en en "c:ackups" es preciso que esta carpeta exista en la maquina donde tienes instalado SQL... Espero te sirva...


USE [msdb]
GO
/****** Objeto:  Job [Respaldo de bases de datos]    Fecha de la secuencia de comandos: 08/29/2007 16:56:50 ******/
BEGIN TRANSACTION
DECLARE @ReturnCode INT
SELECT @ReturnCode = 0
/****** Objeto:  JobCategory [Database Maintenance]    Fecha de la secuencia de comandos: 08/29/2007 16:56:50 ******/
IF NOT EXISTS (SELECT name FROM msdb.dbo.syscategories WHERE name=N"Database Maintenance" AND category_class=1)
BEGIN
EXEC @ReturnCode = msdb.dbo.sp_add_category @class=N"JOB", @type=N"LOCAL", @name=N"Database Maintenance"
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback

END

DECLARE @jobId BINARY(16)
EXEC @ReturnCode =  msdb.dbo.sp_add_job @job_name=N"Respaldo de bases de datos",
        @enabled=1,
        @notify_level_eventlog=0,
        @notify_level_email=0,
        @notify_level_netsend=0,
        @notify_level_page=0,
        @delete_level=0,
        @description=N"respaldo de prueba",
        @category_name=N"Database Maintenance",
        @owner_login_name=N"sa", @job_id = @jobId OUTPUT
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
/****** Objeto:  Step [respaldo]    Fecha de la secuencia de comandos: 08/29/2007 16:56:50 ******/
EXEC @ReturnCode = msdb.dbo.sp_add_jobstep @job_id=@jobId, @step_name=N"respaldo",
        @step_id=1,
        @cmdexec_success_code=0,
        @on_success_action=1,
        @on_success_step_id=0,
        @on_fail_action=2,
        @on_fail_step_id=0,
        @retry_attempts=0,
        @retry_interval=0,
        @os_run_priority=0, @subsystem=N"TSQL",
        @command=N"-- Full Backup


declare @Path varchar(500) ,
             @DBName varchar(128),
             @FileName varchar(4000)

select @DBName = ""campestre""
select @Path = ""c:ackups""

select @FileName = @Path + @DBName + ""_Full_""
    + convert(varchar(8),getdate(),112) + ""_""
    + replace(convert(varchar(8),getdate(),108),"":"","""")
    + "". Bak""

backup database @DBName to disk = @FileName

select @DBName = ""pc""
select @Path = ""c:ackups""

select @FileName = @Path + @DBName + ""_Full_""
    + convert(varchar(8),getdate(),112) + ""_""
    + replace(convert(varchar(8),getdate(),108),"":"","""")
    + "". Bak""

backup database @DBName to disk = @FileName


select @DBName = ""seguridadp""
select @Path = ""c:ackups""

select @FileName = @Path + @DBName + ""_Full_""
    + convert(varchar(8),getdate(),112) + ""_""
    + replace(convert(varchar(8),getdate(),108),"":"","""")
    + "". Bak""

backup database @DBName to disk = @FileName",
        @database_name=N"campestre",
        @flags=0
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_update_job @job_id = @jobId, @start_step_id = 1
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobschedule @job_id=@jobId, @name=N"respaldo diario",
        @enabled=1,
        @freq_type=4,
        @freq_interval=1,
        @freq_subday_type=1,
        @freq_subday_interval=0,
        @freq_relative_interval=0,
        @freq_recurrence_factor=0,
        @active_start_date=20070828,
        @active_end_date=99991231,
        @active_start_time=160000,
        @active_end_time=235959
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
EXEC @ReturnCode = msdb.dbo.sp_add_jobserver @job_id = @jobId, @server_name = N"(local)"
IF (@@ERROR <> 0 OR @ReturnCode <> 0) GOTO QuitWithRollback
COMMIT TRANSACTION
GOTO EndSave
QuitWithRollback:
    IF (@@TRANCOUNT > 0) ROLLBACK TRANSACTION
EndSave:

Leonardo Javier
Buenos Aires, Argent...
Escrito por Leonardo Javier
el 08/10/2007

Hola mi nombre es leonardo

Quisiera saber como se hace el bckup pero que vaya pisando el de la fecha anterior.

Se entiende.

Bueno le agradeceria mucho al que me pueda dar esa solucion.

Saludos.

Escrito por Walter Cordero
el 11/10/2007
Hola, me llamo Walter y el ingeniero que nos da el curso de Base de Datos nos dijo que en SQl Server 2000 se poduen ver las tablas que uno ha creado en la base, quisiera saber como o en donde puedo ver estas tablas
Monica Rivera
Washington, Estados ...
Escrito por Monica Rivera
el 12/10/2007
"hola, me llamo Walter y el ingeniero que nos da el curso de Base de Datos nos dijo que en SQl Server 2000 se poduen ver las tablas que uno ha creado en la base, quisiera saber como o en donde puedo ver estas tablas "
por Walter Cordero (Octubre 2007)


Que herramientas estas usando? Enterprise Manager? Query Analyzer?

Escrito por Isaac
el 18/10/2007
"
"hola, me llamo Walter y el ingeniero que nos da el curso de Base de Datos nos dijo que en SQl Server 2000 se poduen ver las tablas que uno ha creado en la base, quisiera saber como o en donde puedo ver estas tablas "
por Walter Cordero (Octubre 2007)

HAY UNA HERRAMIENTA QUE SE LLAMA "ENTERPRISE MANAGER", OCUPAS PRIMERO INSTALARTE

EL SQL SERVER LOCALMENTE, CON ESO SE TE INSTALAN ESAS HERRAMIENTAS. OCUPAS EL DISCO DE INSTALACION DEL SQL 2000. DE AHI EN INTERNET PUEDES OBTENER MAS INFO.







Que herramientas estas usando? Enterprise Manager? Query Analyzer?

"
por Monica (Octubre 2007)




Cristhian Daniel Mayuri Quiroz
Egresado instituto superior tecnologic...
Escrito por Cristhian Daniel Mayuri Quiroz
el 12/11/2007

Hola: soy Crithian Mayuri de Peru,

Quisiera consultarte Oscar ruiz si me podrias detallar que hace exactamente tu transaccion y que parametros usa; como usando comentarios para los parametros, puesto que estoy haciendo una aplicacion en visual basic y no estoy seguro de hasta que punto tu codigo me pueda ayudar.

Gracias de Antemano.

Whitepawn Linares
Santander, Colombia
Escrito por Whitepawn Linares
el 14/01/2008

"para crear un backup realice lo siguiente, cree un combobox(CB_DataBase_Crea), un textbox(txt_Destino_Crea) dos botones(btn_Rute_Save_Bk) y (btn_Create) ahora realice los siguiente

"dos SaveFileDialog (SFD_Restaura) y (SFD_Crea) y un OpenFileDialog(OFD_Restaura)

"en las propiedades del OFD_Restaura modifique el FILTER por Archivos de Backup(*. Bak)|*. Bak

" se utilizaran dos importaciondes de sql server

Imports System.Data.SqlClient. SqlCommand

Imports System.Data.SqlClient

"cree una region para las variables

#Region "variables"

Private dt As DataTable

Private da As SqlDataAdapter

Public oCon As SqlConnection

#End Region

"Cree una funcion para leer las bases de datos disponibles

Private Function basesDeDatos() As String()

Dim basesSys() As String = {"master", "model", "msdb", "tempdb", "ReportServerTempDB", "ReportServer"} " filtra las DB del sistema

Dim bases() As String

Dim dt As New DataTable

Dim sCnn As String = "Data Source=" & nombre del servidor & ";database=master;User Id=" & nombre del usuario sql &";Password=" & contraseña del usuario sql

"reemplace en la cadena anterior ( nombre del servidor , nombre del usuario sql, contraseña del usuario sql )

Dim sel As String = "SELECT name FROM sysdatabases"

Try

Dim da As New SqlDataAdapter(sel, sCnn)

Da. Fill(dt)

ReDim bases(dt.Rows.Count - 1)

Dim k As Integer = -1

For i As Integer = 0 To dt.Rows.Count - 1

Dim s As String = dt. Rows(i). Item("name"). ToString()

If Array. IndexOf(basesSys, s) = -1 Then

K += 1

Bases(k) = s

CB_DataBase_Restaura.Items.Add(bases(k)) "este sera empleado para la restauracion del backup

CB_DataBase_Crea.Items.Add(bases(k))

End If

Next

If k = -1 Then Return Nothing

ReDim Preserve bases(k)

Return bases

Catch ex As Exception

MessageBox. Show(ex. Message, "Error al recuperar las bases de la instancia indicada", MessageBoxButtons. OK, MessageBoxIcon. Error)

End Try

Return Nothing

End Function

" en el botton btn_Rute_Save_Bk haga los siguiente

Dim vPathfile As String

Dim vResult As DialogResult

VResult = SFD_Crea. ShowDialog()

If vResult = Windows.Forms.DialogResult. OK Then

VPathfile = SFD_Crea. FileName

Txt_Destino_Crea. Text = vPathfile

End If

"en el boton btn_Create haga los siguiente

If CB_DataBase_Crea. Text = "" Then

MsgBox("Debe elegir una base de datos")

CB_DataBase_Crea. Focus()

End If

If txt_Destino_Crea. Text = "" Then

MsgBox("Debe elejir una ruta válida")

Txt_Destino_Crea. Focus()

End If

If CB_DataBase_Crea. Text <> "" And txt_Destino_Crea. Text <> "" Then

Dim dia As String = My.Computer.Clock. LocalTime.Day.ToString

Dim mes As String = My.Computer.Clock. LocalTime. Month

Dim año As String = My.Computer.Clock. LocalTime. Year

Dim ruta As String = (txt_Destino_Crea. Text & "_" & dia & mes & año & ". Bak")

OCon = New SqlConnection("Data Source=" & nombre del servidor & ";Initial Catalog=" & CB_DataBase_Crea. Text & ";User Id=" & nombre del usuario sql &";Password=" & contraseña del usuario sql ")

Dim cmd As New SqlCommand("BACKUP DATABASE " & CB_DataBase_Crea. Text & " TO DISK = N"" & ruta & "" WITH INIT ,NOUNLOAD , NAME = N"" & CB_DataBase_Crea. Text & "_" & dia & mes & año & "", NOSKIP , STATS = 10, NOFORMAT", oCon)

If MessageBox. Show("Desea realizar el BauckUp de la base de datos " & CB_DataBase_Crea. Text & " en la ruta " & txt_Destino_Crea. Text & "? ", "Creación Backup", MessageBoxButtons. YesNo) = Windows.Forms.DialogResult. Yes Then

Try

OCon. Open()

Cmd. ExecuteNonQuery()

MsgBox("Backup creado con éxito en la ruta:" & vbCrLf & ruta)

Txt_Destino_Crea. Text = ""

OCon. Close()

Catch ex As Exception

MsgBox("Error al crear Backup" & vbCrLf & ex. Message)

OCon. Close()

End Try

Else

Txt_Destino_Crea. Text = ""

End If

End If

" en el evento load de su formulario lo siguiente

BasesDeDatos()

" para restaurar cree  tres botones (btn_Rute_Restore) , (btn_Rute_Open_BK), (btn_Restore)

" en btn_Rute_Restore haga:

Dim vPathfile As String

Dim vResult As DialogResult

VResult = SFD_Restaura. ShowDialog()

If vResult = Windows.Forms.DialogResult. OK Then

VPathfile = SFD_Restaura. FileName

Txt_Ruta2. Text = vPathfile

End If

" en btn_Rute_Open_BK haga:

Dim vPathfile As String

Dim vResult As DialogResult

VResult = OFD_Restaura. ShowDialog

If vResult = Windows.Forms.DialogResult. OK Then

VPathfile = OFD_Restaura. FileName

Txt_Ruta1. Text = vPathfile

End If

" en btn_Restore haga:

If CB_DataBase_Restaura. Text = "" Then

MsgBox("Debe elegir una base de datos")

CB_DataBase_Restaura. Focus()

End If

If txt_Ruta1. Text = "" Then

MsgBox("Debe elejir una ruta de orígen válida")

Txt_Ruta1. Focus()

End If

If txt_Ruta2. Text = "" Then

MsgBox("Debe elejir una ruta de destino válida")

Txt_Ruta1. Focus()

End If

If (CB_DataBase_Restaura. Text <> "" And txt_Ruta1. Text <> "" And txt_Ruta2. Text <> "") Then

Dim dia As String = My.Computer.Clock. LocalTime.Day.ToString

Dim mes As String = My.Computer.Clock. LocalTime. Month

Dim año As String = My.Computer.Clock. LocalTime. Year

Dim ruta_Bk As String = txt_Ruta1. Text

Dim ruta_Restaura_mdf As String = txt_Ruta2. Text

Dim ruta_Restaura_log As String = txt_Ruta2. Text

OCon = New SqlConnection("Data Source=" & nombre del servidor & ";Initial Catalog=" & CB_DataBase_Crea. Text & ";User Id=" & nombre del usuario sql &";Password=" & contraseña del usuario sql ")

Dim cmd As New SqlCommand(TextBox1. Text, oCon)

Dim cadena As String = ("RESTORE DATABASE " & CB_DataBase_Restaura. Text & _

" FROM disk="" & ruta_Bk & "" with MOVE "" & CB_DataBase_Restaura. Text & _

"_log" to "" & ruta_Restaura_log & "_log. Ldf"," & " MOVE "" & _

CB_DataBase_Restaura. Text & "" to "" & ruta_Restaura_mdf & ". Mdf"," & " REPLACE")

If MessageBox. Show("Para realizar la restauración del BauckUp " & ruta_Bk & " en la ruta: " & txt_Ruta2. Text & " debe confirmar su solicitud, desea hacerlo? ", "Confirmar", MessageBoxButtons. YesNo) = Windows.Forms.DialogResult. Yes Then

CKB_Confirm_restaura. Visible = True

TextBox1. Text = cadena

If CKB_Confirm_restaura. CheckState = CheckState. Checked Then

Dim connect As New SqlDataAdapter(TextBox1. Text, oCon)

Try

OCon. Open()

Cmd. ExecuteNonQuery()

MsgBox("Backup restaurado con exito con éxito")

Txt_Ruta1. Text = ""

Txt_Ruta2. Text = ""

TextBox1. Text = ""

CKB_Confirm_restaura. CheckState = CheckState. Unchecked

CKB_Confirm_restaura. Visible = False

CKB_Confirm_restaura. CheckState = CheckState. Unchecked

OCon. Close()

Catch ex As Exception

MsgBox("Error 2:" & vbCrLf & ex. Message)

OCon. Close()

End Try

Else

MsgBox("Debe Confirmar su solicitud para poder realizar el BackUp de la Base de Datos " & CB_DataBase_Restaura. Text)

CKB_Confirm_restaura. Focus()

End If

Else

Txt_Ruta1. Text = ""

Txt_Ruta2. Text = ""

TextBox1. Text = ""

End If

End If

" Cree tres textbox (txt_Ruta1),(txt_Ruta2),(TextBox1) un checkbox(CKB_Confirm_restaura) con la propiedad visible= false

Listo eso es todo en la creación, restauración y visulización de Base de Datos espero les sea útil

White Pawn ® Property

Ingeniero de Sistemas

Bucaramanga-Colombia


Fernando Rondelli
Buenos Aires, Argent...
Escrito por Fernando Rondelli
el 15/04/2008

Hola, si lo que estas buscando es un producto que te exporte los datos a sentencias SQL Insert para poder ejecutarlas en otra base de datos, este producto te puede ayudar.

Https://www.patagoniasolutions.com/productos_sdexport. Htm

Espero que te sirva.

Atte.-

Escrito por Mynors
el 20/08/2008
Esa onda no sirve
Escrito por Jms
el 12/06/2009

Buenas!

Soy nueva en el mundo de las bases de datos y NECESITO AYUDA, la situación es la siguiente. Tengo un Job que me ejecuta un backup diariamente local en un server y por motivos de seguridad me gustaria moverlo a otro servidor para que en caso de que pase algo con el servidor en donde se estan guardando los respaldos tener forma de recuperar la información. Como puedo hacerlo?

Por otro Job?

Luis Palma
Cusco, Perú
Escrito por Luis Palma
el 06/04/2010

Hola MySQL puede crear copia de respaldo en formato SQL

Cristhian Daniel Mayuri Quiroz
Egresado instituto superior tecnologic...
Escrito por Cristhian Daniel Mayuri Quiroz
el 06/04/2010

Pues claro que se puede, el método que yo utilizo en Java es:

String path = null;
path=txtUbi. GetText();
if(path! =null){
String cad = "cmd /c mysqldump --opt --password=root --user=root --host=localhost ferreteria > " + path;
System.out.print(cad);
Process p = Runtime. GetRuntime(). Exec(cad);
p. GetOutputStream();
JOptionPane. ShowMessageDialog(Sistema. Padre,"Se ha generado correctamente la copia de base de datos");
dispose();

Con este codigo en un boton, podras generar un respaldo en la ubicacion que hayas elegido, cabe señalar que en txtUbi previamente se almaceno el resultado de un Browser Java pero prueba remplazando con una ruta fija. Espero que te sirva ^^