MSDE Mantenimiento . Comprecion de data??????

14/06/2004 - 07:02 por Carlos Solivan | Informe spam
Según tengo entendido MSDE el límite es hasta 2 giga.
Tengo una base de datos que tiene algunos 20 mega mensual
quiero borrar la data porque no me hace falta. El
problema es que cuando borro toda la data el tamaño de la
DB sigue siendo 20 mega.

Mire las herramientas para crear un mantenimiento. Pero
cuando el Job corren no hace lo que quiero. Lo que quiero
es que esos 20 mega se eliminan si no es así llegara el
momento que llegue a las 2 giga sin tener nada de data?
 

Leer las respuestas

#1 Maxi
14/06/2004 - 15:05 | Informe spam
Hola, lo que vos estas necesitando es reducir la BDD.

Sacado de tus BOL (Book On line)

DBCC SHRINKDATABASE
Reduce el tamaño de los archivos de datos de la base de datos especificada.

Sintaxis
DBCC SHRINKDATABASE
( database_name [ , target_percent ]
[, {NOTRUNCATE | TRUNCATEONLY}]
)

Argumentos
database_name

Es el nombre de la base de datos que se va a reducir. Los nombres de las
bases de datos se deben ajustar a las reglas para los identificadores. Para
obtener más información, consulte Utilizar identificadores.

target_percent

Es el porcentaje de espacio libre que se desea dejar en el archivo de la
base de datos después de reducir la base de datos.

NOTRUNCATE

Hace que el espacio de archivos liberado se retenga en los archivos de base
de datos. Si no se especifica, el espacio liberado del archivo pasa al
sistema operativo.

TRUNCATEONLY

Hace que se libere cualquier espacio no utilizado de los archivos de datos
para su utilización por el sistema operativo y reduce el archivo a la última
magnitud asignada, lo que reduce el tamaño del archivo sin mover los datos.
No se intenta volver a asignar filas a las páginas desasignadas. Cuando se
utiliza TRUNCATEONLY, no se tiene en cuenta target_percent.

Observaciones
Microsoft® SQL ServerT puede reducir:

a.. Todos los archivos de datos y de registro de una base de datos
específica. Ejecute DBCC SHRINKDATABASE.


b.. Un archivo de datos o de registro de una base de datos específica.
Ejecute DBCC SHRINKFILE.
DBCC SHRINKDATABASE reduce los archivos de datos de uno en uno. Sin embargo,
DBCC SHRINKDATABASE reduce los archivos de registro como si todos estuvieran
en una agrupación de registros contiguos.

Suponga que una base de datos llamada mydb tiene dos archivos de datos y dos
archivos de registro. El tamaño de los archivos de datos y de registro es de
10 MB. El primer archivo de datos contiene 6 MB.

En cada archivo, SQL Server calcula el tamaño final, que es tamaño al que se
va a reducir el archivo. Cuando DBCC SHRINKDATABASE se especifica con
target_percent, SQL Server calcula el tamaño final para que quede
target_percent de espacio libre en el archivo tras la reducción. Por
ejemplo, si especifica un target_percent de 25 para reducir mydb. SQL Server
calcula el tamaño final del archivo como 8 MB (6 MB de datos más 2 MB de
espacio libre). Por tanto, SQL Server pasa los datos de los últimos 2 MB del
archivo de datos al espacio libre de lo3 primeros 8 MB del archivo de datos
y, a continuación, reduce el archivo.

Suponga que el primer archivo de datos de mydb contiene 7 MB de datos. La
especificación de target_percent como 30 permite que este archivo de datos
sea reducido y mantenga un porcentaje de espacio libre del treinta por
ciento. Sin embargo, la especificación de target_percent como 40 no reduce
el archivo de datos porque SQL Server no reduce un archivo a un tamaño menor
que el ocupado por los datos. Este aspecto también se puede ver de otro
modo: 40 por ciento de espacio libre + 70 por ciento de datos en el archivo
(7 MB de 10 MB) es mayor que 100 por ciento. Como el porcentaje de espacio
libre deseado más el porcentaje actual ocupado por los datos supera el 100
por ciento (en un 10 por ciento), con un target_size superior a 30 no se
reducirá el archivo de datos.

En los archivos de registro, SQL Server utiliza target_percent para calcular
el tamaño final de todo el registro de forma que target_percent sea la
cantidad de espacio libre del registro después de la operación de reducción.
El tamaño final de todo el registro se traduce, entonces, en el tamaño final
de cada archivo de registro. DBCC SHRINKDATABASE intenta reducir cualquier
archivo de registro físico a su tamaño final de forma inmediata. Si ninguna
parte del registro lógico se encuentra en los registros virtuales más allá
del tamaño final del archivo de registro, el archivo se trunca de manera
correcta y DBCC SHRINKDATABASE finaliza sin mensajes. Sin embargo, si parte
del registro lógico está en los registros virtuales más allá del tamaño
final, SQL Server 2000 libera tanto espacio como sea posible y a
continuación emite un mensaje informativo. El mensaje indica las acciones
que debe llevar a cabo para mover el registro lógico de los registros
virtuales al final del archivo. Tras llevar a cabo estas acciones, puede
volver a emitir la instrucción DBCC SHRINKDATABASE para liberar el espacio
restante. Para obtener más información sobre la reducción de archivos de
registro, consulte Reducir el registro de transacciones.

Como un archivo de registro sólo puede reducirse al límite de un archivo de
registro virtual, puede que no sea posible reducirlo a un tamaño menor que
el de un archivo de registro virtual, aunque no esté siendo utilizado. Por
ejemplo, una base de datos con un archivo de registro de 1 GB puede hacer
que el archivo de registro quede reducido a sólo 128 MB. Para obtener más
información acerca del truncado, consulte Truncar el registro de
transacciones. Para obtener más información acerca de cómo determinar los
tamaños de los archivos de registro virtuales, consulte Archivos de registro
virtuales.

El tamaño final de los archivos de datos y de registro calculado por DBCC
SHRINKDATABASE nunca puede ser menor que el tamaño mínimo de un archivo. El
tamaño mínimo de un archivo es el tamaño especificado cuando se creó el
archivo, o el último tamaño establecido explícitamente mediante una
operación de modificación del tamaño del archivo, como ALTER DATABASE con la
opción MODIFY FILE o DBCC SHRINKFILE. Por ejemplo, si al ejecutar CREATE
DATABASE se especificó que el tamaño de todos los archivos de datos y de
registro de mydb fuera 10 MB, el tamaño mínimo de cada archivo es 10 MB.
DBCC SHRINKDATABASE no puede reducir ninguno de los archivos a un tamaño
menor que 10 MB. Si el tamaño de uno de los archivos ha sido aumentado
explícitamente a 20 MB mediante ALTER DATABASE con la opción MODIFY FILE, el
nuevo tamaño mínimo del archivo es 20 MB. Para reducir el tamaño de un
archivo a un tamaño menor que su tamaño mínimo, utilice DBCC SHRINKFILE y
especifique el nuevo tamaño. La ejecución de DBCC SHRINKFILE hace que el
tamaño mínimo del archivo sea el nuevo tamaño especificado.

Cuando se utilizan archivos de datos, DBCC SHRINKDATABASE tiene las opciones
NOTRUNCATE y TRUNCATEONLY. Ambas opciones no tienen efecto en los archivos
de registro. DBCC SHRINKDATABASE sin opciones es equivalente a DBCC
SHRINKDATABASE con la opción NOTRUNCATE seguida de DBCC SHRINKDATABASE con
la opción TRUNCATEONLY.

