2010-11-02 93 views
7

¿Cuál es el procedimiento correcto para cambiar el nombre de una base de datos?Cambiar el nombre de una base de datos SQL

Ejemplo: Tengo una base de datos a la que puedo acceder con SQL Server Management Studio y tengo un nombre como "MyDatabase". phisical archivos de esta base de datos son

  • MyDatabase.mdf
  • MyDatabase_log.ldf

¿Cómo puedo cambiar el nombre de estos nombres lógicos y físicos para "MyNewDatabase"?

gracias por ayudar

Respuesta

9

Tomado textualmente de here:

Hay varias maneras de hacer este cambio, sin embargo, para cambiar el nombre de los archivos de bases de datos físicos a nivel de sistema operativo que tendrá que tomar la línea de base de datos

  1. Use SSMS a poner fuera de línea de base de datos (haga clic derecho en la base de datos, seleccione Tareas, Poner fuera de línea), cambiar el nombre de los archivos en el nivel del sistema operativo y luego ponerlo en línea.

  2. Puede separar la base de datos, renombrar los archivos y luego Adjuntar la base de datos que apunta a los archivos renombrados para hacerlo.

  3. Puede hacer una copia de seguridad de la base de datos y luego restaurarla, cambiando la ubicación del archivo durante el proceso de restauración.

  4. T utilizando SQL

    ALTER DATABASE SET OFFLINE de databaseName GO

    ALTER DATABASE DataBaseName MODIFY FILE (NOMBRE = db, FILENAME = 'C: \ Program Files \ Microsoft SQL Server \ MSSQL.2 \ MSSQL \ Data \ db.mdf ') IR -si el cambio de nombre de archivo de registro

    ALTER DATABASE DataBaseName MODIFY FILE (nOMBRE = db_log, FILENAME = ' C: \ archivos de programa \ Microsoft SQL Server \ MSSQL. 2 \ MSS QL \ Data \ db.ldf ') GO

    ALTER DATABASE de databaseName determinados en línea GO

para obtener más información http://technet.microsoft.com/en-us/library/ms174269.aspx

1

Hay varias maneras de hacer este cambio, sin embargo, para cambiar el nombre del archivos de base de datos físicos en el nivel del sistema operativo, deberá sacar la base de datos sin conexión

sp_renamedb 'olddatabasename', 'newdatabasename'

pero asegúrese de que la base de datos no esté en uso.

6

Tenga cuidado cuando use la opción Cambiar nombre en el menú contextual que aparece al hacer clic con el botón derecho en la base de datos en Management Studio. Esta opción no cambia los nombres de los archivos de la base de datos.Para cambiar los nombres de archivos lógicos para los archivos DATA y LOG , también puede usar una interfaz de Management Studio, pero desafortunadamente a veces no funciona.

Hagámoslo correctamente ... debería funcionar siempre. base de datos de

  1. Separar: Usando Management Studio, haga clic en la base de datos> vaya a “tareas”> “Separar”, haga clic en OK para separar una base de datos (nota: que el PP no puede ser utilizado para desprenderla)
  2. renombrar archivos físicos: Una vez que la base de datos está separado los archivos físicos son desbloqueado y se puede cambiar el nombre de ellos utilizando el Explorador de Windows: base de datos de enter image description here
  3. Colocación con nuevo nombre: Para ello utilizar T SQL:

    USO [maestro] CREAR BASE DE DATOS [SqlAndMe] EN (FILENAME = N'C: \ ... \ NewName.mdf '), (FILENAME = N'C: \ ... \ NewName_log.LDF ') para una conexión

  4. Cambiar el nombre de los nombres de archivos lógicos: ejecutar esta camiseta SQL:

    USO [NuevoNombre] ALTER DATABASE [NuevoNombre] MODIFY FILE (NOMBRE = N'OldName', NEWNAME = N'NewName ') ALTER BASE DE DATOS [NuevoNombre] MODIFY FILE (NOMBRE = N'OldName_log’, NEWNAME = N'NewName_log’) SELECT nombre, physical_name DE [NuevoNombre] .sys.database_files

TI deben obras!

0
  • Puede cambiar el nombre de la base de datos con SSMS; rclick database> rename
  • Puede cambiar el nombre lógico con SSMS; Base de datos> Propiedades> Archivos> edite los nombres lógicos
  • Separar la base de datos con SSMS; Base de datos> Tareas> Separar ...
  • Puede cambiar los nombres de los archivos con el Explorador de Windows (después de soltar)
  • Una vez que los nombres de archivos se han cambiado no se puede utilizar la interfaz gráfica de usuario para la re-unir

    CREATE MyAdventureWorks BASE DE DATOS
    ON (FILENAME = 'C: \ MySQLServer \ AdventureWorks_Data.mdf'),
    (FILENAME = 'C: \ MySQLServer \ AdventureWorks_Log.ldf')
    FOR ATTACH;

Actualice su SSMS y todo listo.

Referencias

Nota: Si prefiere escribir código tan poco como sea posible. Una vez que la base de datos está separada, use la GUI para comenzar el proceso de volver a conectar antes de cambiar los nombres de los archivos. Use la "Acción de Script para ..." y obtenga el código. Después de cambiar los nombres de los archivos con el explorador de Windows, actualícelos en el código en SSMS y ejecútelos.

Cuestiones relacionadas