DBCC ShrinkDatabase()
DBCC ShrinkFile()
- ¿Necesito ejecutar ambos comandos DBCC para reducir la base de datos?
- ¿Cuál es la diferencia entre estos dos anteriores?
DBCC ShrinkDatabase()
DBCC ShrinkFile()
Respuestas:
Simplemente...
DBCC ShrinkDatabase()
: reducir todos los archivosDBCC ShrinkFile()
: solo un archivoPor ejemplo, es posible que tenga un problema de copia de seguridad de registro y se haya descontrolado para que pueda ejecutarlo DBCC ShrinkFile()
.
Usted casi nunca se utiliza ShrinkDatabase
.
Antes de considerar usar cualquiera de los comandos, lea el blog de Paul Randal sobre la reducción .
No reduciría ninguno de los archivos (mdf, ldf) a menos que hubiera una razón clara. Los archivos son del tamaño que tienen porque deben ser. Los blogs que sugieran hacerlo como parte del mantenimiento regular probablemente no entiendan cómo funciona SQL Server.
Una base de datos predeterminada tiene dos archivos.
MyDb.MDF y MyDb.LDF
El archivo MDF es el archivo de datos donde reside la partición primaria. Dependiendo de sus necesidades, puede particionar una base de datos en múltiples archivos. Esto se hace para que los datos (tablas simples o múltiples) puedan abarcar múltiples archivos que generalmente se colocan en discos duros separados para lograr un mayor rendimiento.
Si reduce una base de datos, todos los archivos asociados con esa base de datos se reducirán.
Si reduce un archivo, solo se reducirá el archivo elegido.
Solo necesita usar el comando Reducir base de datos. Pero generalmente no es una buena práctica hacer esto y tampoco es una práctica recomendada.
Si nos dice cuál es el problema que está experimentando, podemos brindarle más información sobre cómo resolverlo.
Lo más probable es que usemos solo dbcc shrinkfile. sp_helpdb 'databasename' proporciona la lista de datos y archivos de registro en una base de datos.
haga clic derecho en el estudio de gestión, tareas-> reducir-> archivo proporciona cuánto% puede reducir.
cualquier cosa que reduzcamos, está disponible de nuevo en el disco como espacio libre.
por ejemplo: use 'databasename' dbcc shrinkfile (fileid, 100)
aquí 100 es 100 MB
fileid puede obtener de sp_helpdb 'databasename'