La Red de Conocimientos Pedagógicos - Conocimientos educativos - Un grupo de archivos puede ser utilizado por múltiples bases de datos

Un grupo de archivos puede ser utilizado por múltiples bases de datos

1. Un archivo o grupo de archivos no puede ser utilizado por múltiples bases de datos. Por ejemplo, los archivos sales.mdf y sales.ndf que contienen datos y objetos de la base de datos de ventas no pueden ser utilizados por ninguna otra base de datos.

2. Un archivo sólo puede ser miembro de un grupo de archivos.

3. Un grupo de archivos puede contener varios archivos. Cuando se crea una tabla de datos, puede especificar en qué grupo de archivos se deben colocar los datos, pero no hay forma de especificar en qué archivo se deben colocar. Los grupos de archivos utilizan una política de llenado proporcional para todos los archivos dentro del grupo.

4. El archivo de registro de transacciones no puede pertenecer a ningún grupo de archivos.

Algunos consejos generales al trabajar con archivos y grupos de archivos:

La mayoría de las bases de datos funcionan bien con un único archivo de datos y un único archivo de registro de transacciones.

Si utiliza varios archivos, cree un segundo grupo de archivos para los archivos adicionales y conviértalo en el grupo de archivos predeterminado. De esta forma, el archivo principal sólo contendrá tablas y objetos del sistema.

Para maximizar el rendimiento, cree archivos o grupos de archivos en tantos discos físicos locales diferentes como sea posible. Coloque los objetos que compitan más por el espacio en diferentes grupos de archivos.

Utilice grupos de archivos para colocar objetos en discos físicos específicos.

Coloque diferentes tablas utilizadas en la misma consulta de combinación en diferentes grupos de archivos. El rendimiento mejora porque se utiliza E/S de disco paralelo para buscar datos de unión.

Coloque las tablas a las que se accede con más frecuencia y los índices no agrupados que pertenecen a estas tablas en diferentes grupos de archivos. Si los archivos están en discos físicos diferentes, el rendimiento mejorará debido a la E/S paralela.

No coloque archivos de registro de transacciones en discos físicos que ya tengan otros archivos y grupos de archivos.

Un grupo de archivos utiliza una política de llenado proporcional para todos los archivos del grupo:

Cuando los datos se escriben en un grupo de archivos, el motor de base de datos de SQL Server llena el archivo en proporción al espacio disponible en el archivo Escribe datos en cada archivo del grupo de archivos en lugar de escribir todos los datos en el primer archivo hasta que se llene. Luego escriba en el siguiente archivo. Por ejemplo, si el archivo f1 tiene 100 MB de espacio libre y el archivo f2 tiene 200 MB de espacio libre, entonces se asigna una extensión del archivo f1, dos extensiones del archivo f2, y así sucesivamente. De esta forma, ambas limas se llenan casi simultáneamente y se obtiene un rayado sencillo.

Suponiendo que la base de datos está configurada para crecer automáticamente, cuando todos los archivos del grupo de archivos estén llenos, el motor de la base de datos extenderá automáticamente un archivo a la vez en forma circular para acomodar más datos. Por ejemplo, un grupo de archivos consta de tres archivos, todos los cuales están configurados para crecer automáticamente. Cuando todos los archivos del grupo de archivos se han quedado sin espacio, solo se extiende el primer archivo. El segundo archivo se amplía cuando el primero se llena y no se pueden escribir más datos en el grupo de archivos. Cuando el segundo archivo se llena y no se pueden escribir más datos en el grupo de archivos, se extiende el tercer archivo. Cuando el tercer archivo esté lleno y no se puedan escribir más datos en el grupo de archivos, el primer archivo se expandirá nuevamente, y así sucesivamente

Lo que he explorado en mi propia práctica:

Eliminación de archivos y grupos de archivos. Si es necesario cancelar la partición porque el esquema de partición anterior no es razonable o particionar de otra manera, implicará la eliminación de archivos y grupos de archivos si no domina los pasos correctos. A veces es posible que no pueda eliminarlo y se le preguntará "el archivo no está vacío y no se puede eliminar" o "el grupo de archivos no está vacío y no se puede eliminar", etc. Si no conoce el habilidades, ¡será muy frustrante! ¡He experimentado esa depresión antes! No encontré la respuesta correcta en Baidu. Aquí está la respuesta que obtuve después de mi propia exploración.

1. Eliminación de archivos: primero borre los datos del archivo antes de eliminarlos, debe recordar hacer una copia de seguridad de los datos. Puede copiar los datos a otras tablas y luego ejecutar:

<. p>DBCC SHRINKFILE (FileName, EMPTYFILE);

Después de eliminar el contenido del archivo, ejecute el comando de eliminación de archivo DataBaseName representa el nombre de los datos y FileName representa el nombre del archivo:

ALTER DATABASE [DataBaseName] REMOVE FILE FileName;

2. Eliminación del grupo de archivos:

Cuando se eliminan los archivos del grupo de archivos, según el entendimiento normal, el grupo de archivos debe ser eliminar directamente. De hecho, esto no es posible.

Porque hay varias cosas que dependen del grupo de archivos, una es el esquema de partición y la otra es la tabla de particiones que utiliza el esquema de partición.

Por lo tanto, debe eliminar el esquema de partición para eliminar el grupo de archivos. Pero antes de eliminar el esquema de partición, primero debe cambiar la tabla de particiones que depende de él para que no dependa de él.

Esto es principalmente para cambiar la columna de partición de la tabla de particiones para que no utilice el esquema de partición. Si no se cambia, puede eliminar directamente la tabla para resolver el problema si los datos están en ella. la mesa ha sido respaldada.

Luego elimine el esquema de la tabla de particiones y finalmente elimine el grupo de archivos directamente.

Resuma el proceso de eliminación anterior:

1. Modifique la tabla de particiones para que no dependa del esquema de partición.

2. Elimine el esquema de partición (dependiendo del grupo de archivos a eliminar).

ELIMINAR ESQUEMA DE PARTICIÓN [Part_func_scheme_Name]

3. Elimine el grupo de archivos directamente.

ALTER DATABASE [DataBaseName] REMOVE FILEGROUP [FGName]

DataBaseName representa el nombre de los datos y FGName representa el nombre del grupo de archivos.