Si bien la reducción es peligrosa por las razones mencionadas aquí. Hay un medio feliz entre la respuesta de Jimbo y la respuesta de John ... Siempre debe considerar seriamente si desea o no reducir su base de datos.
En un mundo ideal: crearía su base de datos con mucho espacio libre para crecer. Yo llamo a esto "Dimensionamiento correcto" su base de datos. Permitiría que este espacio libre esté allí y no se esfuerce por devolverlo y mantener su tamaño total justo en el tamaño utilizado. ¿Por qué? Debido a que su base de datos eventualmente crecerá nuevamente ... Luego se encogerá nuevamente ... Y se verá atrapado en este horrible patrón de encogimientos inútiles seguidos de crecimientos, y todo el tiempo, como algunos han señalado, estará aumentando su fragmentación de índice.
He publicado un blog sobre esto en el que advertí a la gente: " ¡No toquen ese botón de contracción! ", Pero a veces ... A veces es necesario. Si tiene una base de datos grande, solo liberó un espacio significativo y no espera volver a crecer nunca más; bueno, entonces está bien considerar la reducción como una operación única, siempre que pueda ocuparse de su fragmentación del índice después de la reconstrucción ellos. La operación de reducción puede llevar mucho tiempo, por lo que querrá planificarla para un momento en el que pueda pagar el precio de una reducción. El enfoque de crear una base de datos vacía y copiar datos en ella funciona, pero eso puede ser muy difícil con bases de datos más grandes y muchos datos.
Si planea agregar ese espacio a la base de datos a través del uso normal y los patrones de crecimiento en el futuro, entonces es posible que desee dejar el espacio allí.
también
Dijiste que "borraste" tu registro de transacciones. Me gustaría saber cómo hiciste esto, pero a medida que leas la publicación que compartí y las demás de la serie, verás algunos consejos sobre la administración del registro de transacciones. Pero en resumen: si está en modo de Recuperación completa, debe realizar copias de seguridad de registros regulares para mantener el registro reutilizándose. De lo contrario, sin copias de seguridad de registros mientras está en modo completo, el archivo de registro sigue creciendo y creciendo y siempre guarda lo que ha hecho porque le dijo a SQL que no solo desea mantener ese registro para la recuperación de fallas, sino que desea mantener un copia de seguridad manual para reproducir transacciones / deshacer transacciones para recuperar en un punto específico en el tiempo con fines de recuperación ... Si está en una situación simple y ve que el registro crece excesivamente,BEGIN TRAN ... do work.... COMMIT TRAN
o si acaba de emitir una gran DELETE
declaración y eliminó todo un desorden de datos en una transacción implícita).
También supongo que está buscando este espacio libre en su sistema de archivos. Si lo está buscando dentro de SQL y dentro de ese archivo grande que tiene, podría ser que esté esperando que se complete la limpieza fantasma si está buscando inmediatamente después de su operación. Paul Randal bloguea sobre Ghost Cleanup .