2011-12-08 21 views

Respuesta

12

Puede ejecutar un ALTER DATABASE <mydb> SET READ_ONLY para poner una base de datos en modo de solo lectura.

Si desea que el comando al fracaso si no se puede ejecutar de inmediato se especifica así:

ALTER DATABASE <mydb> 
    SET READ_ONLY 
    WITH NO_WAIT 

Si usted quiere que sea rollback todas las conexiones abiertas se especifica el orden como la siguiente:

ALTER DATABASE <mydb> 
    SET READ_ONLY 
    WITH ROLLBACK IMMEDIATE 

Estas opciones están bien documentados en SQL Server Books online

+0

Gracias, esto parece funcionar algunas de las veces, pero la mitad de las veces que ejecute la consulta (en SQL Server Mana gement Studio) la ejecución se bloquea y no se devuelve ... – user1088045

+0

Puede especificar 'WITH NO_WAIT' para que falle inmediatamente cuando no puede ejecutar el comando debido a transacciones abiertas, etc. O puede especificar' WITH ROLLBACK IMMEDIATE' para hacerlo revertir todas las transacciones abiertas. –

Cuestiones relacionadas