Our Blogs
English
Español
Skip Navigation Links
News
Our Team
Mentoring
Antonio Soto
Go to home page
Go Search

 
Other Blogs
Windows

Our Blogs > Español > Antonio Soto
Buenas Prácticas de SQL Server en SharePoint
El pasado 29 de Octubre, tuvo lugar la conferencia Anual de usuarios de SharePoint, CEUS, donde tuve la oportunidad de presentar una charla sobre "Trucos, Optimización y Buenas Prácticas de SQL Server para una implementación SharePoint". Podéis revisar la presentación aquí http://blogs.solidq.com/ES/asoto/Documents/Trucos,%20Optimización%20y%20Buenas%20Prácticas%20para%20SQL.pdf 
 
Saludos!
Novedades de Seguridad SQL Server 2008 II

seguimiento de que datos son los que cambian entre determinados periodos de tiempo. Un claro ejemplo de este requisito, son las técnicas de seguimiento de cambios que es necesario implementar para mantener actualizados los sistemas datawarehouse de forma incremental. Para dar solución a estos requisitos, SQL Server 2008 proporciona dos nuevas características: Change Data Capture y Change Tracking.

Change Data Capture

Change Data Capture, nos permite capturer los cambios realizados sobre determinadas tablas de nuestra base de datos, y nos permite accede a ellos en un formato relacional, que facilita su explotación. Una vez hayamos activado Change Data Tracking a nivel de base de datos, y hayamos seleccionado las tablas que deseamos monitorizar, el proceso de captura extrae del log de transacciones los cambios (inserciones, actualizaciones y borrados) sobre esas tablas y los inserta en las tablas asociadas, que después podremos consultar a través de determinadas funciones que se encargan de proporcionar unos datos formateados. A continuación veremos que pasos debemos de seguir para acticar esta características y como utilizarla.

En primer lugar, debemos de activar Change Data Capture en la base de datos:

USE AdventureWorks2008

GO

EXEC sys.sp_cdc_enable_db

GO

 

Al habilitar una base de datos para Change Data Tracking, se crea en esa base de datos un esquema denominada cdc y un usuario con el mismo nombre, así como las tablas de metadatos necesarios para el funcionamiento. A continuación, y tras haber comprobado que el servicio SQL Server Agent está iniciado, habilitaremos las tablas que deseamos comprobar. En el siguiente ejemplo se habilita el seguimiento para la tabla HumanResources.Department:

EXEC sys.sp_cdc_enable_table @source_Schema='HumanResources',@source_name='Department',@role_name='rolCDC'

 

El mensaje que nos devuleve la ejecución de este comando, es muy explicativo de cómo funciona internamente esta característica. El mensaje dirá algo como:

Job 'cdc.AdventureWorks2008_capture' started successfully.

Job 'cdc.AdventureWorks2008_cleanup' started successfully.

Como se desprende de estos mensajes, el procedimiento almacenado creará dos trabajos del Agente de SQL Server. El primero de ellos, que se encargará capturar los cambios, mientras que el segundo se encarga de realizar tareas de limpieza. Obviamente, estos trabajos, se crean únicamente para la primera de las tablas activadas. Posteriormente, el trabajo se encarga de leer los metadatos para conocer cuales son las tablas que deben de controlarse. Para obtener información acerca de los cambios registrados, debemos de realizar varias operaciones.

En primer lugar, Change Data Capture, almacena información acerca del instante en el que se produce un cambio, capturando los LSN del registro de transacciones. Obviamente, nuestras aplicaciones no explotarán los datos utilizando un número de secuencia, sino usando fechas. Para ello, disponemos de una función, denominada sys.fn_cdc_map_time_to_lsn, que nos permite obtener un LSN de cambio, a partir de la fecha.

Una vez obtenidos los LSN que marquen el intervalo de tiempo del que queremos obtener los cambios, ya podemos utilizar las funciones creadas para la consulta de datos. En el momento en el que activamos el Change Data Capture en una table, se crea una función para cada tabla, denominada, en nuestro caso cdc.fn_cdc_get_all_changes_HumanResources_Department, que pasándole como parámetro los lsn inicial y final, nos devolverá los cambios realizados sobre esta tabla en ese intervalo.

Change Tracking

