Esecuele Sin Fronteras

SQL Server, Reporting Services y Biztalk Server
  • Esecuele Sin Fronteras

    FILESTREAM, ¿Qué debemos conocer?

    • 0 Comments

    Hoy vamos a comentar que es FILESTREAM, para que vale, los beneficios que nos puede ofrecer, y que componentes lo forman.

    Primero, ¿Qué es FILESTREAM?

    Es una tecnología diseñada para tratar, dentro de una instancia SQL, ficheros sin perjudicar la instancia.

    Esto se realiza con un driver externo, RSFX, que interactuara entre la BD, y un sistema NTFS.

    ¿Cómo se monta?

    Para montar esta tecnología, tendremos 2 pasos a realizar. Primero, activar ese driver, y segundo, permitir a la instancia a comunicarse con este driver.

    Activando el driver:

    clip_image002

    Para habilitar el driver, dentro de SQL Server Configuration Manager, en la pestaña de servicios, elegiremos la instancia donde queremos habilitar esta configuración. Dentro de las propiedades, pestaña FILESTREAM, podemos seleccionar para que queremos tenerlo habilitado, para TSQL, para TSQL y acceso a través de las APIs de Win32, y si queremos que ese driver este activo para recoger conexiones externas. (En un cluster, siempre estará activo para esas conexiones externas)

    Si se habilita el acceso a través de las APIs de Win32, generara un share SMB (que, en este caso, no es un FileShare)

    Si intentamos acceder a este share, tendremos el siguiente error:

    clip_image004

    Esto es así, porque debajo del share SMB no hay un sistema de archivos, sino un EndPoint del driver de RSFX.

    El siguiente paso, es habilitar la instancia para que pueda comunicarse con el driver. Para ello, dentro de SQL Server Manager Studio, lo habilitaremos:

    clip_image006

    Una vez reiniciada la instancia, tendremos FILESTREAM listo para usarse.

    A partir de aquí, podremos crear un directorio FILESTREAM dentro de una BD, crear una tabla que utilice esta tecnología, y trabajar con ella, utilizando para ello, o TSQL, o llamadas a la API de Win32 para acceder a ella.

    Los permisos necesarios son,

    Dentro del sistema NTFS, que el usuario que arranca la instancia, tenga acceso al directorio, y permisos de modificación. Se recomienda que nadie más tenga acceso a este directorio, ya que una modificación externa, implicara que se detecte una corrupción de datos.

    Para poder modificar estos ficheros, solo necesitaremos que el usuario que lanza esta modificación / creación / borrado, tenga los permisos DML necesarios (update, select, insert o delete)

    Tendréis más información en los siguientes links:

    WhitePaper de FILESTREAM:

    http://msdn.microsoft.com/en-us/library/cc949109.aspx

    Como crear una BD con FILESTREAM:

    http://msdn.microsoft.com/en-us/library/cc645585.aspx

    Como crear una Tabla con FILESTREAM:

    http://msdn.microsoft.com/en-us/library/cc645583.aspx

    Uso de FILESTREAM a través de TSQL:

    http://msdn.microsoft.com/en-us/library/cc645962.aspx

    Uso de FILESTREAM a través de APIs Win32:

    http://msdn.microsoft.com/en-us/library/cc645940.aspx

     

    Moisés Romero Senosiain – Microsoft Customer Support Services

  • Esecuele Sin Fronteras

    Reporting Error in CRM - The report cannot be displayed. (rsProcessingAborted)

    • 0 Comments

     

    Los síntomas de recibir el siguiente error al intentar ejecutar informes creados en CRM con el asistente ó utilizando MSCRM_FetchDataSource:

    En el servidor de SSRS:
    Your browser does not support scripts or has been configured not to allow scripts.

    En las máquinas clientes:

    An error occurred during client rendering.
    An error has occurred during report processing.
    Cannot create a connection to data source ‘CRM’.
    For more information about this error navigate to the report server on the local
    server machine, or enable remote errors.

    En CRM:


    Reporting Error
    The report cannot be displayed. (rsProcessingAborted
    )

     

    Pueden tener las siguientes causas:

    1. SPN's no configurados
    2. Falta de permisos de la cuenta de servicio de SSRS Service en el AD y en SQL
    3. Site de CRM ApplicationHost.config no configurado para utilizar las credenciales de Windows Authentication del AppPoolCredentials

     

    Prueba las alguna de las siguientes alternativas para solucionarlo:

     

    1.       Configurar los SPNs en el servidor especificado:

     

    Servidor CRM
    SETSPN -a HTTP/CrmServerName Domain\CRMAppPool
    SETSPN -a HTTP/CrmServerName.Domain.com Domain\CRMAppPool

    Servidor SSRS/SQL Server:

    SETSPN -a HTTP/SsrsServerName Domain\SRSAppPool
    SETSPN -a HTTP/SsrsServerName.Domain.com Domain\SRSAppPool

    Para SQL:
    SETSPN -a MSSQLSvc/SqlServerName:1433 Domain\SQLServerSvcAcct
    SETSPN -a MSSQLSvc/SqlServerName.Domain.com:1433 Domain\SQLServerSvcAcct

     

    2.       Configurar los permisos de la cuenta de servicio de SSRS Service en el AD y modificar los permisos del grupo SQLAccessGroup en SQL como dice el artículo:


    Error message when you run a report in Microsoft Dynamics CRM 4.0: "Reporting Error.
    The report cannot be displayed"

    http://support.microsoft.com/kb/946585 

    Sección: Complete the following steps if SQL Reporting Services is running as a domain user account

     

    3.       Añadir/cambiar la siguiente sección el fichero ApplicationHost.config del site de CRM Site en un editor de texto . (%windir%\system32\inetsrv\config\. Para todos los ficheros bajo la ruta del Default Web Site)

    Poner el elemento WindowsAuthentication del atributo useAppPoolCredentials a true.

     

    Por ejemplo:

     

    <system.webServer>

       <security>

          <authentication>

            <windowsAuthentication enabled="true" useAppPoolCredentials="true" />

          </authentication>

       </security>

    </system.webServer>   

     

    Si el servidor de CRM 2012 esta configurado en SQL Cluster habrá que añadir un par de SPNs más como explica el siguiente artículo:

    Microsoft Dynamics CRM 2011: Reports created by report wizard may fail when executing

    http://support.microsoft.com/kb/2590774 

     

    Maria Esteban

    Ingeniero de Soporte de Reporting Services

Page 1 of 1 (2 items)