Programadores dedicados a C sharp .Net, eres nuevo, experto o quieres aprender a programar en C Sharp, aquí encontraras todo lo que necesitas.
 
ÍndiceCalendarioFAQBuscarMiembrosGrupos de UsuariosChatRegistrarseConectarse
Conectarse
Nombre de Usuario:
Contraseña:
Entrar automáticamente en cada visita: 
:: Recuperar mi contraseña
Últimos temas
Buscar
 
 

Resultados por:
 
Rechercher Búsqueda avanzada
Síguenos:
Crear foro Crear foro Crear foro

Comparte | 
 

 Hacer Restore (restauración) en SQL Server 2005.

Ver el tema anterior Ver el tema siguiente Ir abajo 
AutorMensaje
Guillermo Javier Salazar
STAFF TEAM
STAFF TEAM


Mensajes : 181
Puntos : 349
Localización : México
Comentarios : El azar favorece a una mente preparada.

MensajeTema: Hacer Restore (restauración) en SQL Server 2005.   Vie Mar 11, 2011 7:25 pm

Hacer Restore (restauración) en SQL Server 2005.

Al igual que para el Backup necesitamos agregar unas referencias ( dentro de nuestro IDE, proyecto/agregar: referencia) en la pestaña .NET seleccionaremos 2:

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo

Ahora declaramos los siguientes namespace

using System.Data.SqlClient;
using Microsoft.SqlServer.Management.Common;
using Microsoft.SqlServer.Management.Smo;

Y con el siguiente método podremos realizar los Restore:
-----------------------------------------------------------------------------
Código:
        public void restore(string serverName, string dataBase, string userId, string password, string path)
        {
            try
            {
                string CadenaDeConexion =
                "Server=" + serverName +
                "; Database=" + dataBase +
                "; User ID=" + userId +
                "; Password=" + password;
                SqlConnection cn = new SqlConnection(CadenaDeConexion);
                cn.Open();
                ServerConnection serverConnection = new ServerConnection(cn);
                Restore rstDatabase = new Restore();
                rstDatabase.Database = serverConnection.DatabaseName;
                rstDatabase.Devices.Add(new BackupDeviceItem(path, DeviceType.File));
                rstDatabase.Action = RestoreActionType.Database;
                Server serv = new Server(serverConnection);
                serv.KillAllProcesses(dataBase);
                rstDatabase.ReplaceDatabase = true;
                rstDatabase.SqlRestore(serv);
                cn.Close();
                MessageBox.Show("Restore realizado satisfactoriamente", "Restore");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Ocurrio un error durante la restauración. \n\nDetalles: \n" + ex);
            }
        }
-----------------------------------------------------------------------------
Donde:

serverName = El nombre del servidor.
dataBase = Nombre de la base de datos a la que se le hará el respaldo.
userId = Usuario de la cuenta de Sql server.
password = Contraseña de dicha cuenta.
path = Dirección de la cual se tomara el backup, al igual que con el Backup tenemos los mismos problemas, razon?, desconocida, para evitar esto solo pongan el nombre del backup ejemplo "Backup.BAK" y tomara por default la ruta donde el SQL server pone los backup "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Backup".

Si tienes algún problema al realizar el Backup y Restore comenten y lo resolvemos, Saludos!!
Volver arriba Ir abajo
Ver perfil de usuario http://cspromex.activo.mx
Cinder92
Programador Intermedio


Mensajes : 29
Puntos : 52

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Miér Mar 23, 2011 11:10 pm

hey que tal mira quiero hacerle lo siguiente quiero poner un boton y que me diga si quiero restaurar la base de datos o no si le doy a si que haya un openfiledialog y que solo seleccione la base de datos y pff se restaure se puede??
Volver arriba Ir abajo
Ver perfil de usuario
Guillermo Javier Salazar
STAFF TEAM
STAFF TEAM


Mensajes : 181
Puntos : 349
Localización : México
Comentarios : El azar favorece a una mente preparada.

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Miér Mar 23, 2011 11:52 pm

