Portada

Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas
Mostrando entradas con la etiqueta SQL. Mostrar todas las entradas

lunes, 26 de enero de 2015

Bases de datos en SQL Server

La Base de Datos es una conjunto de archivos:

Primarios
Secundarios
y Log de Transacciones.

Primarios: Punto de partida de la BD. cada BD tiene uno y  este contiene punteros a los demas files. Son punto MDF aunque no es obligatoria es muy recomendable usarla.

Secundarios; Son opcionales y definidos por el usuario, y se pueden esparcir en varios discos por mantenimiento o performance, extension NDF es la recomendada.

        Paginas del archivo de datos:(Pagina = Tabla) se enumeran secuencialmente a partir de 0, su numeracion es unica tanto el ID como el numero de pagina son obligatorios.

        Estensiones: Grupo de 8 paginas contiguas, se usan para simplificar la gestion. Las uniformes son todas las paginas similares dentro de  una extension, y las extensiones mixtas.

        Archivo de Registro: Informacion que se utiliza para recuperar la base de datos cuando se necesita. extension LDF.

Los archivos de registro y de datos se deben separar en discos fisicos distintos, Este aislamiento es necesario por seguridad en caso de perdida de la base de datos.

Es posible tener varios archivos de datos, y esto es beneficioso en multiples efectos, por tamaño mantencion y otras que son dignas de tema por separado. El motor de SQL escribe solo en un archivo de datos a la vez.

La capacidad de la BD como tamaño maximo se debe proyectar: Indices, registro de transacciones y TempDB en un periodo de tiempo determinado. SQL Server de forma automatica puede agrandar automaticamente el tamaño dependiendo de las politicas de mantencion. Las copias de seguridad por su tiempo pueden afectar la desicion pero no hay relacion logica en esto.

Bases de Datos de Sistema

Se crean durante la instalacion automaticamente

MASTER: es la principal, contiene toda la informacion del sistema y la informacion de la instancia, si esta dañada SQL no inicia, por lo que debe ser copiada por seguridad constatemente.

MSDB: Contiene info para sql agent. Alertas Jobs y operadores. es necesario hacer respaldos para que esta info no se pierda.

MODEL: Es una plantilla que se usa para todas las bases de datos de usuario, cualquiera que se crea utiliza la model como plantilla.

TEMDB: Contiene los datos temporales, se crea o trunca cada vez que SQL inicia. No requiere respaldo.

RESOURCE: BD oculta de solo lectura y contiene todos los objetos de sistema que se asignan al esquema sys y contiene las vistas y todos los objetos. en las versiones anteriores a 2005 se definian en la base de datos MASTER.

La TEMPDB es fundamental para el funcionamiento de todo el resto del sistema y se compone de los objetos internos que son utilizados por SQL Server para sus operaciones con tablas de trabajos de punteros hash y trabajos de orden intermedio, logs.

OBJETOS de USUARIO: la mayoria de los objetos de la TEMPDB son creados por el usuario y consisten en tablas temporales, variables de tablas, y conjuntos de variables de resultado etc,

TAMAÑO DE LA TEMPDB: Version Store y objetos de usuario son parte de ella, y su rendimiento es fundamental para el rendimiento de SQL Server. La falta de espacio puede hacer que SQL Server no funcione. Se puede aumentar el numero de archivos para aumentar el rendimiento general del SQL Server-.

TRABAJAR CON ARCHIVOS Y FILES GROUPS

Los nombres de base de datos debe ser unico dentro de una instancia, Cada Bd tiene opciones configurables unicas y no afectan a otra, estos valores estan por defecto al crearse una nueva y se puede cambiar. Las categorias de opciones son las siguientes:

AutoOptions:
De cursor:
De disponibilidad
De recuperacion:
De verificacion de pagina:

No se puede utilizar un espacio en disco usado por otro usuario sin primero escribir en ese espacio en disco. Cuando a un archivo se le asignan 200 gigas, debe primero escribirlo. Para evitar el tiempo que se tarda en esto puede utilizar el archivo de inicializacion IFI, teniendo los permisos SQL puede solicitar el espacio sin inicializar desde el sistema operativo.

MODIFICAR BASES DE DATOS

Lo mas comun es añadir espacio adicional o añadir archivos, se puede hacer esto con la instruccion ALTER DATA BASE o el SMSS. Si una base de datos agota el espacio asignado y no esta configurada para crecer automaticamente o si no hay sufuciente espacio en el disco. A veces ya no se requiere un archivo tan grande, tanto los datos como el registro de transacciones se pueden reducir.

DBCC SHRINKFILE  o el Comando DBCC RINKDATABASE  pueden ser utilizados para reducir el espacion en las bases de datos.


FILEGROUPS