Otra característica que nos permitirá llevar un control sobre las operaciones realizadas en una determinada tabla es Change Tracking. A diferencia de lo que ocurre con Change Data Capture, con esta característica podemos obtener información sobre los cambios realizados y a que registros afectaron (a través de la clave primaria de la tabla) pero no almacena los datos modificados, por lo que a lo largo del tiempo, iremos perdiendo esos valores, después de varios cambios sobre los mismos datos. Además, el mantenimiento de esa información, se realiza de forma síncrona en el momento en el que se realiza el cambio, y se almacenan los metadatos en las tablas internas utilizadas por Change Tracking. Debido a este comportamiento, Change Tracking puede sernos útil en escenarios de sincronización, en los que el dato importante es el último, pero no el histórico de cada uno de los cambios realizados.

Para utilizar Change Tracking,d ebemos de activarlo, de modo similar a Change Data Capture, primero a nivel de base de datos y después, seleccionando la tabla, como muestra el siguiente código.

ALTER DATABASE AdventureWorks2008

SET CHANGE_TRACKING = ON

(CHANGE_RETENTION = 2 DAYS, AUTO_CLEANUP = ON)

GO

ALTER TABLE HumanResources.Department

ENABLE CHANGE_TRACKING

WITH (TRACK_COLUMNS_UPDATED = ON)

Una vez activado

Comparativa entre Change Data Capture y Change Tracking

Como resumen, a modo de comparativa entre las dos tecnologías podemos comentar las siguientes diferencias:

·         Desde el punto de vista del mecanismo utilizado para realizar seguimiento de los cambios, Change Data Captura utiliza un trabajo del Agente para leer, de forma asíncrona los cambios desde el registro de transacciones de la base de datos, mientras que Change Tracking realiza un seguimiento de cambios síncrono.

·         Por lo que respecta a los datos obtenidos, Change Tracking tan solo realiza seguimiento de las operaciones realizadas, manteniendo el valor de la clave primaria del registro modificado como enlace entre las tablas de metadatos y la tabla auditada, por lo que no podemos obtener la información completa, mientras que Change Data Captura si nos proporciona esa información

Auditoria

Establecer un sistema de auditoría para una aplicación, es uno de los puntos cada vez más solicitados, debido fundamentalmente a requisitos legales , y hasta ahora un verdadero quebradero de cabeza para los administradores de bases de datos. Para un sistema SQL Server disponemos de varias opciones para establecer sistemas de auditoria:

·         SQL Trace. Utilizando trazas, bien se a través de procedimientos almacenados o a través de SQL Profiler, podemos registrar diferentes eventos que se producen en la instancia SQL Server.

·         Triggers. Otra opción, sería implementar un sistema basado en triggers. En SQL Server 2005, se añadió la posibilidad de crear triggers para sentencias DDL, por lo que el rango de eventos que podemos controlar es mayor.

·         En SQL Server 2008, disponemos de un nuevo sistema de auditoría, implementado a través del objeto SQL Server Audit. Este objeto, nos permite definir auditoría a nivel de instancia o a nivel de base de datos, y almacenar los resultados de la auditoría bien en ficheros, o bien en el Visor de Sucesos de Sistema Operativo, ya sea en el registro de Aplicación o en el registro de Seguridad, y que será el que analizaremos en este apartado.

El primer objeto que debemos de crear es un objeto SQL Server Audit, que definimos a nivel de la instancia de SQL Server, y en el que lo que configuramos es el destino de la Auditoria. Como hemos comentado con anterioridad, el destino de la Auditoria pueden ser: Fichero, Registro de Seguridad y Registro de Aplicación.

Una vez hemos creado el objeto SQL Server Audit (podemos crear varios objetos) debemos de especificar cuales son los eventos que deseamos auditar. Estos eventos podemos especificarlos utilizando los denominados Audit Groups, que no son más que grupos de acciones, a dos niveles:

·         A nivel de instancia, a través de la Server Audit Specification. Nos permite auditar eventos que ocurren a nivel de instancia de SQL Server, tales como inicios de sesión, copias de seguridad, ejecución de comandos DBCC, o eventos de sesiones de Service Broker.

·         A nivel de base de datos, a través de la Database Audit Specification. Para aquellos eventos que deseemos auditar a nivel de objetos u operaciones de las bases de datos, debemos de utilizar los Audit Groups a nivel de base de datos, que nos permiten auditar eventos tales como los eventos de creación, borrado o eliminación de objetos, o cambios en la membresía de roles de usuarios.

