Quiero restablecer mi sql server 2008 de la base de datos, como cuando se crea por primera vez. todas las identidades, se debe restablecer. Todos los datos en la base de datos debe ser ido. Es allí una manera de hacer esto?

OriginalEl autor ward87 | 2010-11-03

4 Comentarios

  1. 5

    Puede escribir una secuencia de comandos para eliminar todos los datos de las tablas y restablecer los valores de identidad (con DBCC CHECKIDENT). Hay una serie de scripts que hay para hacer esto, así que no voy a reinventar la rueda – he aquí un ejemplo.

    Una vez que usted tiene una base de datos limpia, te sugiero copias de seguridad – a continuación, cada vez que desea restablecer a limpiar de nuevo, puede restaurar desde la copia de seguridad.

    También, yo te recomiendo mantener completo de creación de scripts para la base de datos. Que le daría otra opción de colocar la base de datos, y crear de nuevo desde los scripts.

    muchas gracias, funciona perfectamente.

    OriginalEl autor AdaTheDev

  2. 1

    Reinicialización

    El uso de estas par de declaraciones en todas las tablas de datos. No te olvides de dejar de tablas de búsqueda solo (como los tipos de algún tipo). Probablemente debería de estancia poblada, porque las otras tablas de datos se basan en sus valores.

    truncate table table_name;
    dbcc checkident (table_name, reseed, 0); /* next ID will be 1 */

    Desarrollo de la sugerencia

    Sugiero que mientras el desarrollo de tu aplicación (si eso es lo que estamos haciendo desde su hacer una pregunta en stackoverflow) también el control de la versión DB secuencias de comandos. Yo suelo definir estas DB secuencias de comandos:

    1. Drop DB
    2. Crear el modelo de
    3. Crear funciones
    4. Crear procedimientos almacenados
    5. Crear estática de datos (tablas de búsqueda de datos)
    6. Crear datos de prueba

    Ejecutando uno por uno en el mismo orden siempre puedo volver a crear mi base de datos con los datos de la prueba así. Y cuando siento la necesidad de implementar mi DB acabo de ejecutar secuencias de comandos de 1-5 y dejar 6 fuera de él. Así usted puede automatizar este proceso mediante la creación de un bat archivo que se llama sqlcmd comandos. Se puede ejecutar fácilmente archivos de proceso por lotes desde dentro de Visual Studio.

    esta es una buena sugerencia.
    truncate table es una buena solución, cuando no se dispone de claves foráneas. De lo contrario, usted tiene que utilizar ELIMINAR DE

    OriginalEl autor Robert Koritnik

  3. 1

    Si usted está hablando acerca de su servidor, a continuación, usted puede reconstruir su sistema de bases de datos enlace de texto

    de lo contrario, la manera más fácil sería para restaurar la copia de seguridad que debería haber tenido al principio (adathedev la respuesta es una buena).

    OriginalEl autor Mark Broadbent

  4. 1

    AdaTheDev del enlace no funciona para mí, pero sí me puso en el camino correcto.

    Aquí es lo que terminó trabajando para mí. Tuve que agregar el SET QUOTED_IDENTIFIER ON declaración antes de la eliminación.

    /*Disable Constraints & Triggers*/
    exec sp_MSforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
    exec sp_MSforeachtable 'ALTER TABLE ? DISABLE TRIGGER ALL'
    
    /*Perform delete operation on all table for cleanup*/
    exec sp_MSforeachtable 'SET QUOTED_IDENTIFIER ON; DELETE ?'
    
    /*Enable Constraints & Triggers again*/
    exec sp_MSforeachtable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
    exec sp_MSforeachtable 'ALTER TABLE ? ENABLE TRIGGER ALL'
    
    /*Reset Identity on tables with identity column*/
    exec sp_MSforeachtable 'IF OBJECTPROPERTY(OBJECT_ID(''?''), ''TableHasIdentity'') = 1 BEGIN DBCC CHECKIDENT (''?'',RESEED,0) END'

    OriginalEl autor bendytree

Dejar respuesta

Please enter your comment!
Please enter your name here