Filegroups se denomina a un grupo de archivos y se utilizan para simplificar el colocar un grupo de datos y tareas administrativas como copias de seguridad y restauraciones. Puede mejorar el rendimiento de la base de datos ya que puede hacer que una BD se pueda crear en varios discos, varios controladores de discos o sistemas RAID.


MOVER ARCHIVOS DE BASES DE DATOS.

Se pueden separar las bases de datos y eso no elimina los datos de los archivos de datos, ni los archivos de datos solo se elimina la METADATA de la base de datos. Estas se pueden separar desde SMSS o con el T-SQL DETACH/ATTACH. Luego se podra copiar a otra instancia y volver a atachar. Esto requiere que la base de datos este fuera de linea y se debe realizar en una ventana de mantenimiento.

BASES DE DATOS DE SISTEMA: todas se pueden mover de lugar, salvo la RESOURCE. La MASTER se debe mover de forma especial.

-Abra SQLConfiguration Manager.
- En el nodo de servicios de SQL Server haga clic en la instancia y seleccione propiedades, luego en opciones avanzadas.
- Edite los valores de parametros de inicio para que apunte a los valores previstos para la base de datos Master.
- Detenga la instancia de SQL Server.
- Mueva Mater y Masterlog a la nueva ubicacion.
-Reinicie el SQL Server.

Para mover el resto de las bases de datos, salvo la RESOURCE...

1. Para cada archivo a mover, execute ALTER DATABASE … MODIFY FILE como usuario de la base de datos.
2. Detenga la instancia de SQL Server.
3. Mueva los archivos a la nueva instalacion.
4. Reinicie la instancia de SQL Server.

COPIAR BASES DE DATOS

Hay varias maneras, separar la base de datos copiar los archivos a la nueva ubicacion, y volver a atachar. Realizar una copia de seguridad y luego restaurarla con el mismo nombre de la BD en un mismo servidor o con otro nombre en la misma instancia.

Tambien puede utilizar el asistente para copiar bases de datos.





viernes, 23 de enero de 2015

Modulo 2 Preparando el SIstema para SQL 2012

La Arquitectura de SQL Server:

3 Categorias de componentes existen y estan en capas:

- Execucion de la consulta:
- Motor de almacenamiento:
- SQL OS

Capa de Ejecucion:Gestiona conexiones y seguridad. Parser chequea que T-SQL esta bien utilizado, entregando lo que se quiere lograr en la consulta. Optimizador de consultas que encuentra un plan aceptable para cada costo de operacion.

Capa de Alamacenamiento:  Gestiona los datos que se llevan a la BD, gestionando como se almacenan los datos tanto en disco como en memoria, y su guardado en cache. Bloqueos y transacciones tambien es su responsabilidad para coherencia de datos.

           - Componente de metodos de acceso. Gestiona la cantidad de datos que se acceden.
           - Cache de Pagina: Minimiza el tiempo que accede el motor a las pagina de datos.
           - Componente de Bloqueo y transacciones. con la ayuda de log de transacciones de la base de               datos.

Capa de S.O.: Proporciona las funcionalidades del sistema oeprativo para los componentes de SQL Server,



USO de CPU.

   Windows usa threads para funcionar y el sistema operativo tiene un reloj para medir e interrumpir estos threads cuando considera que su tiempo se ha acabado. En lugar de usar los Threads de windows, SQL crea un subproceso de hilos que se asignan a los Threads de windows.

CPU Affinity Mask

    Estima que CPU debe usar un Threads.

TAKS and RESOURCES

     Las tareas esperan los recursos y es tarea de SQL Server OS la asignacion de recursos a estas tareas.

PARALELISMO

    Por el coste que esto tiene solo se usa para consultas que realmente valen el costo en recursos que esto significa. Umbral de costo, determina cual es el umbral que debe cumplir una consulta para usar paralelismo.

   EL optimizador solo crea una plan de consulta en paralelo, pero no decide su ejecucion si no el    SQL Server O.S.

SISTEMAS DE 32X

Virtual Address State: (VAS) Los Procesadores de 32X solo tienen un VAS de 4 GB de memoria y 2 GIGA son de sistema operativo y el resto esta disponible para aplicaciones. El switch se puede modificar en el archivo BOO.INI o usando el BCDEDIT en sistemas operativos mas recientes. (ver este link)


VAS depende de la consfiuracion del servidor y es la memoria que SQL Server puede referenciar a Windows.

SQL Server necesita grandes cantidades de memoria cache para consultas. SQL FUNCIONA MEJOR EN UNA VERSION DE 64X QUE EN UNA DE 32X. podremos obtener hasta 7 u 8 terabytes dependiendo del motor instalado.

Todas las operaciones de datos se llevan a cabo en la cache de datos. Las modificaciones nunca se realizan en las paginas de datos.

Entrada y SAlida  I/O Logica y Fisica.