En el siguiente ejemplo, vemos como se puede crear una auditoría que registro los inicios de sesión fallidos:

--Creamos el objeto de Auditoria que define la ubicación

CREATE SERVER AUDIT AuditTest

TO FILE

(     FILEPATH = N'C:\temp\'

      ,MAXSIZE = 0 MB

      ,MAX_ROLLOVER_FILES = 2147483647

      ,RESERVE_DISK_SPACE = OFF

)

WITH

(     QUEUE_DELAY = 1000

      ,ON_FAILURE = CONTINUE

     

)

GO

--Comprobamos que se ha creado correctamente

select * from sys.server_audits

GO

--Inspeccionamos cuales son las acciones que podemos auditar

Select * from sys.dm_audit_Actions

GO

--Creamos una especificación a nivel de instanacia para registrar los inicios de sesión fallidos

CREATE SERVER AUDIT SPECIFICATION AuditServerSpecification

FOR SERVER AUDIT AuditTest

ADD (FAILED_LOGIN_GROUP)

GO

--comprobamos que se ha creado correctamente

select * from sys.server_audit_specifications

select * from sys.server_audit_specification_details

GO

--Activamos el objeto de Auditoria

ALTER SERVER AUDIT AuditTest WITH(STATE= ON)

GO

--Activamos la especificación

ALTER SERVER AUDIT SPECIFICATION AuditServerSpecification WITH(STATE= ON)

-- Leemos los datos del fichero de auditoria

select * from fn_get_audit_file('C:\Temp\*',DEFAULT, default)

 

Si quisiéramos crear una auditoria a nivel de base de datos que, por ejemplo, auditase las sentencias SELECT ejecutadas en una determinada tabla, podríamos hacerlo del siguiente modo:

USE AdventureWorks2008

GO

CREATE DATABASE AUDIT SPECIFICATION AuditSelect

FOR SERVER AUDIT [AuditTest]

ADD(SELECT ON HumanResources.EmployeePayHistory BY dbo)

WITH (STATE = ON)

GO

De este modo, podemos crear sistemas de auditoria muy completos, y a la vez, no intrusivos, por lo que el impacto en el rendimiento  es menor que el de otras aproximaciones.

El icono de Nuevo!
Seguro que alguna vez te has preguntado, cuando aparece y durante cuanto tiempo están el icono de nuevo al agregar contenido a una lista o libreria de SharePoint. De forma predeterminada está allí durante 1 día de calendario, pero es algo configurable. Para ello debemos de utilizar el comando stsadm.exe con la siguiente sintáxis:
 
stsadm.exe –o setproperty –pn days-to-show-new-icon –pv (numero de dias) –url (servidor virtual)
 
Espero que esto ayude!!
OpenSearch

Open Search es una colección de formatos que permite compartir los resultados de una búsqueda. De este modo se permite que las aplicaciones sean capaces de conocer el interfaz público  de un motor de búsqueda, lo que posibilita la integración de dichos motores de búsqueda dentro de otras aplicaciones, así como su reutilización. Los promotores de este estándar fueron  A9.com y Amazon.com y hoy en día se está convirtiendo en un estándar de facto en los sistemas de búsqueda empresarial, que está disponible de acuerdo con la los términos de las licencias Creative Commons. Además, a diferencia de lo que ocurre con otros estándares, Open Search es extensible, y dentro de las propias especificaciones se indica cómo realizar dichas extensiones. La mayor parte de buscadores, navegadores y sitios web, soportan hoy en día Open Search, y muchos fabricantes de software están comenzando a utilizar este formato para proporcionar acceso a los contenidos de sus aplicaciones.

Para más información sobre Open Search, puedes visitar http://www.opensearch.org

Microsoft Enterprise Search

Seguro que más de una vez vuestros usuarios os han hecho una pregunta del estilo “¿Cómo es posible que pueda buscar en Internet y obtener resultados al instante y no es posible realizar una búsqueda similar sobre nuestros datos?” Y si lo analizamos desde el punto de vista del usuario, y de su experiencia de utilización de este tipo de herramientas, seguro que llegamos a su misma conclusión. Los usuarios está acostumbrados a poder realizar este tipo de búsquedas en Internet, por lo que deberíamos de ser capaces de proporcionarles un mecanismo similar para que puedan realizar ese tipo de búsqueda, entre la información almacenada en los sistemas de información de la empresa. Ese concepto se denomina Búsqueda Empresarial, cuyo principal objetivo es proporcionar a los usuarios la capacidad de buscar y encontrar información que le permita ser más productivo en sus tareas cotidianas.

