Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describe cómo reducir una base de datos mediante el uso de Object en SQL Server 2014 mediante SQL Server Management Studio o Transact-SQL.
La reducción de los archivos de datos permite recuperar espacio moviendo páginas de datos del final del archivo a espacio desocupado próximo al principio del archivo. Cuando se crea suficiente espacio libre al final del archivo, las páginas de datos al final del archivo se pueden desasignar y devolver al sistema de archivos.
Antes de empezar
Limitaciones y restricciones
La base de datos no se puede hacer más pequeña que el tamaño mínimo de la base de datos. El tamaño mínimo es el tamaño especificado cuando se creó originalmente la base de datos o el último tamaño explícito establecido mediante una operación de cambio de tamaño de archivo, como DBCC SHRINKFILE. Por ejemplo, si una base de datos se creó originalmente con un tamaño de 10 MB y creció a 100 MB, el tamaño más pequeño de la base de datos podría reducirse a 10 MB, incluso si se han eliminado todos los datos de la base de datos.
No se puede reducir una base de datos mientras se realiza una copia de seguridad de la base de datos. Por el contrario, no se puede realizar una copia de seguridad de una base de datos mientras se está procesando una operación de reducción en la base de datos.
DBCC SHRINKDATABASE fallará cuando encuentre un índice de almacén de columnas optimizado para memoria xVelocity. El trabajo completado antes de encontrar el índice de almacén de columnas tendrá éxito, por lo que la base de datos podría ser más pequeña. Para completar DBCC SHRINKDATABASE, deshabilite todos los índices de almacén de columnas antes de ejecutar DBCC SHRINKDATABASE y vuelva a generar los índices de almacén de columnas.
Recomendaciones
Para ver la cantidad actual de espacio libre (sin asignar) en la base de datos. Para obtener más información, vea Mostrar información de datos y espacio de registro para una base de datos.
Tenga en cuenta la siguiente información cuando vaya a reducir una base de datos:
Una operación de reducción es más eficaz después de una operación que crea una gran cantidad de espacio no utilizado, como una operación de truncar una tabla o una operación de eliminar una tabla.
La mayoría de las bases de datos requieren que haya espacio disponible para realizar las operaciones diarias normales. Si reduce repetidamente una base de datos y observa que el tamaño de la base de datos crece de nuevo, esto indica que el espacio que se ha reducido es necesario para las operaciones normales. En estos casos, reducir repetidamente la base de datos es una operación de desperdiciado.
Una operación de reducción no conserva el estado de fragmentación de los índices de la base de datos y, por lo general, aumenta la fragmentación en un grado. Esta es otra razón para no reducir repetidamente la base de datos.
A menos que tenga un requisito específico, no establezca la opción de base de datos AUTO_SHRINK en ON.
Seguridad
Permisos
Requiere la pertenencia al rol fijo de servidor sysadmin o al rol fijo de base de datos db_owner.
Uso de SQL Server Management Studio
Para reducir una base de datos
En Explorador de objetos, conéctese a una instancia del motor de base de datos de SQL Server y, a continuación, expanda esa instancia.
Expanda Bases de datos y, a continuación, haga clic con el botón derecho en la base de datos que desea reducir.
Apunte a Tareas, apunte a Reducir y haga clic en Base de datos.
Base de datos
Muestra el nombre de la base de datos seleccionada.Espacio asignado actual
Muestra el espacio total utilizado y no utilizado para la base de datos seleccionada.Espacio libre disponible
Muestra la suma de espacio libre en los archivos de datos y registro de la base de datos seleccionada.Reorganizar archivos antes de liberar espacio sin usar
Seleccionar esta opción es equivalente a ejecutar DBCC SHRINKDATABASE especificando una opción de porcentaje de destino. Borrar esta opción es equivalente a ejecutar DBCC SHRINKDATABASE con la opción TRUNCATEONLY. De forma predeterminada, esta opción no está seleccionada cuando se abre el cuadro de diálogo. Si se selecciona esta opción, el usuario debe especificar una opción de porcentaje de destino.Espacio libre máximo en archivos después de reducirse
Escriba el porcentaje máximo de espacio libre que se va a dejar en los archivos de base de datos después de que la base de datos se haya reducido. Los valores permitidos están comprendidos entre 0 y 99.Haz clic en Aceptar.
Uso de Transact-SQL
Para reducir una base de datos
Conéctese al motor de base de datos.
En la barra Estándar, haga clic en Nueva consulta.
Copie y pegue el siguiente ejemplo en la ventana de consulta y haga clic en Ejecutar. En este ejemplo se usa DBCC SHRINKDATABASE para reducir el tamaño de los archivos de datos y de registro de la
UserDBbase de datos y para permitir10un porcentaje de espacio libre en la base de datos.
DBCC SHRINKDATABASE (UserDB, 10);
GO
Seguimiento: Después de reducir una base de datos
Los datos que se mueven para reducir un archivo se pueden dispersar en cualquier ubicación disponible en el archivo. Esto produce la fragmentación de índices y puede reducir el rendimiento de las consultas que buscan un intervalo del índice. Para eliminar la fragmentación, considere la posibilidad de volver a generar los índices en el archivo después de la reducción.
Véase también
Reducir un archivo
sys.databases (Transact-SQL)
sys.database_files (Transact-SQL)
DBCC (Transact-SQL)
DBCC SHRINKFILE (Transact-SQL)
Archivos y grupos de archivos de base de datos