Cuando un dato no esta en la cache esta entrada y salida se llama I/O Fisica. Optimizar los indices y el diseño fisico y logico y optimizando consultas esto se puede ayudar a disminuir las lecturas y escrituras. Una I/O logica se produce cuando este datos se puede recuperar del buffer cache.


                                     PLANIFICACION DE LOS REQUERIMIENTOS.

CPU

1- Hablar con el proveedor de software, para experiencias previas que el tenga.
2- Prueba de diferentes configuraciones. Se debe definir a nivel de negocios para definir cuanto tiempo se necesita guardar cierta informacion.
3- Preveer futuros crecimeintos.

Uso de CPU: depende de los tipos de consultas, y mas sencillo ya que no puedes calcular mucho los recursos de procesador. Hacer pruebas de cargas realistas es la mejor opcion. Mas CPUs los planes de consulta en paralello se veran mejor afectados. sobre todo si existen grandes volumenes de datos. Asegurese que el servidor esta dedicado solo a SQL Server o servicios poco importantes en el mismo servidor.

NUMA> si tienes multiples CPUs y solo un bus para memoria y procesador, esto puede transformarse en un cuello de botella. En los sistemas basados en NUMA existe un BUS para cada grupo de CPUs.


MEMORIA

 SQL Server Usa mucha memoria, ya que las consultas consumen de esta en grandes volumenes de datos, y mantiene los datos del usuario para cada contexto de ejecucion. Tambien la memoria es usada por otros agentes del sistema operativo.

Las experiencias de instalaciones similares solo puede ser utilizado como una guia.

ADAPTADORES DE RED

Pruebas de requisitos son fundamentales, 1 adaptador no siempre alcanza. considere multiples adaptadores.

EQUIPO de PERSONAS

Considere consultar a un equipo multidicplinario.

DISCO

Se requiere mucho disco. considerelo I&O grandes exploiraciones se realizaran. DAS es bueno y predecible, |SAN implica mas trabajo pero tambien es posible,







Componentes y Servicios de SQL Server 2012

Las aplicaciones clientes se conectan a los end points, y se deben identificar primero.

El protocolo que usan las apps. es DTS tabular data stream. otros como sql analys Services usan XML por analisis protocol.

SQL Server 2012 R2 Soporta Virtual Interfaces Adapter protocol, pero ha quedado obsoleto y no se debe usar para las nuevas implementaciones.

Para la mayoria de las app y org. y el acceso se basa en la identidad del usuario que accede. el proceso de verificacion se conoce como autentificacion. Para eso SQL usa dos metodos:

    - SQL Server Almacena las contraseñas. Inicio de sesion de SQL.
    - Un grupo de windows a traves de un Controlador de Dominio.
    - La resultante es que puede ser mixto.

Las capas de software: para las conexiones de software.

- Bibliotecas Clientes.
- Open Data Base Conectivity ODBC:  Capa de traduccion y el motor de la base de datos, al cambiar la configuracion la app podria trabajar con otro gestor de datos sin modificar la app.
- OLE DB: biblioteca no traduce comandos, lo pasa al gestor sin modificar desde la app a la BD.
- SQL Server Native Acces Component(SNAC): capa de soft. que encapsula los comandos emitidos por las bibliotecas OLE DB o ODBC y los traduces para que el gestor lo entienda. encapsula los resultados devueltos por SQL listos para los protocolos (TDS).
- BIBLIOTECAS DE RED:  ENDPOINT se utilizan para que las app clientes se puedan conectar, pasando comandos desde y hacia la base de datos.  SNAC se conecta a estos end points a traves de las bibliotecas de red como TCP/IP.
SQL Operating System, entrega una capa de software de abstraccion entre el motor relaciones y los recursos de red disponible,







SSMS: se ha creado este entorno integrado de operacion dentro de la plataforma microsoft visual studio Shell. Compartiendo muchas funciones con Visual Studio y ofreciendo edicion para archivos punto SQL o punto XML y proporciona asistencia al escribir las consultas de Transac SQL


La cantidad de servicios que se isntalan en SQL SErver dependera en realidad de los componentes que se selecciones para instalar durante el setup inicial.

Configuration Manager: Permite configurar protocolos y puertos de servidor y clientes. Se pueden ajustar numeros de puertos y protocolos de red para futuras modificaciones y cambios.

Si SMSS se instala se utiliza el protocolo  SMAC.

Para aplicaciones de clientes y para niveles de redireccion, se pueden crear ALIAS, asignando protocolo y puerto si es necesario.


Herramientas

SQL SERVER PROFILED: traza la actividad de los clientes de SQL Server.

DATA BASE ENGINE TUNING ADVISOR: genera metricas para analizar las cargas de trabajo.

MASTER DATA SERVICES CONG. MANAGER: Configura y adm. Master data services.

REPORTING SERVICES: Configura y Adm. Reporting Services.

