CLR: .Net / Mono / Boo / Otros CLR > VB .NET

 Replica De Bd

<< < (2/2)

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 + '&#092;' + @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 + '&#092;' + @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

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa