Como crear un reporte en SSRS para compresion datos: Compresion sql con reporting services SQL Server
Compresion sql con reporting services
compresion sql con reporting services, para lo cual imaginemos un mundo donde podemos hacer las cosas mas fáciles en el sql, efectivamente es posible con reporting services, actualmente lo usamos para mostrar información, pero si pudiéramos ejecutar comandos de mantenimiento de base de datos desde un reporte ?, si lectores mandar comandos al a base de datos desde nuestro reporte es posible
En el articulo del día crearemos un reporte, con el cual seremos capaces de seleccionar una base de datos, posteriormente una esquema de la misma,ademas de sus respectivas tablas, al finalizar seleccionamos el tipo de compresión que le queremos aplicar a nuestra base de datos seleccionada previamente
Tendremos la posibilidad de dejar la tabla en su estado actual o comprimirla por fila o pagina Reporte RDL para descargar AQUI
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
DECLARE @data_compression NVarchar(120);DECLARE @rowCompression TABLE ( [object_name] NVarchar(256) , [schema_name] NVarchar (256) , [index_id] Int , [partition_number] Int , [size_with_current_setting(KB)] Int , [size_with_request_compression_setting(KB)] Int , [sample_size_with_current_compression_setting(KB)] Int , [sample_size_with_requested_compression_setting(KB)] Int ); DECLARE @pageCompression TABLE ( [object_name] NVarchar(256) , [schema_name] NVarchar (256) , [index_id] Int , [partition_number] Int , [size_with_current_setting(KB)] Int , [size_with_request_compression_setting(KB)] Int , [sample_size_with_current_compression_setting(KB)] Int , [sample_size_with_requested_compression_setting(KB)] Int ); ---------------------------------------------------------------------------------------------------- -- Compresion Por Fila ---------------------------------------------------------------------------------------------------- SET @data_compression = N'ROW'; insert into @rowCompression exec sp_estimate_data_compression_savings @schema_name, @object_name, NULL, NULL, @data_compression; ---------------------------------------------------------------------------------------------------- -- Compresion Por pagina ---------------------------------------------------------------------------------------------------- SET @data_compression = N'PAGE'; insert into @pageCompression exec sp_estimate_data_compression_savings @schema_name, @object_name, NULL, NULL, @data_compression; ---------------------------------------------------------------------------------------------------- -- Select de Resultados ---------------------------------------------------------------------------------------------------- select 'ROW' AS TipoCompresion , [object_name] AS Objeto , [schema_name] AS Esquema , CAST( (sum([size_with_current_setting(KB)]))/1024.00 AS numeric (18,2) ) AS [TamañoActual_MB] , CAST( (sum([size_with_request_compression_setting(KB)]))/1024.00 AS numeric (18,2) ) AS [TamañoComprimido_MB] , 100 -(cast(sum([size_with_request_compression_setting(KB)] ) as numeric(10,2)) * 100/ nullif(sum([size_with_current_setting(KB)]),0)) AS [PorcentajeCompresion_%] from @rowCompression group by [object_name] , [schema_name] UNION ALL select 'PAGE' AS TipoCompresion , [object_name] AS Objeto , [schema_name] AS Esquema , CAST( sum([size_with_current_setting(KB)]) /1024.00 AS numeric (18,2) ) AS [TamañoActual_MB] , CAST( sum([size_with_request_compression_setting(KB)])/1024.00 AS numeric (18,2) ) AS [TamañoComprimido_MB] , 100 -(cast(sum([size_with_request_compression_setting(KB)] ) as numeric(10,2)) * 100/ nullif(sum([size_with_current_setting(KB)]),0)) AS [PorcentajeCompresion_%] from @pageCompression group by [object_name] , [schema_name]; |
Al finalizar el ejercicio tendremos un reporte en SQL Server reporting services el cual sera capaz de comprimir datos a nivel de fila y pagina en la base de datos seleccionada
que sugieres para comprimir los LDF de una Base de Datos.
No entendi tu pregunta, ya que los ldf generas un bak y guarda todo ahora bien si quieres es menos espacio podemos hablar de compresion de tablas
Una Consulta Juan Castillo trabajo bastante con reporting services, tengo dos reportes que van enlazado a un dataset de procedimiento almacenado que se ejecutan en el servidor físico en minutos, el servidor de reportes esta instalado en servidor virtual VMware, estos dos reportes demoran mas de 15 minutos en devolver el resultado.
Contactamen al correo y te ayudo
Hola, muy buen contenido, me gustaría expandir mi conocimiento en todo el mundo SQL SERVER, y no se si has pensando en hacer lo mismo que haces, pero desde el comienzo, es decir; como configurar SSRS, que se debe tener en cuenta, etc. Salu2
Dictare un curso de SSIS gratis dentro de poco visita mi perfil en linkein para tener mas info