SQL SERVER ERROR AND USED REPORTING: configura seteos sobre los errores que se producen.

POWER SHELL PROVIDER: Permite configurar y realizar consultas mediante Power Shell.

SQL SERVER MANAGEMENT OBJECT (SMO): proporciona una lista detallada de librerias .NET para trabajar desde el codigo de SQL server para trabajar directamente desde el codigo de la aplicacion.








jueves, 22 de enero de 2015

DataBase Engine Tuning Advisor

Herramienta para tuning de consultas. Que almacena y captura datos almacenandolos en una traza.

SQL TRACE Biblioteca de procedimientos almacenados en el sistema. La salida puede ser un sistema de archivo operativo con extension TRC tamaño de 5 Mb asignados por defecto, aunque tambien se puede almacenar en tablas.

Las trazas tienes categorias y cada categorias tiene eventos clasificados por similitud. Una clase de evento incluye los tipos de eventos que pueden ser trazados. Los eventos se definen por atributos que aparecen en las columnas de datos.

Se utilizaran filtros para no sobrecargar el sistema y no tener un analisis tan complejo. SQL Profiler puede ayudar a definir clases de eventos o trazas.

SQL Server posee plantillas predefinidas para determinados tipos de trazas.


Extended Event Profiler

SQL Server 2012 introduce la herramienta para gestion de sesiones y captura de eventos. Misma tecnologia que SQL Server Audit.  con el tiempo Extended Event reemplazara a SQL Server Audit.

Las opciones disponibles para la optimizacion del rendimiento es una proceso iterativo de mejora continua. Con base en el objetivo se debe supervisar el sistema y efinir las herramientas que se utilizaran.

Una linea base debe ser creada y luego de esto implemtar cambios desarrolando la estrategia para mejorar.

DETA Analiza cargas de trabajo. luego de esto proporciona recomendaciones para mejorar el rendimiento del sistema. La ejecucion puede llevar mucho tiempo si tiene muchos objetos en la base de datos. Se puede realizar analisis exploratorio combinando herramientas manuales y otras automatizadas.

Usando la configuracion expecificada por el usuario, puede revisar por separado:

- Indices
- Vistas Indexadas.
- Particiones.

Ayudara a analizar los efectos sin sobrecargar al motor de datos.

Las Trazas a traves SQLTRACE y SQLPROFILER.

SQLPROFILER llama a SQLTRACE facilitando la ejecucion a SQL SERVER la administracion de las trazas.

Las diferencias entonces son que:

SQLTRACE Se define mediante llamados a SP de sistema. Se ejecuta en el interior del gestor.
SQLPROFILER  se define mediante una interfaz grafica. se ejecuta fuera del gestor.


SQLTRACE puede escribir eventos en SQL Server MAnagement Object. Util para correr por largo tiempo o trazas criticas con impacto significativo.

SQLPROFILER  puede escribir en los archivos o tablas de las bases de datos.Usado para depuracion en sistemas de prueba, captura de pequeñas trazas.

Existen trazas predeterminadas.

Se inicia cuando parte el gestor de datos con hasta 5 mb de tamaño de archivo. Para correlacionar una traza con contadores de rendimiento tendra la opcion de hacerlo mediante la interfaz grafica.











miércoles, 21 de enero de 2015

Por que no incian los servicios de SQL ¿que reviso?

Causas mas comunes: "Servicio de SQL no inicia o no es accesado."


- No se les permite a los servicios interactuar con la consola del sistema. Revise la cuenta de servicio.
- Inicio de sesion invalido (cuentas de servicio), contraseña vencida, cuenta bloqueada.
- Revisar el registro de SQL si se indica que la base de datos MODEL o MASTER esta dañada? la ruta de estos archivos debe existor y estar accesible.
- Inicie desde ComamdPromtp si funciona configuracion del servicio.
- Revisar Registro de SQL Server desde SSMS, si no parte lo puede abrir con un editor de notas. revisar tambien el Log de sistema del log de eventos del sistema operativo, tambien en el log de aplicaciones del log de eventos del sistema operativo.

Login y Conectividad:

 Los usuarios no pueden conectarse a SQL Server.

- Problemas de Conectividad, ¿Se puede conectar a traves de "shared memory connection"? De lo contrario bibliotecas de red incompatibles podrian ser el problema. (lo ultimo es muy poco comun).
- No puede iniciar sesion: (windows) se puede conectar el SQLServer a un controlador de dominio ?     Quizas no puede validar las sesiones de dominio.

- Esta configurado SQL Server para iniciar sesion con cuentas locales (cuentas locales). Por lo general una coneccion de confianza no esta disponible en este caso de errores.

- Contraseña Correcta?
- Contraseña Expiro pero la aplicacion que intenta conectarse no sabe que la contraseña expiro?
- Tiene la cuenta permiso para conectarse a SQL Server.
- El permiso se ha concedido para el inicio de sesion que esta intentando conectarse.


ACID

Lo que espero de las transacciones

Atomicidad: Comienzo y final conocido y completos.
Coherencia: La base de datos no queda a la mitad despues de una transaccion.
Aislamiento: Las transacciones no interfieren entre si.
Durabilidad: Una transaccion confimada queda en el sistema a prueba de reinicios.

Los bloqueos se usan para garantizar estas reglas. Esto es crucial para el procesamiento de transacciones y es natural en las bases de datos. Los bloqueos largos, son un issue ya que pareciera que las aplicaciones estan colgadas. Estos bloqueos pueden ser observados mirando el registro de actividad de SQL Server.






Como Chequear La integridad de una Base de Datos


Integridad de las Bases de Datos, la integridad en una base de datos es la corrección y exactitud de la información contenida. Además de conservar la seguridad en un sistema de bases de datos que permite el acceso a múltiples usuarios en tiempos paralelos.

DBCC CheckDB.
DBCC CheckDB Options.
DBCC CheckDB Repairs.

Es raro que bases de datos pasen a estar corruptas pero puede suceder mas por temas de plataforma (temas en I/O o problemas en la memoria del sistema).


DBCC  se sumistra con SQL Server CheckDB suministra la revision de una base de datos con multiples mas funciones, que se pueden realizar por separado.

Las opciones mas importantes son:


1.- DBCC CHECKALLOC -  chequea la consistencia del espacio en disco.
2.-DBCC CHECKTABLE DBCC CHECKDB executes DBCC CHECKTABLE para todas las tablas
3.-DBCC CHECKCATALOG no chequea usuarios.



No siempre es posible reparar una base de datos, sin perdida de datos. Por lo que restaurar siempre es lo mejor, y esta opcion debe estar alineada con la politica de retencion de respaldos.




Una vez encontrados los errores, tenemos dos opciones de reparacion. Para las opciones de reparacion la base de datos debe estar en modo SINGLE USER MODE. 


DBCC CheckDB REBUILD funciona con algunas formas de corrupcion y no implica perder datos. Reorganiza indices y elimina las paginas de datos corruptas.
REPAIR_ALLOW_DATA_LOSS Implica la perdida de datos. Se eliminan los objetos corruptos y sus referencias desde otros objetos. Luego de la reparacion la base de datos queda consistente, pero solo en su integridad, muchos datos pudieron haberse perdido.

PREFIERA usar el RESTAURAR la BASE DE DATOS.

Por que no incian los servicios de SQL ¿que reviso?

Causas mas comunes: "Servicio de SQL no inicia o no es accesado."


- No se les permite a los servicios interactuar con la consola del sistema. Revise la cuenta de servicio.
- Inicio de sesion invalido (cuentas de servicio), contraseña vencida, cuenta bloqueada.
- Revisar el registro de SQL si se indica que la base de datos MODEL o MASTER esta dañada? la ruta de estos archivos debe existor y estar accesible.
- Inicie desde ComamdPromtp si funciona configuracion del servicio.
- Revisar Registro de SQL Server desde SSMS, si no parte lo puede abrir con un editor de notas. revisar tambien el Log de sistema del log de eventos del sistema operativo, tambien en el log de aplicaciones del log de eventos del sistema operativo.

Login y Conectividad:

 Los usuarios no pueden conectarse a SQL Server.

- Problemas de Conectividad, ¿Se puede conectar a traves de "shared memory connection"? De lo contrario bibliotecas de red incompatibles podrian ser el problema. (lo ultimo es muy poco comun).
- No puede iniciar sesion: (windows) se puede conectar el SQLServer a un controlador de dominio ?     Quizas no puede validar las sesiones de dominio.

- Esta configurado SQL Server para iniciar sesion con cuentas locales (cuentas locales). Por lo general una coneccion de confianza no esta disponible en este caso de errores.

- Contraseña Correcta?
- Contraseña Expiro pero la aplicacion que intenta conectarse no sabe que la contraseña expiro?
- Tiene la cuenta permiso para conectarse a SQL Server.
- El permiso se ha concedido para el inicio de sesion que esta intentando conectarse.


ACID

Lo que espero de las transacciones

Atomicidad: Comienzo y final conocido y completos.
Coherencia: La base de datos no queda a la mitad despues de una transaccion.
Aislamiento: Las transacciones no interfieren entre si.
Durabilidad: Una transaccion confimada queda en el sistema a prueba de reinicios.

Los bloqueos se usan para garantizar estas reglas. Esto es crucial para el procesamiento de transacciones y es natural en las bases de datos. Los bloqueos largos, son un issue ya que pareciera que las aplicaciones estan colgadas. Estos bloqueos pueden ser observados mirando el registro de actividad de SQL Server.


