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!!