Generaremos nuestra primera aplicación desde notepad utilizando el compilador que acompaña el .Net Framework. VBC para Visual Basic o bien CSC para C#.
Guía Práctica.
1. Verificamos si tenemos enlazado las librerías del Net Framework. Botón de Inicio. Ejecutar. CMD. Ejecutamos VBC
2. Abrimos notepad y escribimos nuestra primera aplicación para consola.
class HolaMundo
Public Shared Sub Main
'Mostramos texto en la consola
system.console.writeline("Hola, Mundo !!")
system.console.readline
End Sub
End Class
3. Guardamos el documento con la extensión .vb en una carpeta cercana a la raíz.
4. Desde el CMD utilizamos el compilador: vbc c:\demo\holamundo.vb t\:exe
5. Ahora vemos si funciono buscamos dentro de nuestra carpeta demo y ejecutamos el exe.
6. Verificaremos nuestro código MSIL o bien código intermedio generado por nuestro compilador. Abriremos una aplicación “desembladora” llamada ILDASM
7. Ejecutamos ILDASM desde CMD con la ruta y nombre de nuestra aplicación o buscamos esta herramienta en Archivos de Programa\Microsoft SDKs
8. Desde esta aplicación podemos ver el Lenguaje Intermedio navegando en sus clases y métodos.
lunes, 17 de octubre de 2011
jueves, 6 de octubre de 2011
Configurando Database Mail
1. Abrimos el SQL Server Management Studio.
2. En el explorador de soluciones vamos a Management, Database Mail, click Derecho, Configure Database Mail.
3. Nos mostrara un asistente le damos siguiente.
4. Aquí vamos a seleccionar la opción de configuración inicial.
Nos dira que no tenemos habilitado la opción de Database Mail, le diremos que si5. En la opción de New Profile, vamos a especificar un nombre para el profile y agregar un servidor SMTP haciendo click en Add
6. Vamos a configurar el servidor SMTP, usaremos el servidor de correos de gmail, utilizando una cuenta normal de correo con sus respectivas credenciales.
7. Una vez que configuramos la cuenta de SMTP, procedemos al siguiente paso. Definimos las políticas de seguridad, haciendo público o privado nuestro profile.
8. En el siguiente paso vamos a configurar valores o parámetros del sistema, como numero de intentos al fallar el envio, la cantidad de tiempo que espera entre envíos, archivos Attach
9. Finalmente le damos finalizar a nuestro asistente creando nuestro nuevo profile y configurando nuestra cuenta SMTP.
10. Ahora probaremos nuestra configuración a ver si es la correcta. Hacemos click derecho sobre Database Mail y seleccionamos la opción “Send E-mail Test”
11. Verificamos si envio correctamente el correo, click derecho sobre Database Mail y seleccionamos “View database Mail Log”
12. En mi correo personal ya tengo el correo que se envío hace 1 minuto atrás.
13. Excelente, una vez que tenemos probado nuestro server y cuenta SMTP, procederemos a enviar correos por medio de T-SQL. Importante estar siempre dentro de la base msdb.
USE msdb
EXEC sp_send_dbmail @profile_name='profile01',
@recipients='juan.perez@hotmail.com',
@subject='Prueba de Envio de Correo por SQL Server',
@body='Este es el cuerpo del correo de prueba felicidades Database Mail funciona correctamente.'
14. Podemos revisar la bitácora de correos enviados, y bitácora de eventos en las siguientes tablas:
SELECT * FROM sysmail_mailitems
GO
SELECT * FROM sysmail_log
lunes, 26 de septiembre de 2011
Operadores INTERSECT, EXCEPT y UNION
INTERSECT, EXCEPT y UNION son un set de operadores que ejecutan operaciones entre 2 o más set de datos. UNION ha estado disponible en T-SQL desde las primeras versiones, mientras INTERSECT y EXCEPT fueron introducidos en SQL 2005. Los tres operadores tienen requerimientos similares:
1. Requieren un mínimo de 2 set de datos.
2. Cada set de datos debe tener el mismo número de columnas.
3. Cada columna con su relativa columna deben ser tipos de datos compatibles.
4. La cláusula ORDER BY puede usarse únicamente al final de la consulta.
UNION
Combina los resultados de dos o más consultas en un solo conjunto de resultados que incluye todas las filas que pertenecen a las consultas de la unión.
SELECT A, B, C FROM TABLA1
UNION
SELECT A, B, C FROM TABLA2
Una variante es UNION ALL que agrega todas las filas a los resultados. Incluye las filas duplicadas. Si no se especifica, las filas duplicadas se quitan.
SELECT A, B, C FROM TABLA1
UNION ALL
SELECT A, B, C FROM TABLA2
INTERSECT
Devuelve los valores distintos de la consulta inicial que corresponda con la siguiente consulta. Es decir los valores en común que tengan ambas consultas.
SELECT A, B, C FROM TABLA1
INTERSECT
SELECT A, B, C FROM TABLA2
EXCEPT
Devuelve los valores distintos de la consulta inicial que no se devuelven desde la consulta siguiente. Es decir en dependencia de la ubicación de la consulta nos regresara los valores que no se encuentren la siguiente.
SELECT * FROM t1
EXCEPT
SELECT * FROM t2
Sera distinto los resultados para la siguiente consulta:
SELECT * FROM t2
EXCEPT
SELECT * FROM t1
DIFERENCIA SIMETRICA
Como lograriamos esta consulta?
Pudiésemos usar NOT IN para ello
SELECT A
FROM Tabla1
WHERE A NOT IN(SELECT A FROM Tabla2)
UNION
SELECT A
FROM Tabla2
WHERE A NOT IN(SELECT A FROM Tabla1)
SELECT A FROM TABLA1
UNION
SELECT A FROM TABLA2
EXCEPT
SELECT A FROM TABLA1
INTERSECT
SELECT A FROM TABLA2
Tipos de JOIN en T-SQL
INNER JOIN
Permite combinar 2 o más tablas a través de al menos un campo en común. Es la unión natural entre las tablas. Los resultados son los datos que tienen un común ambas tablas.
SINTAXIS
SELECT * FROM TABLA1 T1 INNER JOIN TABLA2 T2 ON T1.CampoA = T2.CampoA
LEFT OUTER JOIN
Permite hacer una mezcla y conservar todos los valores de la tabla izquierda (la primera tabla que se menciona en la consulta) sin importar que no tengan equivalente con la de la derecha. Los resultados serán siempre todos los registros de la tabla izquierda TABLA1 sin que exista coincidencia en la otra tabla TABLA2.
SINTAXIS
SELECT * FROM TABLA1 T1 LEFT OUTER JOIN TABLA2 T2 ON T1.CampoA = T2.CampoA
RIGHT OUTER JOIN
Permite hacer una mezcla y conservar todos los valores de la tabla derecha (la segunda tabla que se menciona en la consulta) sin importar que no tengan equivalente con la primera. Los resultados serán siempre todos los registros de la tabla derecha TABLA2 sin que exista coincidencia en la otra tabla TABLA1.
SINTAXIS
SELECT * FROM TABLA1 T1 RIGHT OUTER JOIN TABLA2 T2 ON T1.CampoA = T2.CampoA
CROSS JOIN
Nos permite hacer un producto cartesiano entre las tablas que estamos comparando. Es una multiplicación de ambas tablas. Se puede realizar de manera normal o bien de manera implícita.
---CROSS JOIN NORMAL
SELECT * FROM Tabla1 CROSS JOIN Tabla2
---CROSS JOIN IMPLICITO
SELECT * FROM Tabla1 ,Tabla2
Es la combinación completa. Nos permitirá hacer una mezcla total y conservar todos los valores de ambas tablas, los valores que no tengan equivalencia aparecerán acompañados de un NULL y se mostraran todos los registros.
SELECT * FROM Tabla1 FULL OUTER JOIN Tabla2 ON Tabla1.CampoA = Tabla2.CampoA
viernes, 16 de septiembre de 2011
lunes, 12 de septiembre de 2011
domingo, 4 de septiembre de 2011
jueves, 1 de septiembre de 2011
Importar Datos a PostgreSQL desde Excel
1. Debemos generar un archivo .CSV (separado por comas). Debera de tener la misma cantidad de columnas que la tabla destino. No se debera poner titulo a cada columna.
2. Renombar el archivo .CSV a la extension .TXT
3. Copiar el archivo .TXT a la carpeta DATA de nuestro server PostgreSQL. En windows la ruta seria la siguiente: C:\Archivos de Programa\PostgreSQL\8.4\data
4. Ejecutar la siguiente instruccion SQL:
COPY Clientes FROM 'Clientes.txt' USING DELIMITERS ','
2. Renombar el archivo .CSV a la extension .TXT
3. Copiar el archivo .TXT a la carpeta DATA de nuestro server PostgreSQL. En windows la ruta seria la siguiente: C:\Archivos de Programa\PostgreSQL\8.4\data
4. Ejecutar la siguiente instruccion SQL:
COPY Clientes FROM 'Clientes.txt' USING DELIMITERS ','
miércoles, 31 de agosto de 2011
miércoles, 24 de agosto de 2011
Error rsAccessDenied
Error rsAccessDenied : The permissions granted to user 'BERNARDO\User' are insufficient for performing this operation.
EL PROBLEMA
Cuando tratamos de acceder al ReportServer y no hay acceso
http://localhost/reportserver/
Ademas ingresamos al ReportManager y no nos da la opcion Site Settings para la administracion de permisos.
http://localhost/Reports
Cuando tratamos de hacer un deploy del proyecto desde el Visual Studio nos lanza el error:
Error rsAccessDenied : The permissions granted to user 'BERNARDO\User' are insufficient for performing this operation.
LA SOLUCION
1. Primero aseguremarse que el servicio este corriendo bajo la cuenta de LOCALSYSTEM o un usuario con privilegios similares. Esto lo hacemos desde el Reporting Services Configuration Manager.
2. Luego corremos el MSCONFIG desde Inicio / Ejecutar / MsConfig Enter. Vamos a Tools y luego buscamos la seccion UAC Settings. Aqui bajamos el nivel de seguridad. Recuerden reiniciar la maquina.
El problema radica en que tenemos un usuario "Administrador" sin los suficientes permisos como tal.
Espero haya sido util.
EL PROBLEMA
Cuando tratamos de acceder al ReportServer y no hay acceso
http://localhost/reportserver/
Ademas ingresamos al ReportManager y no nos da la opcion Site Settings para la administracion de permisos.
http://localhost/Reports
Cuando tratamos de hacer un deploy del proyecto desde el Visual Studio nos lanza el error:
Error rsAccessDenied : The permissions granted to user 'BERNARDO\User' are insufficient for performing this operation.
LA SOLUCION
1. Primero aseguremarse que el servicio este corriendo bajo la cuenta de LOCALSYSTEM o un usuario con privilegios similares. Esto lo hacemos desde el Reporting Services Configuration Manager.
2. Luego corremos el MSCONFIG desde Inicio / Ejecutar / MsConfig Enter. Vamos a Tools y luego buscamos la seccion UAC Settings. Aqui bajamos el nivel de seguridad. Recuerden reiniciar la maquina.
El problema radica en que tenemos un usuario "Administrador" sin los suficientes permisos como tal.
Espero haya sido util.
miércoles, 10 de agosto de 2011
Guia de Analysis Services - Introducción
Ejercicio 1 - Generando el Cubo de Adventure Works
1. Primeramente tenemos que tener instalado los ejemplos de Adventure Works. Sino lo tenemos descarguemoslo gratuito desde Microsoft.
2. Abrir el BIDS
3. Cargar Proyecto de Ejemplo, el cual nos crear una base de datos OLAP para el servicio de Analysis Services. En la siguiente ruta:
C:\Archivos de Programa\Microsoft SQL Server\100\Tools\Samples\AdventureWorks 2008 Analysis Services Project\enterprise
4. Una vez cargado nos creara las definiciones necesarias para las dimensiones y medidas que generan nuestro base. Le damos “Start Debugging”
5. Cuando haya finalizado el “debug” se habrá creado nuestra base OLAP, verifiquémosla desde el Managment Studio (SSMS) y conectémonos a nuestro server local para el servicio Analysis Services.
6. En el explorador de Objetos buscamos nuestra base que acabamos de generar “Adventure Works”
7. Nos ubicamos sobre la base, hacemos click derecho y le damos en Browse
8. Podemos ver un Pivot Table donde tenemos las siguientes áreas:
a. Drop Totals
b. Drop Fields
c. Drop Columns
d. Drop Filter
e. Dimension Filter
Ejercicio 2 - Analisis de Ventas desde Managment Studio
1. Determinar Ingresos de Venta por Internet e Ingresos de Venta por Distribuidores
$80,450,596.98, $29,358,677.22
2. Mostrar ambos Ingresos determinados por Años Calendarios.
3. Limpiar los resultados.
4. Determinar Ingresos de Venta por Internet e Ingresos de Venta por Distribuidores, por Años Calendarios, utilizando el Dimension Filter mostrar las ventas basados únicamente por “Reseller Type” que sea “Specialty Bike Shop” de la dimensión “Sales Reason”
5. Utilizando “Drop Filter” mostrar unicamente las ventas que tengan como “Sales Reasons” el valor de “Marketing” de la dimensión “Sales Reason”.
6. Agrupar por Columnas las categorías de Ventas en la jerarquía “Product Categories” de la dimensión “Product”
Ejercicio 3 - Generando Reportes desde Excel
1. Abrimos MS Excel, desde la pestaña Datos, De Otras Fuentes, Desde Analysis Services
2. Asistente para la conexión de datos
3. Seleccionamos nuestra base de datos, y nuestro cubo “Adventure Works”. Siguiente y luego Finalizar.
4. Crearemos nuestro reporte entonces con la siguiente información.
Ingresos de Ventas por Internet agrupado por Categorías de Producto y por Años Calendario.
5. Modificamos nuestro reporte para que Filtre por Años Calendarios y se agrupe en las Filas por País y en las columnas por Categorías.
1. Primeramente tenemos que tener instalado los ejemplos de Adventure Works. Sino lo tenemos descarguemoslo gratuito desde Microsoft.
2. Abrir el BIDS
3. Cargar Proyecto de Ejemplo, el cual nos crear una base de datos OLAP para el servicio de Analysis Services. En la siguiente ruta:
C:\Archivos de Programa\Microsoft SQL Server\100\Tools\Samples\AdventureWorks 2008 Analysis Services Project\enterprise
4. Una vez cargado nos creara las definiciones necesarias para las dimensiones y medidas que generan nuestro base. Le damos “Start Debugging”
5. Cuando haya finalizado el “debug” se habrá creado nuestra base OLAP, verifiquémosla desde el Managment Studio (SSMS) y conectémonos a nuestro server local para el servicio Analysis Services.
6. En el explorador de Objetos buscamos nuestra base que acabamos de generar “Adventure Works”
7. Nos ubicamos sobre la base, hacemos click derecho y le damos en Browse
8. Podemos ver un Pivot Table donde tenemos las siguientes áreas:
a. Drop Totals
b. Drop Fields
c. Drop Columns
d. Drop Filter
e. Dimension Filter
Ejercicio 2 - Analisis de Ventas desde Managment Studio
1. Determinar Ingresos de Venta por Internet e Ingresos de Venta por Distribuidores
$80,450,596.98, $29,358,677.22
2. Mostrar ambos Ingresos determinados por Años Calendarios.
3. Limpiar los resultados.
4. Determinar Ingresos de Venta por Internet e Ingresos de Venta por Distribuidores, por Años Calendarios, utilizando el Dimension Filter mostrar las ventas basados únicamente por “Reseller Type” que sea “Specialty Bike Shop” de la dimensión “Sales Reason”
5. Utilizando “Drop Filter” mostrar unicamente las ventas que tengan como “Sales Reasons” el valor de “Marketing” de la dimensión “Sales Reason”.
6. Agrupar por Columnas las categorías de Ventas en la jerarquía “Product Categories” de la dimensión “Product”
Ejercicio 3 - Generando Reportes desde Excel
1. Abrimos MS Excel, desde la pestaña Datos, De Otras Fuentes, Desde Analysis Services
2. Asistente para la conexión de datos
3. Seleccionamos nuestra base de datos, y nuestro cubo “Adventure Works”. Siguiente y luego Finalizar.
4. Crearemos nuestro reporte entonces con la siguiente información.
Ingresos de Ventas por Internet agrupado por Categorías de Producto y por Años Calendario.
5. Modificamos nuestro reporte para que Filtre por Años Calendarios y se agrupe en las Filas por País y en las columnas por Categorías.
Guia de Analysis Services - Creando un Cubo
1. Creamos un data source a nuestra base de datos OLTP Adventure Works DW2008
2. Creamos un data source views, agregando todas la tablas de dimensión y de hechos. Para ello usemos los fitros que nos aparecen usando “Dim” y “Fact”
3. Creamos un Nuevo Cubo, usando las tablas existentes.
4. Seleccionamos Medidas primeramente, “Fact Internet Sales”
5. Seleccionamos Todas las Dimensiones y le ponemos como nombre al Cubo: “Primer Cubo”
6. Visualizamos el Cubo, en la pestaña Cube Structure, podemos ver 3 Areas:
a. Data Source View, donde vemos nuestras Tablas de Dimensiones y Hechos relacionadas
b. Dimensions, donde vemos las dimensiones agregadas al cubo
c. Measures, donde vemos las medidas generadas.
7. En el data source view hacemos click derecho sobre “Fact Internet Sales” y exploramos los datos, vemos los graficos que nos genera.
8. Naveguemos hacia la edición de una dimensión, se puede llegar ahí desde el “Explorador de Soluciones” o bien desde el Area de las dimensiones del Cubo. Editemos la dimensión de DimProduct.
9. Por otro lado ahora vamos a Crear una Columna Calculada para la Tabla “DimCustomer”, esto tiene que realizarse en el data source views. Buscamos la Tabla “DimCustomer”.
10. Hacemos click derecho sobre ella “New Named Calculation”. La Llamamos NombreCompleto, en Expressions, escribimos un T-SQL FirstName + ‘ ‘ + LastName
11. Ahora vamos al Cubo y buscamos la dimensión “DimCustomer”, la editamos y agregamos los siguientes campos: YearIncome, TotalChildren, SpanishEducation, SpanishOcupation, NombreCompleto. Agregamos desde DimGeography: City, StateProvinceName, CountryRegionCode, SpanishCountryRegionName
12. A la misma dimensión le crearemos una jerarquía, siempre vamos de lo más especifico a lo mas general de abajo hacia arriba: Customer Key, City, StateProvinceName SpanishCountryRegionName. La llameremos Geografia de Clientes. Nos mostrara una advertencia. Para solucionarla nos vamos “Attribute Relationships”.
13. En “Attribute Relationships” vamos mejorar el desempeño de la jerarquía eliminamos todas las relaciones, y creamos nuevas. Customer Key – City – StateProvinceName – SpanishCountryRegionName. Customer Key – Geography key.
14. Probemos generar nuestro cubo “Start Debug”. Seguramente nos encontraremos con un “ERROR”
15. Sucede que nuestra dimensión Customer, para nuestra jerarquía “Geografia de Clientes”, tenemos el atributo “City” el cual no es único, es decir existen varias ciudades con el mismo nombre por lo que no se puede crear nuestra jerarquía.
16. Solución: en propiedades del atributo “City” buscamos Key Column y definimos la llave como Geography key. Luego en la propiedad NameColumn seleccionamos lo que vamos a mostrar en lugar de la llave y seria City.
17. Un paso más seria renombrar atributos en la dimensión. Por ejemplo cambiémosle el nombre a Total Children por “Cantidad de Hijos”
18. Trabajemos ahora con los “Fact” o “Hechos”, renombremos “Sales Amount” como “Total Ventas de Internet”
19. Agreguemos un nuevo grupo de Medidas o hechos. En el área de Measures sobre “Primer Cubo” hacemos click derecho y le damos en “New Measure Group”. Seleccionamos la Tabla “Fact Reseller Sales”.
20. Renombremos “Sales Amount” como “Total de Ventas de Distribuidores”
21. Ahora vamos a crear una nueva dimensión. En el explorador de soluciones sobre el folder “Dimensions” hacemos click derecho “New Dimension”. Usar una Tabla Existente. Selecionamos la tabla “DimEmployee”. Llave “EmployeeKey”. Name Column “EmployeeKey”. Seleccionamos como atributos. FirstName, LastName, Title, Marital Status, Gender, Vacation Hours, Sick Leave Hours.
22. Podemos observar que nuestra dimension esta creada para el folder Dimensions pero aun no pertence a nuestro Cubo.
23. Procedemos a agregar la dimensión al Cubo.
24. Generemos nuestro cubo y explorémoslo.
2. Creamos un data source views, agregando todas la tablas de dimensión y de hechos. Para ello usemos los fitros que nos aparecen usando “Dim” y “Fact”
3. Creamos un Nuevo Cubo, usando las tablas existentes.
4. Seleccionamos Medidas primeramente, “Fact Internet Sales”
5. Seleccionamos Todas las Dimensiones y le ponemos como nombre al Cubo: “Primer Cubo”
6. Visualizamos el Cubo, en la pestaña Cube Structure, podemos ver 3 Areas:
a. Data Source View, donde vemos nuestras Tablas de Dimensiones y Hechos relacionadas
b. Dimensions, donde vemos las dimensiones agregadas al cubo
c. Measures, donde vemos las medidas generadas.
7. En el data source view hacemos click derecho sobre “Fact Internet Sales” y exploramos los datos, vemos los graficos que nos genera.
8. Naveguemos hacia la edición de una dimensión, se puede llegar ahí desde el “Explorador de Soluciones” o bien desde el Area de las dimensiones del Cubo. Editemos la dimensión de DimProduct.
9. Por otro lado ahora vamos a Crear una Columna Calculada para la Tabla “DimCustomer”, esto tiene que realizarse en el data source views. Buscamos la Tabla “DimCustomer”.
10. Hacemos click derecho sobre ella “New Named Calculation”. La Llamamos NombreCompleto, en Expressions, escribimos un T-SQL FirstName + ‘ ‘ + LastName
11. Ahora vamos al Cubo y buscamos la dimensión “DimCustomer”, la editamos y agregamos los siguientes campos: YearIncome, TotalChildren, SpanishEducation, SpanishOcupation, NombreCompleto. Agregamos desde DimGeography: City, StateProvinceName, CountryRegionCode, SpanishCountryRegionName
12. A la misma dimensión le crearemos una jerarquía, siempre vamos de lo más especifico a lo mas general de abajo hacia arriba: Customer Key, City, StateProvinceName SpanishCountryRegionName. La llameremos Geografia de Clientes. Nos mostrara una advertencia. Para solucionarla nos vamos “Attribute Relationships”.
13. En “Attribute Relationships” vamos mejorar el desempeño de la jerarquía eliminamos todas las relaciones, y creamos nuevas. Customer Key – City – StateProvinceName – SpanishCountryRegionName. Customer Key – Geography key.
14. Probemos generar nuestro cubo “Start Debug”. Seguramente nos encontraremos con un “ERROR”
15. Sucede que nuestra dimensión Customer, para nuestra jerarquía “Geografia de Clientes”, tenemos el atributo “City” el cual no es único, es decir existen varias ciudades con el mismo nombre por lo que no se puede crear nuestra jerarquía.
16. Solución: en propiedades del atributo “City” buscamos Key Column y definimos la llave como Geography key. Luego en la propiedad NameColumn seleccionamos lo que vamos a mostrar en lugar de la llave y seria City.
17. Un paso más seria renombrar atributos en la dimensión. Por ejemplo cambiémosle el nombre a Total Children por “Cantidad de Hijos”
18. Trabajemos ahora con los “Fact” o “Hechos”, renombremos “Sales Amount” como “Total Ventas de Internet”
19. Agreguemos un nuevo grupo de Medidas o hechos. En el área de Measures sobre “Primer Cubo” hacemos click derecho y le damos en “New Measure Group”. Seleccionamos la Tabla “Fact Reseller Sales”.
20. Renombremos “Sales Amount” como “Total de Ventas de Distribuidores”
21. Ahora vamos a crear una nueva dimensión. En el explorador de soluciones sobre el folder “Dimensions” hacemos click derecho “New Dimension”. Usar una Tabla Existente. Selecionamos la tabla “DimEmployee”. Llave “EmployeeKey”. Name Column “EmployeeKey”. Seleccionamos como atributos. FirstName, LastName, Title, Marital Status, Gender, Vacation Hours, Sick Leave Hours.
22. Podemos observar que nuestra dimension esta creada para el folder Dimensions pero aun no pertence a nuestro Cubo.
23. Procedemos a agregar la dimensión al Cubo.
24. Generemos nuestro cubo y explorémoslo.
sábado, 6 de agosto de 2011
miércoles, 6 de abril de 2011
Comprimiendo Backups desde SQL Server
Nuestro respaldos a medida que van creciendo, nos cuestan trabajo, dinero y esfuerzo en mantenerlos, ya que tenemos que comprimirlos manualmente para poder almacenar una gran cantidad de archivos .bak, esto sin mencionar el posible problema que se dañen en la compresión vía WinRar, 7zip o cualquier otra herramienta utilizada.
SQL Server 2008 agrega una característica de compresión de datos y de backups. A continuación mostraremos el tamaño de nuestra base demo creando un backup de manera normal.
La siguiente sentencia muestra los respaldos realizados para una base específica.
select backup_size, compressed_backup_size from msdb..backupset
WHERE database_name = 'Demo'
Resultado:
backup_size compressed_backup_size
--------------------------------------- ---------------------------------------
54688768 54688768
1208320 1208320
1208320 1208320
1273856 1273856
1209344 1209344
54688768 54688768
54688768 54688768
(7 row(s) affected)
Verificamos físicamente el ultimo respaldo y efectivamente corresponde a 52.1 MB.
Proceso
1. Primeramente configuramos el servidor, click derecho sobre el server, propiedades, Database Settings, habilitamos “Compress Backup”
2. Ahora generaremos un backup, el cual tendrá que ser creado en un nuevo archivo, debido a que tendrá un formato diferente a los generados anteriormente, es importante tener este cuidado si no nos generara un error.
Seleccionamos en Options, Set Backup Compression, “Compress Backup”. Hacemos click en OK.
3. Nuevamente la consulta para nuestra base de datos, y verificamos también físicamente el nuevo archivo generado. Resultado: 3.80 MB. EXCELENTE!!!
select backup_size, compressed_backup_size from msdb..backupset
WHERE database_name = 'Demo'
backup_size compressed_backup_size
--------------------------------------- ---------------------------------------
54688768 54688768
1208320 1208320
1208320 1208320
1273856 1273856
1209344 1209344
54688768 54688768
54688768 54688768
54688768 3988276
(8 row(s) affected)
Suscribirse a:
Entradas (Atom)