INTERBLOQUEOS

 La forma mas comun de interbloqueos: Dos tareas solicitan al mismo tiempo objetos que tienen bloqueados por si mismas. SQL Server reversa estas transacciones. No ahondare en esto ya que no es comun para mi.





jueves, 31 de mayo de 2012

Arreglos de Discos para un servidor con SQL




Un problema comun a la hora de armar e instalar un servidor para ser gestor de datos (el motor de datos esta en el taller mecanico), ccorresponde a como armo los arreglos de discos. lo anterior debido a que la base de datos y su rendimiento esta directamente ligada a cuan rapido lea y escriba en los discos el sistema operativo. Y por supuesto que mejores discos (SSD SAS SATA) mejorar la performance, tambien es cierto que en el orden equivocado pueden ser un fiasco.

Aqui de mi experiencia les dejo la mejor configuracion a mi gusta en forma standard para cualquier server con una data mediana.

La configuración del Servidor es la siguiente.

-          Bahía 1 – 2                 | Raid 1+0            | Dos discos de 146 GB.               |Sistema operativo
-          Bahía 3 – 4                 | Raid 1+0            | Dos Discos de 146 GB.              |TempDB
-          Bahía 5 – 6 – 7 – 8     | Raid 5               | 4 Discos de 300 GB.                    |DATA.

Por supuesto que la data podria ser mas grande y esto lo arreglariamos poniendo discos mas grandes al arreglo en RAID 5, pero para una base de datos standard esto seria optimo.


SSaludos !


viernes, 30 de marzo de 2012

Sizing Dimesionamiento o calcular tamaño de exchange 2010.

Estimados amigos..

me he visto en la necesidad de montar un exchange y diables que calcular es una responsabilidad, asi que se me ocurrio poner algunas herramientas y el camino para ello:

Lo primero que hice fue bajar algunas herramientas que sirven para ello:

Herramienta de HP que te pregunta mucho. Existe para Exchange 2007 XD
http://h71019.www7.hp.com/ActiveAnswers/us/en/sizers/microsoft-exchange-server-2010.html

Exchange 2010 Mailbox Server Role Requirements Calculator herramienta Microsoft que aun no se para que sirve pero ya me imagino: Usa el Exchange Profile Analyzer (EPA) para entender el perfil de uso del correo en tu sistema actual
http://www.microsoft.com/downloads/en/details.aspx?familyid=C009C049-9F4C-4519-A389-69C281B2ABDA&displaylang=en

Con los datos del EPA utilizaremos el Exchange Storage Calculator.
htthttp://msexchangeteam.com/archive/2010/01/22/453859.aspx

y asi seguimos por este largo camino... Pero saben despues de mirar bien, creo que hay algunas preguntas que debemos formularnos para poder dimensionar el sizing son las primeras y en base a eso podemos utilizar la herramienta HP  bueno veamos cuales serian, lo que sigue lo prepare con mucho afecto asi que por favor les pido, tengan a bien el uso de este material y si lo combinan con la herramienta de HP saldran rapidamente de un "SIZING EXCHANGE 2010"


-          Cantidad de Buzones= 1000

-          Definición de la carga de Trabajo de los Mail-boxes (Elija solo una) =
                            #Ejemplos a continuación..

§  20 enviados 40 recibidos.

§  30 enviados 80 recibidos.

§  40 enviados 120 recibidos.

§  50 enviados 160 recibidos.

§  60 enviados 200 recibidos.

§  70 enviados 240 recibidos.

§  80 enviados 280 recibidos.

§  90 enviados 320 recibidos.

§  100 enviados 400 recibidos.



-          Tamaño de mensaje promedio: (1 – 500 KB)=



-          Limite del tamaño de casilla Personal(0 – 10,000 MB)=



-          Retención de los elementos eliminados (0 a 365 Días)=



-          Que porcentaje de Usuarios utilizaran Outlook 2010/2007/2003 (0 – 100 %)=



-          Utilizarán Desktop Search (No Windows Desktop Search Engine V 4.0 ) (Si - No) =



-          Utilizarán Outlook Web App (0 – 100 %)=

-           

-          Utilizaran Voice Access (0 – 100 %)=

-           

-          Research in motion (BlackBerry) (0 – 100 %)=

-           

-          Utilizaran el Buzón de Diarios (Mailbox Journaling)(0 – 100 %)=

o   Si es asi cuantos días retendrán esos datos (1 a 3650 dias)=



-          Periodo de tiempo para la política de retención (1 a 3650 días)=



-          Utilizara DAG ("Database Availability Group") -Requiere Windows Enterprise- (Si - No) =

o   SI lo utiliza cuantas copias tendra (2 - 4)=



-          Numero Máximo de (casillas) por servidor (100 – 10,000)=



-          Factor de Sobrecarga Standard 20 % (30% recomendado)(0 – 100 %)=



