CLR: .Net / Mono / Boo / Otros CLR > VB .NET
Replica De Bd
ElNapster:
Bueno mira estos script son los que utilize yo en un proyecto : son para Backup y Restore.
--- Código: Text ---/********************************************************************** Procedimiento Almacenado el cual tendra como funcion ** hacer una copia exacta de la BD, recibe como parametro * * el nombre de la BD,y la ruta donde se va a dejar el archivo .BAK ***********************************************************************/ If Exists (Select 1 From sysobjects where name = 'SP_BackUp' and type ='P') Drop Proc SP_BackUpGoCreate Proc SP_BackUp @Nombre_BD varchar (50),@Destino varchar (50)AsDeclare @Path as varchar (100) Select @destino = Replace(@destino ,' ','') Select @Path = @Destino + '\' + @Nombre_BD + '.bak' BACKUP DATABASE @Nombre_BD TO DISK = @Path Goto Bitacora --Grabamos la BitacoraBitacora:Exec Sp_Graba_Bitacora_BackUp @Nombre_bd_=@Nombre_bd ,@Path_=@Path ,@Actividad = 0GO /************************************************************************ Procedimiento Almacenado el cual tendra como funcion ** llevar acabo la restauracion exacta de una BD, recibe como parametro * * el nombre de la BD,y la ruta donde esta el archivo .BAK *************************************************************************/ If Exists (Select 1 From sysobjects where name = 'SP_Restore' and type ='P') Drop Proc SP_RestoreGoCreate Proc SP_Restore @Nombre_BD varchar (50),@Origen varchar (50)AsDeclare @Path as varchar (100) Select @Origen = Replace(@Origen,' ','') Select @Path = @Origen + '\' + @Nombre_BD + '.bak' Select b.name From sysprocesses a , sysdatabases bWhere a.dbid=b.dbid And b.name =@Nombre_BD If @@Rowcount = 0 Begin RESTORE DATABASE @Nombre_BD FROM DISK = @Path --Grabamos la Bitacora Exec Sp_Graba_Bitacora_BackUp @Nombre_bd_=@Nombre_bd ,@Path_=@Path ,@Actividad = 1 End Else Raiserror 41000 'Hay mas de un usuario conectado,no se puede llevar el Proceso de Restauracion' Go /************************************************************************** Procedimiento Almacenado que realizara la bitacora de la actividad ** producida por el usario a la hora de restaurar o hacer un backup de una * * Base de datos, recibiendo como parametro el nombre de la Base de Datos ** el Path de origen o destino del Archivo, y la actividad. ** (0 = BackUp ,1 = Restauracion ) ** ***********************************************************************/ If Exists (Select 1 From Sysobjects Where name = 'Sp_Graba_Bitacora_BackUp' and type ='P') Drop Proc Sp_Graba_Bitacora_BackUpGo Create Proc Sp_Graba_Bitacora_BackUp@Nombre_BD_ Varchar (100),@Path_ Varchar (100),@Actividad Bit As Insert Bitacora_BackUp ( Usuario ,Fecha ,Nombre_BD ,Path_backup ,Actividad) Select suser_sname() ,getdate() ,@Nombre_BD_ ,@Path_ ,@ActividadGo /************************************************************************** Tabla la cual contendra el historial de las actividades que se produjo ** ala hora de hacer un backup o la restauracion del mismo ** ***********************************************************************/If Exists (Select 1 From Sysobjects Where name = 'Bitacora_BackUp' and type ='U') Drop Table Bitacora_BackUpGo Create Table Bitacora_BackUp( Usuario varchar (30),Fecha datetime,Nombre_BD varchar (30),Path_backup varchar (50),Actividad bit ) Go
Bueno va tambien una bitacora para que lleves el control de lo que esta pasando en tus copias de seguridad, estos SP los mandas a llamar desde vb.net y le envias los parametros necesarios y BINGO !!!!! :smartass:
:comp:
Navegación
[*] Página Anterior
Ir a la versión completa