¿Beneficios de hacer una base de datos del servidor SQL como de solo lectura?

8

Estoy usando una base de datos de informes, que a todos los efectos prácticos es una base de datos de solo lectura. Se crean datos y se generan informes dinámicos y se visualizan en esta base de datos.

Estaba pensando en hacer esta base de datos de solo lectura.

Algunas de las cosas que quiero preguntar sobre bases de datos de solo lectura son

  1. ¿Solo los datos son de solo lectura? ¿Podemos seguir creando índices o vistas en esta base de datos?
  2. ¿Cuáles son los beneficios de rendimiento del uso de una base de datos de solo lectura? por ejemplo, SELECCIONAR consultas utilizando bloqueos compartidos, etc.
  3. ¿Hay alguna desventaja de usar una base de datos de solo lectura?
  4. ¿Hay alguna práctica recomendada a seguir mientras se usan bases de datos de solo lectura?
bufón
fuente

Respuestas:

16
  1. No puede realizar cambios de esquema cuando la base de datos es de solo lectura, pero puede colocar todas sus tablas de usuario en un nuevo grupo de archivos y marcarlo como de solo lectura.
  2. Puede esperar un beneficio de rendimiento modesto por la ausencia de bloqueo.
  3. En las versiones de SQL Server anteriores a 2012, las estadísticas no se pueden crear o actualizar automáticamente en bases de datos de solo lectura.
  4. Antes de hacer que se lea solo, también puede eliminar toda la fragmentación lógica y hacer que la densidad de la página sea lo más alta posible. Cualquier configuración no predeterminada FILL_FACTORno será beneficiosa en un entorno de solo lectura. Además, cree / actualice las estadísticas que se espera sean útiles para las SELECTconsultas en la versión <2012.
Martin Smith
fuente
1 y 4, grandes ideas.
Mark Storey-Smith
9
  1. Toda la base de datos es de solo lectura, por lo que no puede agregar índices o vistas.
  2. No se requiere bloqueo, por lo que no se toman bloqueos para ninguna consulta que no sea un bloqueo de base de datos compartido. Obviamente significa que tampoco ocurrirá el bloqueo.
  3. No como tal no.
  4. Ninguno que pueda sugerir.
Mark Storey-Smith
fuente