-          Buzones que se mueven por semana (0 – 100 %)=



-          Quieres un mantenimiento especializado / restauración de LUN? (Si - No) =



-          Espacio libre deseado en LUN (20% recomendado) (0 – 70 %)=



-          Factor de Sobrecarga de I/O  20 % (30% recomendado)(0 – 100 %)=



-          Requiere servidores Dedicados para cada Rol (Mail Box – Client Access Server “CAS” – Hub Transport “HUB” – Mensajería unificada “UM”) (Si - No) =



-          Solución de Backup (Elija solo una de las siguientes)=  

o   Backup Local utilizando Tape Drive, Tape Arrays o Tapes Tamaño Small para el almacenamiento de Backups.

o   Solución Enterprise utilizando Servidor Dedicado con Canales de fibra en la línea de productos EBS (Enterprise Backup Solution), o librería según requerimientos.

o   Utilizara una solución existente en la RED, esta opción permite que coloquemos una NIC dedicada en el hardware para su solución.

o   No Configurar Backup.



-          Periodicidad del  respaldo (Elija solo una de las siguientes)=

o   Mensual Full – Diario incremental.

o   Diario Full.

o   Semanal Full – Diario Diferencial.

o   Semanal Full – Diario Incremental.



-          Tolerancia a fallos del Backup (0 – 30 Días)=



Preguntas que Puede Resolver el Fabricante y bueno pero aqui estan XD:



-          Arquitectura (Blade - Rack - Tower) (Elija solo una)=

-          Vendedor del Procesador ( Intel - AMD) (Elija solo una)=

-          Marca Servidor y modelo si prefiere alguno en particular (IBM - HP)(Puede agregar una si lo desea)=

-          Core (Dual – Quad - Hexa) (Elija solo una)=

-          Velocidad de Procesador (1.60 Ghz – 3.60 Ghz)=

-          Numero de Procesadores (1 - 2) =



Opciones de redundancia.



-          Adaptadores de Red Redundantes (SI/NO)=

-          Memoria Redundante(SI/NO) =

-          Fuentes de Poder Redundantes(SI/NO) =

-          Ventiladores Redundantes(SI/NO) =



-          Arquitectura del Almacenamiento (Elija Solo una)=

o   Recomendada.(Esta es mi opinion segun lo que vea mas arriba)

o   DAS (Atachada).

o   DAS (Compartida).

o   SAN (Iscsi).

o   SAN (Canal de Fibra).


Bueno eso es todo por ahora no se olvide de visitar la Pagina www.hpcd.cl que es donde estoy trabajando actualmente y saludos !







sábado, 18 de junio de 2011

Las Modelos de Bases de Datos Relacionales No sirven para todo...

"Cassandra" La base de datos de Facebook, Twitter y Digg.


Dando un vistazo a las grandes compañías que manejan en sus aplicaciones un enorme número de registros, tales como Google1, Amazon2 o Facebook3, podemos rápidamente darnos cuenta que sus sistemas de datos no están basados en bases de datos relacionales.

Google utiliza BigTable4, Amazon usa Dynamo5, HBase6 es la tecnología usada por Apache7 y Facebook y Digg8 gestionan sus datos con Cassandra9. Actualmente, Twitter10 se encuentra destinando recursos para migrar sus datos a esta tecnología. Todas estos sistemas se basan básicamente en pares clave/valor para almacenar los datos.

¿Por qué las compañías más relevantes del mundo de la tecnología abandonan las bases de datos relacionales? Principalmente, porque son muy costosas y lentas cuando manejan tal cantidad de datos. Poniendo un ejemplo, Cassandra es capaz de escribir en disco 50GB de datos en tan sólo 0.12 milisegundos, 2500 veces más rápido que MySQL11, una de las bases de datos relacionales más utilizadas.

Dentro de estos sistemas de almacenamiento de datos, Cassandra se erige como una seria garantía ya que aúna ventajas de varias de las alternativas. Sus características son:

- Dispone de consistencia eventual, al igual que el sistema Dynamo de Amazon.

- Proporciona un modelo de datos basados en ColumnFamily, más rico que el tradicional modelo de clave/valor, al igual que el modelo BigTable de Google.

- Es altamente escalable y distribuida. Normalmente se ejecutan en clusters de servidores formados por ordenadores baratos, por lo que la expansión del sistema es realmente sencilla.

- Es rápida ya que elimina el cuello de botella que supone el tener que traducir las consultas a lenguaje SQL.

La historia de Cassandra nace directamente de la experiencia que supuso Dynamo para Amazon. Facebook contrató a uno de sus autores y le encargó diseñar un nuevo sistema para sus datos. Este ingeniero desarrolló Cassandra y, en 2008, Facebook liberó su código.

En 2009 nació un movimiento en contra de las bases de datos relacionales, llamado NoSQL, que agrupa a todos estos sistemas alternativos.