Microsoft y la Búsqueda Empresarial

Si tuviésemos que definir los requisitos que una organización necesita para implementar con éxito una herramienta de búsqueda empresarial, desde el punto de vista del usuario final, podríamos resumirlos en los siguientes:

·         Capacidad de indexar contenidos independientemente de donde estén almacenados. Si queremos que una aplicación de estas características tenga éxito, debemos de proporcionarle al usuario la posibilidad de realizar búsquedas entre todos los contenidos de la organización.

·         Interfaz único y amigable. En concordancia con lo comentado en el punto anterior, los usuarios deberían de disponer de un interfaz único desde el que poder realizar las búsquedas, sin necesidad de conocer de antemano, donde está almacenada la información.

·         Capacidades avanzadas de búsqueda, que permitan definir palabras clave, mejores coincidencias, definiciones de términos o corrección de las consultas son herramientas que los usuarios están acostumbrados a ver en los buscadores tradicionales.

·         Posibilidad de suscribirse a los resultados de la búsqueda, de modo que cuando esos resultados varíen se le notifique al usuario.

 

En este nuevo frente que se abre para implementar sistemas de indexación y búsqueda dentro de la organización, Microsoft dio su primer paso con la Búsqueda Empresarial de SharePoint, que en la nueva versión 2007, dio lugar a una edición del producto, denominada Microsoft Office SharePoint for Search. Esta versión, como su propio nombre indica, proporcionaba solo las características de búsqueda de SharePoint, permitiéndonos desplegar una infraestructura para soportar entornos de búsqueda empresarial. Sin embargo Microsoft ha decidido ir un poco más allá y está preparando una familia de productos pensados única y exclusivamente para dar soporte a este tipo de necesidades de búsqueda empresarial: Search Server 2008, que cumple con todos los requisitos enumerados anteriormente. A día de hoy ya podemos probar una versión CTP de Microsoft Search Server 2008 Express, la versión gratuita de la familia, que podéis descargar desde http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/default.aspx y cuya versión final está anunciada para la primavera de 2008. Al igual que ha ocurrido en otros productos, esta versión gratuita proporciona toda la funcionalidad necesaria para implementar una aplicación de búsqueda empresarial, y nos proporcionará la opción de actualizarnos a la versión Search Server 2008, si tenemos requisitos adicionales de Alta Disponibilidad o Escalabilidad. Del mismo modo, podremos actualizar a Microsoft Office SharePoint Server 2007, si necesitamos algunas de las características de gestión de contenidos o colaboración adicionales.

 

Microsoft Search Server 2008 Express

Como hemos comentado, el primero de los productos que podemos analizar es Microsoft Search Server 2008 Express. Construido sobre la base de Windows SharePoint Services, proporciona un interfaz amigable, tanto desde el punto de vista de usuario final, como desde el punto de vista del administrador, para el que existe un cuadro de control unificado desde el que se puede ver el estado del sistema y de los trabajos planificados. Así mismo, el administrador dispone de accesos directos para las tareas más habituales, como agregar orígenes de datos o gestionar la seguridad de los usuarios.

 

Para el usuario final, de forma predeterminada Search Server 2008 Express incorpora el denominado Search Center, un sitio de Windows SharePoint Services, que actúa como fachada para el usuario y desde el que se pueden realizar todo tipo de búsquedas. Como se puede apreciar en la Figura 2, este centro de búsqueda no contiene ningún tipo de información, tan solo un cuadro de búsqueda, y la opción de búsqueda avanzada, puesto que el objetivo es que las capacidades de Search Server se integren dentro de alguna aplicación corporativa, habitualmente, la intranet de la organización, aunque proporciona la funcionalidad suficiente como para que puede ser utilizada directamente.

¿Qué podemos buscar?

