A raíz de algunos post y preguntas de varias personas sobre como extraer los archivos almacenados en la base de datos de contenido de SharePoint (WSS_Content) pues nos dedicamos a indagar un poco, por supuesto advertir que las tablas a las que hacemos mención en el articulo están sujetas a cambios con actualizaciones de versiones etc. pero de momento sirve. Por otro lado alguno seguro que se está preguntando para que queremos extraer esa información si ya tenemos SharePoint, no voy a entrar a explicar los detalles pero podéis creerme que en determinadas situaciones resulta útil. Este procedimiento no tiene en cuenta el control de versiones ni la propiedad de los archivos obtenidos, pero estos se pueden obtener consultando directamente las tablas importadas a la base de datos auxiliar.

  1. En primer lugar y para no perder el soporte del fabricante del producto (Microsoft) no tocar donde no se debe. Crearemos una base de datos para exportar 2 tablas desde wss_content, si no es en producción mejor. La llamamos Wss_Content_AUX por ejemplo.
  2. Exportamos desde Wss_content de producción a la base de datos creada Wss_Content_AUX las tablas dbo.AllDocs y dbo.AllDocStreams completas.
  3. En la base de datos Wss_Content_AUX creamos la siguiente vista con objeto de ofrecer todas las columnas que necesitamos a la tarea de Exportar Columnas de Integration Services mas adelante.
    use Wss_Content_AUX
    go
    Create view Documentos_en_SPS
    as
    Select LEAFNAME, A.ID, DirNAme,Content
    from dbo.AllDocs A
    join dbo.AllDocStreams B
    on A.id=b.id
    GO
  4. Con Integration Services creamos un sencillo paquete que contenga un origen de datos apuntando a Wss_Content_AUX como base de datos y a la vista Documentos_en_SPS como tabla o vista.
  5. Creamos una variable para almecenar la parte fija de la ruta de disco donde se ubicaran los ficheros.
    Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services
  6. Agregamos una columna derivada para calcular el nombre completo concatenando la variable con el contenido de la columna LEAFNAME que trae el nombre del archivo como se muestra en la figura.
    Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services
  7. Por último agregamos la tarea de exportar columna especificando que la columna a exportar es content y la ruta la columna Path agregada con la columna derivada un paso antes.

Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services

 Este es al aspecto que presenta nuestro flujo de datos una vez creado.

Extracción de archivos almacenados en la base de datos de contenidos de SharePoint con Integration Services

 

0 Shares:
Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

You May Also Like
In-Memory OLTP: Otra historia de corrupción y problemas de DMVs
Leer más

In-Memory OLTP: Otra historia de corrupción y problemas de DMVs

El uso de la funcionalidad In-Memory OLTP sigue siendo una rareza en general entre nuestros clientes y se desconoce el alto potencial para poder mejorar el rendimiento de los sistemas con alto nivel de concurrencia y transacciones. Nuestro experto Rubén Garrigós nos explica cómo habilitar dicha funcionalidad, qué problemas pueden ocurrir y cómo solucionarlos.

Despliegue de Proyectos en Integration Services 2012

En entradas anteriores hemos revisado las características que ofrece el nuevo modelo de servidor de Integration Services, que se basa en Proyectos y Entornos en lugar de Paquetes y Configuraciones.En SQL Server 2012 se mantendrá la compatibilidad con el modelo de despliegue anterior, basado en paquetes, con la denominación Package Deployment Model. Los procedimientos para realizar despliegues en este modo no han variado desde versiones anteriores por lo que nos centraremos en el modelo de despliegue de proyectos Project Deployment Model.