La opción NOTRUNCATE, con o sin la especificación de target_percent, ejecuta
las operaciones de movimiento de datos de DBCC SHRINKDATABASE, incluido el
movimiento de las páginas asignadas del final del archivo a páginas no
asignadas del principio del archivo. Sin embargo, el espacio libre del final
del archivo no se devuelve al sistema operativo y el tamaño físico del
archivo no cambia. Por tanto, cuando se especifica la opción NOTRUNCATE, no
parece que los archivos de datos se hayan reducido. Por ejemplo, suponga que
está utilizando de nuevo la base de datos mydb. mydb tiene dos archivos de
datos y dos archivos de registro. El tamaño del segundo archivo de datos y
el segundo archivo de registro es de 10 MB. Cuando se ejecuta DBCC
SHRINKDATABASE mydb NOTRUNCATE, Microsoft® SQL ServerT pasa los datos de las
últimas páginas a las primeras páginas del archivo de datos. Sin embargo, el
tamaño del archivo sigue siendo 10 MB.

La opción TRUNCATEONLY devuelve el espacio libre del final del archivo al
sistema operativo. Sin embargo, TRUNCATEONLY no mueve páginas dentro del
archivo o archivos. El archivo especificado sólo queda reducido hasta la
última extensión asignada. Si se especifica la opción TRUNCATEONLY, no se
tiene en cuenta target_percent.

La base de datos no puede ser menor que el tamaño de la base de datos model.

La base de datos que se comprime no tiene que estar en modo de usuario
único; otros usuarios pueden estar trabajando en la base de datos cuando
ésta se está reduciendo. Esto incluye las bases de datos del sistema.

Conjuntos de resultados
Esta tabla describe las columnas del conjunto de resultados.

Nombre de columna Descripción
DbId Número de identificación de la base de datos del archivo que SQL
Server intentó reducir.
FileId Número de identificación del archivo que SQL Server intentó
reducir.
CurrentSize El número de páginas de 8 KB que el archivo ocupa
actualmente.
MinimumSize El número de páginas de 8 KB que el archivo podría ocupar,
como mínimo. Esto corresponde al tamaño mínimo o tamaño de creación original
de un archivo.
UsedPages El número de páginas de 8 KB que utiliza actualmente el
archivo.
EstimatedPages El número de páginas de 8 KB al que SQL Server estima
que se puede reducir el archivo.




Nota SQL Server no presenta filas para los archivos que no se reducen.


Permisos
De forma predeterminada, tienen permisos de ejecución de DBCC SHRINKDATABASE
los miembros de la función fija de servidor sysadmin o de la función fija de
base de datos db_owner, y dichos permisos no son transferibles.

Ejemplos
En este ejemplo se reduce el tamaño de los archivos de la base de datos de
usuario UserDB para dejar un 10 por ciento de espacio libre en los archivos
de UserDB.

DBCC SHRINKDATABASE (UserDB, 10)
GO


Salu2
Maxi
Buenos Aires - Argentina
Desarrollador Microsoft 3 Estrellas .NET
Nunca consideres el estudio como una obligación sino como
una oportunidad para penetrar en el bello y maravillosos
mundo del saber.
- Albert Einstein



"Carlos Solivan" escribió en el mensaje
news:1be2401c451cc$d52d98d0$
Según tengo entendido MSDE el límite es hasta 2 giga.
Tengo una base de datos que tiene algunos 20 mega mensual
quiero borrar la data porque no me hace falta. El
problema es que cuando borro toda la data el tamaño de la
DB sigue siendo 20 mega.

Mire las herramientas para crear un mantenimiento. Pero
cuando el Job corren no hace lo que quiero. Lo que quiero
es que esos 20 mega se eliminan si no es así llegara el
momento que llegue a las 2 giga sin tener nada de data?




Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.698 / Virus Database: 455 - Release Date: 02/06/2004


begin 666 note.gif
M1TE&.#EA# `+`(#_`(2&`,# P"'Y! $```$`+ `````,``L`0 (:C(\(H'S[
68%R0&ED;M7,'[%S2YW#1)VJ;4P``.P``
`
end

Preguntas similares