Lo más relevante para una aplicación de Búsqueda Empresarial, es la capacidad de dicha aplicación para indexar y facilitar las búsquedas en el mayor número de fuentes de datos posibles, de modo que seamos capaces de integrar la mayor cantidad de información. De este modo, podremos proporcionar a nuestros usuarios una única ubicación desde la que poder realizar búsquedas, lo más relevantes posibles para sus necesidades diarias. El mecanismo utilizado para indexar el contenido de estas ubicaciones es el mismo que utiliza SharePoint desde sus inicios, los iFilters, que permiten extraer el texto de diferentes formatos de documentos y contenidos para su indexación conjunta. Con respecto a Microsoft Search Server 2008 Express, este proporciona la posibilidad de trabajar, de forma nativa con los siguientes orígenes de datos:

·         Sitios de SharePoint, por lo que podremos indexar cualquier contenido de los sitios de SharePoint agregados, no solo documentos, sino también contenidos de las listas. De este modo, podemos utilizar Search Server de forma centralizada, indexando contenidos de nuestros servidores SharePoint, independientemente de las búsquedas que tengamos habilitadas en dichos servidores.

·         Sitios Web. Podemos indexar cualquier sitio web, que contenga información relevante para nuestro y que queramos hacer disponible para nuestros usuarios. El único requisito para poder indexar estos sitios, es que dispongamos de un iFilter que sea capaz de analizar las páginas del sitio. De forma predeterminada, Search Server dispone (realmente están instalados a nivel del Sistema Operativo) de iFilters para indexar páginas html y asp, en todas sus variantes.

·         Recursos Compartidos. Podemos indexar el contenido de recursos compartidos de red, sin necesidad de incorporar el contenido de esos recursos compartidos dentro del servidor de búsqueda o un sitio de SharePoint. DE este modo, podemos proporcionar a los usuarios la capacidad de realizar búsquedas sobre documentos que se encuentran en recursos compartidos de red y que ellos utilizan en su día a día. Search Server, lee los contenidos de esos documentos, utilizando los correspondientes iFilters, y los indexa, almacenando esos índices en el servidor Search Server.

·         Carpetas Públicas de Exchange. Es común que las organizaciones que utilizan Microsoft Exchange, dispongan de aplicaciones que almacenen información en carpetas públicas de Exchange. Search Server posibilita la indexación y búsqueda dentro de estas carpetas.

·         Bases de Datos Lotus Notes. Al igual que ocurre con las carpetas públicas de Exchange, las organizaciones que utilizan Lotus Notes disponen de aplicaciones que almacenan datos en repositorios de Lotus Notes. Esta característica permite, a las organizaciones que utilicen Lotus Notes, extender estas aplicaciones con capacidades de búsqueda utilizando Search Server.

Además, de estas ubicaciones, una de las grandes novedades de Search Server, es la posibilidad de utilizar Ubicaciones Federadas. Estas ubicaciones federadas, posibilitan extender las búsquedas a otras ubicaciones, reutilizando los índices creados para ellas. Para ello se utilizan los Conectores de Búsqueda Federada, que están basados en el estándar Open Search y actúan como conector con esas ubicaciones. De forma predeterminada, Search Server incorpora el conector para Live.com y lo configura para que cada vez que un usuario realiza una búsqueda, esta se haga también en Live.com. Entre los conectores que pueden descargarse de la web de Microsoft, destacan los de Google News, MSDN, TechNet, Youtube, la Enciclopedia Británica o Technorati. Estos conectores permiten proporcionar al usuario una experiencia de búsqueda lo más completa posible, de modo que le proporcione los resultados agrupados por cada uno de estos conectores, sin necesidad de que el usuario debe de realizar diferentes búsqueda. Además, la especificación para el desarrollo de nuevos conectores permite que otras empresas hayan anunciado el desarrollo de estos conectores para Search Server, entre las que podemos destacar Business Objects, EMC para el gestor documental Documentum, Cognos o Symantec. Puedes obtener un listado completo y actualizado desde  http://www.microsoft.com/enterprisesearch/connectors/federated.aspx. EL hecho de que todos estos fabricantes están adoptando esta especificación, augura un prometedor futuro a la misma, y por consiguiente a Search Server, que podrá beneficiarse de estos conectores para extender su funcionalidad de un modo muy sencillo para el usuario.

Características Avanzadas