domingo, 12 de abril de 2009

Quitar SQL 2005...siempre es conveniente para un administrador saber esta cosilla...


Como se sabe, lo primero que se suele hacer para desinstalar una instancia de SQL Server 2005 es quitar manualmente (en "Agregar o quitar programas") cada uno de los componentes de SQL Server 2005, y listo!!!, verdad?, pero.... esto realmente funciona?. Para serles sincero esta manera hasta ahora no me ha funcionado, ya que al final y al cabo cuando volvía instalar otra instancia, el programa de instalación detectaba a la instancia que yo crei haber eliminado (vale tio!!!,, todo parece que las referencias de instalación aún seguian vivas y esto molestaba!!!). Entonces tenía que buscar alguna manera de deshacerme de dicha instancia por completo!!!. y ¿por que hice?, pos lo que siempre suelo hacer!, a continuación a detallarte paso a paso :).
PASOS:
1.- Bien, vamos al simbolo del sistema, y nos posicionamos en el siguiente directorio:
C:\Archivos de programa\Microsoft SQL Server\90\Setup Bootstrap\
una vez dentro de ella, escribimos esto: ARPWrapper.exe /Remove , le damos Enter y nos debe aparecer lo siguiente pantalla:


Verás que existen 3 instancias, nombradas: SAORI, SAORI1, y SQLEXPRESS, además de un motor de base de datos para Office SharePoint 2007 (OFFICESERVERS), ps bien lo que debí quitar (el gran reto) son las dos primeras instancias (para luego volver hacer una correcta instalación de SQL Server 2005, claro también quitando el motor DB OFFICESERVERS). Empecé quitando la instancia SAORI, ahora Siguiente ;).
El programa de desinstalación nos mostrará los componentes instalados para dicha instancia. Ahora, seguimos... o mejor sigo, con Finalizar (nada del otro mundo!, ;))).



Desinstalando... :-)


Luego de haber terminado todo este proceso, también debieron haberse eliminado tanto directorios virtuales como los grupos de aplicaciones de ReportServer. Si todo salió bien, y el proceso se llevó correctamente, entonces, todos felices!!! :) ... pero... a veces sucede que no pasa esto!.
En el caso de que no haberse eliminado los directorios virtuales, pos teneis que hacerlo manualmente!, para esto, usa el Administrador de Servicios IIS, y a continuación elimina los siguiente directorios:
ReportServer[$NombreDeInstancia
Reports[$NombreDeInstancia
Ahora revisa si ha sido eliminado el grupo de aplicaciones de ReportServer, pues para esta vez, en mi caso si sucedió así. :-). y sino, que esperas!, elíminalo ahora!,
2. En Agregar o quitar programas desinstalamos los componentes de soporte necesariamente en el siguiente orden:
MSXML 4.0 Parser
SQLXML6
Microsoft SQL Server VSS Writer
Compatibilidad con versiones anteriores de Microsoft SQL Server 2005
Cualquier otro componente relacionado con SQL Server 2005, excepto los componentes Microsoft SQL Server Native Client y Microsoft SQL Server Setup Support Files (esto será al final, más adelante!, ten calma!!,)

Bien, si tienes más instancias, entonces vuelve al paso nro 1, y haz lo mismo!, hasta que no tengas alguna otra instancia que quieras quitar(OJO: si lo que quieres es quitar sólo algunas instancias, ps aquí habrá terminado todo!), pero si estuvieras en la situación de que quieres quitar todas las instancias, es decir, remover todo SQL Server 2005, para hacer una nueva instalación correcta, ps sigue leyendo....


3. Si todos los pasos anteriores se realizaron correctamente, usando Agregar o quitar programas desinstalemos el componente Microsoft SQL Server Native Client.
4. Si hasta aquí salió todo bien, entonces desinstale el componente Microsoft SQL Server Setup Support Files usando Agregar o quitar programas.
Ahora ya no tendrá ninguna instancia y estará lista la PC para instalarle SQL Server 2005.
Espero haberme dejado entender, y que les haya servido!, si hay dudas por favor coméntalo!, haber que solución le damos a tus dudas!, Hasta la vista!,...
PD: Si tenias instalado el Desktop Engine y luego instalaste SQL Server Este ulyimo se parpiara de las instancias y no podras quitarlas con el clasico
msiexec /x {CEB5780F-1A70-44A9-850F-DE6C4F6AA8FB} CALLERID=ocsetup.exe

ok !!!

Se me olvido decir que ademas es necesario en caso de querer reinstalar el wsus aplicar un cambio en el registro el cual es HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Update Services\Server\Setup],
--Change the value for "wYukonInstalled" from 1 to 0, then run the unstall --you need..al español seria"" necesitas cambiar el valor de 1 a 0 en el value 'wYukonInstalled'....seria por hoy....jejeje...