Claro que se puede, para preguntar si desea continuar se puede ocupar un messageBox y despues el openfileDialog para que el usuario especifique el archivo que desea, y solo pueda ver archivos con extencion .BAK

Aca te dejo un ejemplo del messageBox:

Código:
            if (MessageBox.Show("Seguir?","Titulo", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                MessageBox.Show("SI");
            }
            else {
                MessageBox.Show("NO");
            }

Y aca esta el como [Tienes que estar registrado y conectado para ver este vínculo]

Para seleccionar la BD, necesitarías saber cuales son las base de datos existentes y mostrarlas en un comboBox, para que el usuario seleccione a la que le desea hacer el Restore


Última edición por Guillermo Javier Salazar el Miér Mar 23, 2011 11:55 pm, editado 1 vez
Volver arriba Ir abajo
Ver perfil de usuario http://cspromex.activo.mx
Cinder92
Programador Intermedio


Mensajes : 29
Puntos : 52

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Miér Mar 23, 2011 11:53 pm

oks gracias mira ahora estoy en el proyecto lo que no entiendo es la cadena de conexion primero hace una conexio obviamente hacia la base de datos y luego la restaura no? quisiera que me ayudaras porfavor muchas gracias
Volver arriba Ir abajo
Ver perfil de usuario
Guillermo Javier Salazar
STAFF TEAM
STAFF TEAM


Mensajes : 181
Puntos : 349
Localización : México
Comentarios : El azar favorece a una mente preparada.

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Miér Mar 23, 2011 11:59 pm

Efectivamente, el método hace todo, primero hace la conexión, en la conexión se encuentra la base de datos a la que se conectara y luego se especifica el archivo para el restore.
Volver arriba Ir abajo
Ver perfil de usuario http://cspromex.activo.mx
Cinder92
Programador Intermedio


Mensajes : 29
Puntos : 52

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Jue Mar 24, 2011 12:01 am

ok entonces cómo sería el código para que me abra el openfiledialog y solamente darle abrir y que automaticamente lo ponga en mysql?? será posible que me puedas decir? gracias por tu ayuda
Volver arriba Ir abajo
Ver perfil de usuario
Guillermo Javier Salazar
STAFF TEAM
STAFF TEAM


Mensajes : 181
Puntos : 349
Localización : México
Comentarios : El azar favorece a una mente preparada.

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Jue Mar 24, 2011 12:05 am

Sorry Cinder92 pero aquí no se hace la tarea, los códigos ya están, solo necesitas estructurar, te recomiendo que antes de entrar en códigos mas avanzados primero leas y estudies códigos mas sencillos, se mas objetivo en tus preguntas o seras sancionado.

Con respecto a Mysql, estos códigos son para SQL Server, no para Mysql, tendras que esperar ha que se postee para Mysql.
Volver arriba Ir abajo
Ver perfil de usuario http://cspromex.activo.mx
Cinder92
Programador Intermedio


Mensajes : 29
Puntos : 52

MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Jue Mar 24, 2011 12:06 am

aaaaaaa muy bien muchas gracias
Volver arriba Ir abajo
Ver perfil de usuario
Contenido patrocinado




MensajeTema: Re: Hacer Restore (restauración) en SQL Server 2005.   Hoy a las 1:39 pm

Volver arriba Ir abajo
 
Hacer Restore (restauración) en SQL Server 2005.
Ver el tema anterior Ver el tema siguiente Volver arriba 
Página 1 de 1.
 Temas similares
-
» como puedo hacer que se registren a mi server por mi foro?
» Se ha estropeado el pc y no se que hacer.
» hacer un Backup antes de instalar actualizaciones
» ¿Como puedo hacer publicidad de mi foro?
» Como hacer que aparezca el titulo del foro

Permisos de este foro:No puedes responder a temas en este foro.
CSPromex :: PROGRAMACIÓN EN C# :: Código abierto-
Cambiar a: