Cómo mover un archivo Ndf a otra unidad sin desconectar la BD?
Tengo una BD de Sql Server 2000 compuesta por 1 archivo Mdf, 1 Ldf y varios Ndf y necesito mover varios archivos Ndf a otra unidad por problemas de espacio.
He revisado Alter Database Modify File y sólo es aplicable a los archivos de sistema.
Sp_Detach_DB y sp_Attach_db (o Create Database ... for Attach, si son más de 16 archivos) podrÃa valer. Desconectas toda la base de datos y luego vuelves a conectarla indicando la ubicación, antigua o nueva, de cada uno de los archivos, pero ¿hay algún modo de reubicar un archivo Ndf sin necesidad de desconectar toda la BD?
Gracias.
He revisado Alter Database Modify File y sólo es aplicable a los archivos de sistema.
Sp_Detach_DB y sp_Attach_db (o Create Database ... for Attach, si son más de 16 archivos) podrÃa valer. Desconectas toda la base de datos y luego vuelves a conectarla indicando la ubicación, antigua o nueva, de cada uno de los archivos, pero ¿hay algún modo de reubicar un archivo Ndf sin necesidad de desconectar toda la BD?
Gracias.
Hasta donde yo se no, esas son esas tareas que requieren uso exclusivo de la base de datos y que necesitas desconectarlas.
La pregunta es el porqué necesitas mover un dispositivo sin desactivar la base de datos.
Saludos
La pregunta es el porqué necesitas mover un dispositivo sin desactivar la base de datos.
Saludos
Me preocupan los privilegios. Si puedes mover en "caliente" un archivo, tienes la garantÃa de que los privilegios no sufrirán cambios, y sobre este tema no hay referencia en ninguna parte.
Tengo una maraña de usuarios y privilegios considerable y, si hubiera sido posible, preferirÃa no tener que averiguar por mà mismo qué sucede con los privilegios de los objetos cuando vuelves a conectar la BD. ¿Se restituyen sin problemas?
Gracias por todo, procederé con detach_db y attach_db.
Saludos.
Tengo una maraña de usuarios y privilegios considerable y, si hubiera sido posible, preferirÃa no tener que averiguar por mà mismo qué sucede con los privilegios de los objetos cuando vuelves a conectar la BD. ¿Se restituyen sin problemas?
Gracias por todo, procederé con detach_db y attach_db.
Saludos.
Mi preocupación era infundada.
Todos los privilegios se restituyen correctamente en todos los objetos de la BD.
EXEC sp_detach_db 'RH', 'true'
go
CREATE DATABASE RH
ON PRIMARY (FILENAME= 'E:BBDDRHRH_Data.MDF'),
(FILENAME = 'E:BBDDRHRH_Log.LDF'),
(FILENAME = 'E:BBDDRHDatos_2006.NDF'),
(FILENAME = 'E:BBDDRHDatos_2007.NDF'),
(FILENAME = 'E:BBDDRHDatos_2008.NDF'),
(FILENAME = 'E:BBDDRHDatos_2009.NDF'),
(FILENAME = 'E:BBDDRHDatos_2010.NDF'),
(FILENAME = 'E:IndicesRHIndices_2006.NDF'),
(FILENAME = 'E:IndicesRHIndices_2007.NDF'),
(FILENAME = 'E:IndicesRHIndices_2008.NDF'),
(FILENAME = 'E:IndicesRHIndices_2009.NDF'),
(FILENAME = 'E:IndicesRHIndices_2010.NDF'),
(FILENAME = 'E:IndicesRHIndices_TW.NDF')
FOR ATTACH
go
Saludos.
Todos los privilegios se restituyen correctamente en todos los objetos de la BD.
EXEC sp_detach_db 'RH', 'true'
go
CREATE DATABASE RH
ON PRIMARY (FILENAME= 'E:BBDDRHRH_Data.MDF'),
(FILENAME = 'E:BBDDRHRH_Log.LDF'),
(FILENAME = 'E:BBDDRHDatos_2006.NDF'),
(FILENAME = 'E:BBDDRHDatos_2007.NDF'),
(FILENAME = 'E:BBDDRHDatos_2008.NDF'),
(FILENAME = 'E:BBDDRHDatos_2009.NDF'),
(FILENAME = 'E:BBDDRHDatos_2010.NDF'),
(FILENAME = 'E:IndicesRHIndices_2006.NDF'),
(FILENAME = 'E:IndicesRHIndices_2007.NDF'),
(FILENAME = 'E:IndicesRHIndices_2008.NDF'),
(FILENAME = 'E:IndicesRHIndices_2009.NDF'),
(FILENAME = 'E:IndicesRHIndices_2010.NDF'),
(FILENAME = 'E:IndicesRHIndices_TW.NDF')
FOR ATTACH
go
Saludos.