Como cualquier motor de búsqueda, Search Server nos proporciona la posibilidad de realizar búsquedas avanzadas, en las que podemos especificar filtros (además de todas las combinaciones posibles de frase exacta, que no contenga el término, etc.). De entre estas capacidades de búsqueda avanzada destacan:

·         Idioma de la búsqueda, para filtrar por el idioma de los contenidos.

·         Tipo de Resultado, en el que podemos filtrar el tipo de contenido sobre el que queremos delimitar la búsqueda, como por ejemplo los tipos de documentos que queremos obtener.

·         Propiedades del contenido, pudiendo buscar por las propiedades de metadatos del contenido indexado.

Además de la posibilidad de realizar búsquedas avanzadas, podemos mejorar las posibilidades de los usuarios utilizando algunas de las características proporcionadas por Search Server y que enumeramos antes como imprescindibles para una aplicación de Búsqueda Empresarial, como por ejemplo:

·         Ámbitos de Búsqueda. Podemos facilitar la búsqueda a los usuarios, de modo que agrupemos los orígenes de datos, permitiendo al usuario restringir la búsqueda en uno de estos grupos. La creación de estos ámbitos de búsqueda está basada en reglas que pueden ser

o   Por la dirección Web del origen de datos, de modo que podamos agrupar determinados sitios en un único ámbito de búsqueda para poder realizar búsquedas únicamente en esos sitios.

o   Por una propiedad de la consulta, por ejemplo, los documentos de un determinado autor. En el caso de que tengamos alguna propiedad relevante para nuestros usuarios, podemos utilizarla para definir un ámbito de búsqueda.

o   Origen de Datos, para permitir la búsqueda solo en un determinado tipo de origen de datos, como Sitios de SharePoint o Recursos Compartidos.

·         Palabras Clave. Podemos definir palabras clave, para las que queramos agregar un contexto dentro de las búsquedas del usuario. Así, para estas palabras clave, podemos especificar una definición, así como una fecha de caducidad para esa palabra clave. Habitualmente, estas palabras clave se utilizan para proporcionar información a los usuarios sobre términos relevantes para el negocio, permitiendo así unificar el discurso y la visión sobre estos temas.  Además a estas palabras clave se le pueden asignar una o varias Mejores Coincidencias.

·         Mejores Coincidencias. Las mejores coincidencias son enlaces directos que podemos agregar dentro de una palabra clave, de modo que cuando la búsqueda de un usuario coincida con una palabra clave, además de los resultados normales de la búsqueda, se le ofrezcan estas mejores coincidencias, que sabemos de antemano que pueden ser útiles para el usuario. Es un proceso laborioso, pero que nos permite reutilizar el conocimiento dentro de la organización y hacer una mejor gestión del mismo, así como guiar al usuario en cuáles son los contenidos y las definiciones que debe de tener en cuenta, evitando que haga uso de fuentes de información no confiables.

·         Suscripción a los resultados de la búsqueda. Quizás una de las características más interesantes para el usuario final, reside en la posibilidad de suscribirse, bien por correo electrónico, bien a través de RSS. De ese modo, el usuario será notificado cuando los resultados de esa búsqueda se modifiquen, debido a una re-indexación, bien sea parcial o completa, del contenido, permitiéndole en todo momento obtener la información más actualizada, prácticamente en tiempo real.

Estas opciones avanzadas tienen dos objetivos. Por un lado, proporcionar a los usuarios capacidades para gestionar las búsquedas y facilitarle la reutilización de las mismas. Por otro, complementar la herramienta con capacidades de gestión de conocimiento, que proporcionan contexto a las búsquedas. En este segundo grupo, debemos de englobar las características de Palabras Clave y Mejores Coincidencias. Requieren de bastante trabajo para llegar a agregar el contenido deseado al portal para que esté disponible para los usuarios, pero una vez generado ese contenido, se convierten en dos puntales fundamentales para mejorar la usabilidad del usuario y proporcionar información de una forma coherente dentro de la organización.

Conclusiones

Con Microsoft Search Server 2008 Express, Microsoft entra de lleno en el mundo de las aplicaciones de búsqueda empresarial, con una herramienta gratuita, sin límite teórico en la cantidad y tamaño de contenidos a indexar. Además, Search Server, se construye sobre la base de Windows SharePoint Services, plataforma suficientemente probada y por tanto fiable, con una instalación muy sencilla y un interfaz de usuario, que aunque simple, proporciona todas las características deseables en un motor de búsqueda. Si a ello le sumamos la integración con el estándar Open Search, permitiendo la búsqueda en todos aquellos orígenes de datos externos que también soporten dicho estándar, estamos ante una herramienta lo suficientemente flexible como para cumplir con la mayor parte de nuestros requisitos.

 

