me gustaria saber si alguien conoce una alternativa a pooling=false para hacer un backup y restore y no tener el problema de las conexiones abiertas.
para que me funcione todo con pooling=false, uso:
desde la BD de la cual quiero hacer el backup, hago:
string consulta = "BACKUP DATABASE [" + nombreBD + "] TO DISK='" + directorioBackup + nombreBackup + "' WITH INIT";
desde la BD master hago el restore:
string consulta = "RESTORE DATABASE [" + nombreBD + "] FROM DISK='" + directorioBackup + nombreBackup + "' WITH REPLACE";
las cadenas de conexion son:
Data Source=MAKINITA\SQLSERVER;pooling=false;Initial Catalog=nombreBD;Integrated Security=True
Data Source=MAKINITA\SQLSERVER;Initial Catalog=master;Integrated Security=True
--------------------------------------------------------------------------------------------------
una alternativa a pooling=false que probe y me dio error es antes de ejecutar el restore desde master ejecutar lo siguiente:
string consulta = "Alter Database "+nombreBD+" set SINGLE_USER With ROLLBACK IMMEDIATE Alter Database "+nombreBD+" set MULTI_USER";
pero me da error en la 1º pagina que cargue luego, en las siguientes ya no y tampoco si vuelvo a la 1º que cargue:
Error en el nivel de transporte al enviar la solicitud al servidor. (provider: Proveedor de memoria compartida, error: 0 - No hay ningún proceso en el otro extremo de la canalización.)
espero sabios consejos de los gurus del sql server ;)