Estoy trabajando en una base de datos muy grande (más de 250 conciertos) con más de 225 millones de registros. Es difícil trabajar con la base de datos simplemente por su gran tamaño. Esta base de datos es de sólo lectura.
Estamos buscando conseguir hardware más rápido, pero de cualquier manera estoy tratando de encontrar la forma más eficiente de trabajar con la base de datos. Esta base de datos debe actualizarse todas las noches desde una base de datos maestra y el tiempo de inactividad debe mantenerse al mínimo. La base de datos maestra es mantenida por un tercero.
Estoy intentando encontrar la mejor manera de actualizar la base de datos pero no tengo mucha suerte. Busqué copias de seguridad diferenciales y de registros de transacciones, pero para poder aplicarlas primero se debe restaurar una copia de seguridad completa. En mi caso, esto anula completamente el propósito de una copia de seguridad diferencial, ya que también podría hacer una copia de seguridad completa en la base de datos maestra y luego simplemente restaurar la copia de seguridad completa todas las noches, ya que eso sería más rápido que restaurar una copia de seguridad completa y aplicar las copias de seguridad diferenciales cada noche. noche.
Esperaba tener una solución en la que pudiera realizar una copia de seguridad completa una vez (o tal vez una vez al mes) y luego, a partir de ese momento, simplemente aplicar algún tipo de copias de seguridad incrementales basadas en la copia de seguridad completa original que se basan entre sí. Esto mantendría el tiempo de inactividad al mínimo, ya que una vez realizada la primera copia de seguridad completa, solo aplicaría las copias de seguridad incrementales cada noche. Simplemente reconstruiría el índice después de cada copia de seguridad "incremental". No he logrado encontrar ninguna solución como esta.
Recién ahora estoy sumergiéndome e investigando mucho sobre las copias de seguridad y el rendimiento de las bases de datos, leyendo MSDN constantemente; sin embargo, parece que esta solución no es una opción. Pensé en preguntar como último recurso; seguramente hay algunos aquí que administran grandes bases de datos donde no sería práctico realizar una restauración todas las noches.
¿Alguna sugerencia? También estoy abierto a sugerencias/enlaces a páginas sobre rendimiento, ya que nunca he trabajado con una base de datos de este tamaño.
Respuesta1
estas describiendoenvío de registros, pero desea utilizar copias de seguridad "diferenciales" en lugar de copias de seguridad de registros, que es el problema con su enfoque. Con el trasvase de registros, usted restaura la base de datos una vez, luego aplica las copias de seguridad de los registros a medida que se crean en el sitio principal y nunca tendrá que rehacer la restauración inicial completa de la copia de seguridad. Simplemente siga aplicando el registro enviado cada pocas horas y tendrá su copia de solo lectura disponible.
Respuesta2
Quizás este tercero establecería algún tipo dereplicaciónpara mover los cambios todas las noches?
Respuesta3
Si se le permite acceder al entorno que alberga la base de datos de producción y las bases de datos maestras y de solo lectura pueden ser la misma instancia de base de datos que ejecuta SQL2005/SQL2008 Enterprise Edition, puede usar instantáneas de la base de datos. Esto le proporcionará una copia instantánea de solo lectura de la base de datos.
http://msdn.microsoft.com/en-us/library/ms175158.aspx
Si no se le permite el acceso al entorno de producción, puede preguntar si están dispuestos a configurar una base de datos reflejada en su entorno; esto también le permitirá ejecutar una instantánea; sin embargo, necesitará licencias y software de edición Enterprise.
http://msdn.microsoft.com/en-us/library/ms175511.aspx
Si ellos/usted no están usando Enterprise o necesita datos casi en vivo, entonces la replicación transaccional es otra opción.
http://msdn.microsoft.com/en-us/library/ms151176.aspx
Si su restauración está tardando demasiado, considere la opción de comprar un software de compresión de disco de respaldo; esto generalmente acelera las copias de seguridad/restauraciones en un factor que depende del tipo de datos almacenados.
Respuesta4
Remus respondió primero, pero así es como funcionaría el escenario de envío de registros:
- un tercero le envía una copia de seguridad completa de la base de datos el 1/1
- Restaura la base de datos en norecuperación con modo de espera, esto configura la base de datos como de solo lectura (solo para dbos)
- El tercero le envía una copia de seguridad del registro de transacciones (o varias) el 1/2 y usted las aplica a la base de datos, actualizando los cambios. Después de aplicar la copia de seguridad, la base de datos volverá a estar en modo de espera, solo lectura
- Repita el proceso diariamente