Novedades Seguridad SQL Server 2008 I

Quizás el aspecto más importante, por el control que nos permite tener sobre nuestros servidores SQL Server, es el nuevo marco de trabajo de gestión declarativo, que nos permite definir políticas que deben de cumplirse en instancias, bases de datos u objetos, pero esta novedad se analiza en el artículo SQL Server 2008 Declarative Management Framework, por lo que no entraremos a fondo en su estudio, pero que debemos de mencionar al menos.

Transparent Data Encryption

Otra de las novedades interesantes es la posibilidad de cifrar, de forma transparente a usuarios y aplicaciones, nuestras bases de datos. En SQL Server 2005, se introdujo una arquitectura de cifrado, que nos permitía utilizar funciones para cifrar, utilizando certificados o claves, los datos almacenados en las bases de datos SQL Server 2005. Sin embargo, eso nos exigía establecer procesos que realizasen las operaciones de cifrado y descifrado de datos, y además, con algunas restricciones que fundamentalmente afectaban al rendimiento. En SQL Server 2008, a través de la característica denominada Transparent Data Encryption(TDE), que solventa esas limitaciones, del modo más rápido y eficiente posible: se cifra la base de datos completa. El cifrado de datos con TDE se realiza a nivel de Entrada / Salida, a través del Buffer Pool. Esto quiere decir, que cuando se habilita una base de datos para TDE, se cifran todos los ficheros de dicha base de datos, tanto de datos como de log de transacciones, y el cifrado y descifrado se realizará durante las operaciones de lectura y escritura en disco. La gran ventaja de esta aproximación, como hemos comentado, es que lo hace cien por cien transparente a las aplicaciones, sin embargo, el problema es que los datos en memoria no se encuentran cifrados, y determinadas operaciones, como paginación de Sistema Operativo, o un Dump de memoria, pueden llevar disco los datos sin cifrar. Sin embargo, lo que si se tiene en cuenta, es que cuando habilitamos TDE en una base de datos, automáticamente se configura tempdb con TDE también, para que todos los objetos temporales que sea necesario crear, sean también cifrados. Del mismo modo, tanto las instantáneas, como las copias de seguridad, pueden sacar provecho de esta característica y también se cifrarán. Especial mención, requiere la copia de seguridad. Como ocurre siempre en estos casos, deberemos de disponer de copias de seguridad de los objetos (certificados o claves) que utilicemos con TDE, para que en caso de que necesitemos realizar una restauración, seamos capaces de poder leer los datos. Si no disponemos de esos objetos, no seremos capaces de restaurar una copia de seguridad cifrada con TDE.

Nuevos roles de bases de datos

Existen algunos cambios, que aunque no son excesivamente relevantes, si merecen mencionarse, en los roles de la base de datos msdb. En primer lugar los roles para la gestión de seguridad de SQL Server Integration Services cambian de nombre y pasan de llamarse db_dtsadmin, db_dtsltduser y db_dtsoperator se han renombrado respectivamente a db_ssisadmin, db_ssisltduser y db_ssisoperator. En el caso de que estemos realizando una actualización desde SQL Server 2005, los roles antigüos se mantendrán y se añadirán como miembros de estos nuevos roles para mantener la compatibilidad.

Además de estos cambios de nomenclatura, aparecen nuevos roles de base de datos, para dar soporte a algunas de las nuevas funcionalidades, especialmente para las nuevas características de gestión. Dispondremos en la base de datos msdb, de los siguientes nuevos roles:

·         ServerGroupAdministratorRole y ServerGroupReaderRole, que nos permiten gestionar los grupos de servidores para administración centralizada.

·         PolicyAdministratorRole, que nos permite definir los usuarios administradores de la gestión basada en políticas

·         dc_admin, dc_operator y dc_proxy, que utilizaremos con el componente data collector

Microsoft Search Server 2008 Express

 

