Estoy tratando de configurar un entorno limitado para que nuestros desarrolladores de informes realicen su trabajo. Mi plan actual es "restablecer" la base de datos todas las noches, pero no estoy seguro de cómo hacerlo. Lo que quiero decir con reinicio es que quiero eliminar esencialmente cualquier tabla de usuario, vista, procedimientos almacenados, etc. de todas las bases de datos del servidor excepto una. Supongo que otra opción sería eliminar y volver a crear la base de datos también, pero estoy bastante seguro de que eso significaría volver a otorgar acceso a todos los grupos / personas AD apropiados también.
Realmente no sé cuál sería la mejor manera de hacerlo, así que espero que algunos de ustedes puedan proporcionar algunas buenas ideas / sugerencias. Gracias.
Para mayor claridad, esencialmente queremos hacer esto con nuestra base de datos: http://try.discourse.org/t/this-site-is-a-sandbox-it-is-reset-every-day/57 . La única diferencia es que no queremos recrear a nuestros usuarios todos los días.
Versión: SQL Server 2008
Edition: Developer & Enterprise
fuente
Como tiene una instancia con el motor Enterprise Edition, usaría instantáneas de la base de datos .
Esto le permitirá revertir rápida y fácilmente cualquier cambio realizado durante el día, sin tener que restaurar toda la base de datos.
Tenga en cuenta que si los desarrolladores planean hacer grandes cargas de datos (¿suena como si no lo fueran?), Entonces esto puede no ser apropiado.
fuente
Déjame agregar mis pocos centavos para ver si te ayuda:
En mi empresa, tenemos la misma situación que todas las noches los desarrolladores quieren actualizar las bases de datos que han estado utilizando durante todo el día. Esto significa que tenemos un conjunto de bases de datos que de Dev no se toquen - digamos que A y otro conjunto de bases de datos que son copia exacta A, pero lo hacen sus cosas, pero quieren que se actualizan cada noche - digamos que B . Esto sucede en 1 instancia de servidor único.
Lo que he implementado es un PROCESO DE RESTAURACIÓN NOCTURNA para lograr esto. A continuación se muestra cómo funciona:
Cree una tabla de controladores con una lista de bases de datos que debe restaurarse todas las noches (como ha mencionado).
Tabla: nightly_restore (OriginalDB, RestoreDB, backuplocation, enabled_YN, Results, PASS_FAIL)
Luego, puede escribir algunos TSQL que recorrerán la lista de bases de datos de la tabla anterior y luego realizar las restauraciones y registrar cualquier éxito o falla en los Resultados y un bit 1 = Pasar o 0 = Fallar. Enabled_YN determinará si esa base de datos necesita ser restaurada o no.
Si hay más bases de datos que se agregarán en el futuro, solo tiene que insertarlas en la tabla y establecer el bit enabled_YN en Y (habilitado).
De esta manera, el proceso será más flexible y manejable.
Si desea el SQL que he escrito (estoy seguro, podrá escribirlo :-)), solo envíeme un ping o agregue un comentario y lo compartiré.
HTH
fuente