Microsoft entra de lleno en el mundo de la Búsqueda Empresarial, después de un pequeño escarceo con Office SharePoint for Search. Ahora aparecen dos nuevos productos, Microsoft Search Server y Microsoft Search Server Express, esta última gratuita y que se puede descargar, en versión RC desde aquí http://www.microsoft.com/enterprisesearch/serverproducts/searchserverexpress/download.aspx.

Esta versión gratuita solo nos permite instalar los servicios en un servidor sin posibilidad de escalar, es una de las grandes diferencias con respecto a la versión Search Server. Sin embargo, no tenemos limitaciones en el volumen de los documentos a indexar, y podemos gestionar aspectos fundamentales de la búsqueda como relevancia, ámbitos de búsqueda, palabras claves o mejores coincidencias. La verdad es que tiene muy buena pinta, y además gratuito. Prometo volver para contaros más cosas.

¿Y Cómo hago copia de seguridad del estado del sistema con Windows Server Backup?

Según las investigaciones de Microsoft, la consola de NTBackup y su utilidad de línea de comandos eran consideradas como complejas de manajar para muchos usuarios de pequeñas y medianas empresas. Es por ello que en Windows Server Backup, el interfaz gráfico de administración ( un complemento de la MMC) permite hacer menos cosas de lo que permitía hacer NTBackup para intentar simplificarlo. Al mismo tiempo, se ha agregado la herramienta por consola Wbadmin.exe que nos permite complementar dichas operaciones. Un ejemplo claro es la copia de seguridad del estado del sistema de un Servidor Windows 2008, indispensable, entre otras cosas, para disponer de una copia de seguridad del directorio activo en caso de que el servidor sea un controlador de dominio. Este tipo de copia de seguridad, tan solo puede realizarse desde consola a través de Wbadmin.exe. El comando sería algo como:

 

Wbadmin start systemstatebackup –backuptarget:E: -quiet

Con esta sentencia le estamos indicando a Windows Server Backup que haga copia de seguridad del estado del sistema, lo almacene en el volumen E: y no solicite confirmación al usuario.

Windows Server Backup

Windows Vista lo dejaba entrever, pero Windows Server 2008 lo confirma, NTBackup ha pasado a mejor vida. La verdad es que por un lado, uno siente un poco de nostalgia después de tantos años creando scripts y peleándose con esa herramienta, pero la verdad es que ya era hora de que Microsoft le diese una vuelta de tuerca y evolucionase su herramienta de copia de seguridad en servidores. El impulso que Microsoft ha hecho con Data Protection Manager 2007 hace que probablemente este sustituya en muchos casos a la nueva herramienta de Windows, aunque las mejoras introducidas, hacen que siga siendo una buena opción en muchos escenarios.

De entre las características más importantes de Windows Server Backup podemos destacar:

  • Se elimina el soporte de cinta. Si has leído bien, no podremos hacer copias de seguridad a cinta.
  • Se añade soporte a CD y DVD, de modo que podamos realizar copias de seguridad a dichos dispositivos, así como crear discos de recuperación en lugar de los disquetes.
  • Si queremos almacenar las copias en el disco local (también puede hacerse en un recurso de red) necesitas dedicar un volumen exclusivamente para ello.
  • Utiliza Volume Shadow Copy, para hacer copias de seguridad a nivel de bloque y en el segundo plano.
  • Disponemos de una herramienta por consola de comandos que nos permitirá realizar tareas no disponibles desde el interfaz gráfico, denominada Wbadmin.exe

Obviamente, soporte de PowerShell para poder generar nuestros scripts.

SQL Server 2005 Service Pack 2 y los usuarios huérfanos

Sorpresas te da la vida. El service pack 2 de SQL Server 2005 es mucho más que una simple colección de parches, y se agregan muchas nuevas funcionalidades, algunas de ellas no anunciadas, que iremos descubriendo poco a poco. Una de las que más me ha llamado la atención, por ser un problema bastante común y que ya he tratado en otras entradas de este blog, hace referencia a los usuarios huérfanos. Ahora, la sentencia ALTER USER, dispone de una clausula WITH LOGIN que nos permite modificar la asociación entre Usuarios y login, y es válido para logins de SQL y logins de Windows, al contrario que el procedimiento sp_change_users_login, que solo lo hace para los logins de SQL.

Seguiremos informando

1 - 10 Next

 ‭(Hidden)‬ Admin Links