Número de errores de formato en Reporting Services 2008 R2

¿Estamos solos en esta experiencia? SSRS 2008 R2 es una gran actualización, y resuelve muchas de las rarezas de SQL Server Reporting Services 2005. Sin embargo, sí parece obvio – si es pequeño – Solución de error.

El problema tiene que ver con el formato de números:

Cuadro de propiedades de texto del cuadro de diálogo

Se puede establecer un número o formato de la fecha con este cuadro de diálogo

Puede hacer clic en cualquier cuadro de texto para establecer sus propiedades, y el uso del Número de la pestaña superior para centrarse en formatos de fecha y número. Todo esto funciona bien.

El problema viene después de haber estado usando SSRS durante unos minutos, la hora de elegir el número de ficha hace que el cuadro de diálogo anterior se desvanecen! La única manera de conseguirlo de nuevo parece ser la de salir de SSRS y volver de nuevo.

Fuente:

http://www.wiseowl.co.uk/blog/s149/ssrs-number-format.htm

Membership en base de datos SQL

Para estrenar el nuevo tema del blog, vamos a ver de manera rapida la instalacion del marco de seguridad de .NET provisto por el Framework para integrar seguridad a las aplicaciones web o desktop, esta parte es llamada Membership y es un conjunto de tablas dentro de una base de datos para el almacenamiento de usuarios, perfiles, roles y todo lo relacionado a la seguridad en las aplicaciones.
Para empezar vamos a ir a Inicio-Todos los programas-Microsoft Visual Studio 2005 o 2008 (para ambos funciona) y entramos al folder Visual Studio Tools y ejecutamos la consola Visual Studio 2008 Command Prompt.

Aqui nos mostrara una consola de comando, ingresaremos el comando llamado “aspnet_regsql”,este comando nos mostrara el asistente para agregar el perfil de seguridad.

Haremos click en siguiente para iniciar el proceso, la siguiente pantalla nos muestra las opciones posibles para el marco de seguridad, aqui podemos configurar la opcion para agregar en una base de datos nueva o tambien podemos remover un perfil de seguridad completo de una base datos, recordemos que el perfil no solamente contiene tablas, sino que existen vistas, procedimientos almacenados, funciones y demas elementos para una base de datos.

La siguiente pantalla contiene los datos de conexion al servidor SQL para accesar a la base de datos a modificar, tenemos que definir el nombre de la base de datos, el tipo de autenticacion y el nombre de la base de datos, damos click en Siguiente despues de completar los datos.
Despues se mostrara un resumen con los datos que se ingresaron anteriormente para confirmar las acciones seleccionadas previamente. Despues de dar click en siguiente se mostrara el mensaje que el perfil se agrego exitosamente.

Con estos faciles pasos tenemos lista nuestra base de datos, ahora podemos conectar y configurar este perfil dentro de nuestras aplicaciones, eso lo veremos en proximos post.
Nos vemos!!!

Fuente

http://www.josuepanameno.info/2010/01/05/membership-en-base-de-datos-sql/

SSRS 2008 R2 Error: The report execution …. has expired or cannot be found. (rsExecutionNotFound)

Few days back one of my colleague installed SSRS 2008 R2 and uploaded few RDLs. When he rendered one of the report, he was getting an error like

The report execution x67wqt55acfewcugepmvrkn has expired or cannot be found. (rsExecutionNotFound)

The said report worked fine in the BIDS but was failing when rendered from Report Manager. I tried to trace the report execution using SQL Profiler but profiler did not receive any call which indicated that the report failed before making call to SQL SERVER. Even googling did not help me :(

After a while, I enabled the remote error property of SSRS (Using SSMS , log into to Report Services. Right click on the instance and select Property -> Advanced) to true

After setting this property, when we rendered the report from Report Manager, we got a new error message saying that date format is invalid.

By default, whenever an error occur, SSRS provides a generic error message like “An error occurred during client rendering….”. But throwing an error like “execution expired” is misleading and cause lot of confusion.

If you happen to get a similar error, try enabling the remote error property and see what is the exact error. Once you are done with the debugging, reset it to False as displaying technical error message to the end-user does not look good. This is just my opinion.

Fuente:

http://skamie.wordpress.com/2010/10/28/ssrs-2008-r2-error-the-report-execution-has-expired-or-cannot-be-found-rsexecution_not_found/

Key Performance Indicators (KPIs) using Analysis Services

In business terminology, a KPI is a quantifiable measurement for gauging business success. In Analysis Services, a KPI is a collection of calculations that are associated with a measure group in a cube that are used to evaluate business success. Typically, these calculations are a combination of Multidimensional Expressions (MDX) expressions or calculated members. KPIs also have additional metadata that provides information about how client applications should display the results of the KPI’s calculations

Common KPI Terms:

  • Goal - An MDX numeric expression or a calculation that returns the target value of the KPI.
  • Value - An MDX numeric expression that returns the actual value of the KPI.
  • Status - An MDX expression that represents the state of the KPI at a specified point in time. The status MDX expression should return a normalized value between -1 and 1. Values equal to or less than -1 will be interpreted as “bad” or “low.” A value of zero (0) is interpreted as “acceptable” or “medium.” Values equal to or greater than 1 will be interpreted as “good” or “high.”
  • Trend – An MDX expression that evaluates the value of the KPI over time. The trend can be any time-based criterion that is useful in a specific business context. The trend MDX expression enables a business user to determine whether the KPI is improving over time or degrading over time.
  • Status indicator – A visual element that provides a quick indication of the status for a KPI. 
  • Trend indicator – A visual element that provides a quick indication of the trend for a KPI. 
  • Display folder – The folder in which the KPI will appear when a user is browsing the cube.
  • Parent KPI – A reference to an existing KPI that uses the value of the child KPI as part of computation of the parent KPI. Sometimes, a single KPI will be a computation that consists of the values for other KPIs.
  • Weight – An MDX numeric expression that assigns a relative importance to a KPI. If the KPI is assigned to a parent KPI, the weight is used to proportionally adjust the results of the child KPI value when calculating the value of the parent KPI.

Creating KPIs using Business Intelligence Development Studio (BIDS)

  1. Click on the KPIs tab
  2. We shall first add a KPI named ProfitPercentage to the cube:
    • Click on the New KPI button or right-click on the KPI Organizer window and select New KPI.
    • In the KPI Designer which opens up, type in the name of the KPI asProfitPercentage.
  3. Add the measure to the Sales Fact measure group by selecting from the Associated measure group drop down.
  4. Now let’s add an expression to evaluate the value property of the KPI:
    • Type the following expression in the Value Expression box. You could also drag the measures from the Metadata tab in the Calculation tools window.

      [Measures].[Profit]/[Measures].[Product Cost]

      OR

      ([Measures].[Sales Amount]/[Measures].[Product Cost]-1

      We have built the expression above using the logic that ProfitPercentage is calculated as the difference in Sales and Cost, divided by the Cost.

      Here [Measures].[Profit] is Calculated Member using below calculation:

      CREATE MEMBER CURRENTCUBE.[MEASURES].[Profit]

      AS SUM

      (

      [Date].[Calendar Year – Qtr – Month].currentmember,

      [Measures].[Sales Amount]-[Measures].[Product Cost]

      ),

      FORMAT_STRING = “#,#”,

      VISIBLE = 1;

  5. Now, let us set the goal of the KPI to a constant. Enter 0.25 in the Goal Expression box, which means the goal expects 25% more in sales than the cost.
  6. Next we are on to the all important status. Here we shall write an expression to compare the value with the goal: 
    • Before examining the actual expression let us take a look at a pseudo-expression:
      CASE
         WHEN value/goal >= 0.9 THEN 1
         WHEN value/goal < 0.8 THEN -1
         ELSE 0
      END
      Here, a ratio of .9 would be considered good in this instance. This means that if the value makes up at least 90% of the goal then it would be considered as successful, hence the value 1 to indicate it. If value/goalequals to less than 0.8 then the status will be considered as a failure (-1). And all those values do not fall into the above ranges will be considered neutral (0).
      Now, enter the following MDX expression into the Status expression box:
      CASE
         WHEN KPIValue(“ProfitPercentage”)/KPIGoal(“ProfitPercentage”)>=.9THEN 1
         WHEN KPIValue(“ProfitPercentage”)/KPIGoal(“ProfitPercentage”)< .8THEN -1
         ELSE 0
      END
      Being the realization of the previous “pseudo-expression”, the above expression replaces value with KPIValue(“ProfitPercentage”) and goal withKPIGoal(“ProfitPercentage”). The KPIValue function returns the value of the KPI’s value property, while the KPIGoal function returns the value of the KPI’s goal property. Both functions take the name of the KPI through a character string parameter.
  7. Select an appropriate image type from the Status indicator drop down to provide for the visuals of the KPI status.
  8. The next property to be configured is the trend. Once again, let us first look at a “pseudo-expression”:
    CASE
       WHEN IsEmpty(x) THEN 0
       WHEN v – vX >= 0.25 THEN 1
       WHEN v – vX < -0.1 THEN -1
       ELSE 0
    END
    Here, x is the current time period of the previous year. For instance if the current selected time period is 20-May-2008, x will be 20-May-2007. v is the value of the KPI, which by default would return the value for the current time period. vx is the value of the KPI for the same time period of the previous year. The expression first checks if x is empty, thereby resulting in 0 (or no change in trend). Then, it checks if the current period’s value is an increase of at least 25%, thereby indicating 1 or a positive trend. If there’s a decrease of more than 10% from last year it indicates a negative trend or -1. All other results will indicate no change in the trend (or 0).
    Enter the following MDX expression in the Trend expression textbox:
    CASE
    WHEN IsEmpty(ParallelPeriod([Date].[Calendar Year – Qtr – Month].[Calendar Year], 1,[Date].[Calendar Year – Qtr – Month].CurrentMember)) THEN 0
    WHEN KPIValue(“ProfitPercentage”)-(KPIValue(“ProfitPercentage”),ParallelPeriod([Date].[Calendar Year – Qtr – Month].[Calendar Year],1,[Date].[Calendar Year – Qtr – Month].CurrentMember)) >= 0.25
    THEN 1
    WHEN KPIValue(“ProfitPercentage”) – KPIValue(“ProfitPercentage”),
    ParallelPeriod([Date].[Calendar Year – Qtr – Month].[Calendar
    Year],1,[Date].[Calendar Year – Qtr – Month].CurrentMember)) < -0.1 THEN -1
    ELSE 0
    END
    In the MDX expression above, x is replaced by ParallelPeriod([Date].[Calendar Year – Qtr – Month].[Calendar Year], 1,[Date].[Calendar Year – Qtr – Month].CurrentMember) ParallelPeriod is a function which returns a member from a prior period in the same relative position as a specified member. The variable v is replaced by KPIValue(“ProfitPercentage”) and vx is replaced by (KPIValue(“ProfitPercentage”), ParallelPeriod([Date].[Calendar Year – Qtr – Month].[Calendar Year], 1,[Date].[Calendar Year – Qtr – Month].CurrentMember)).
  9. Select an appropriate image type from the Trend indicator drop down to provide for the visual of the KPI trend. Here’s a sample of what the KPI designer should look like:

  10. The KPIs is done! Next, process the cube. You will be able to view the KPIs using the built-in KPI Browser under the KPIs tab in BIDS. You could also use Office 2007 Excel.

Fuente: http://sql-bi-dev.blogspot.com/2010/05/key-performance-indicators-kpis-using.html

Configurar Analysis Services, MOSS y Kerberos


Una tarea que nos puede hacer falta, especialmente en Proyectos de Business Intelligence y Data Warehousing con MOSS y Analysis Services, es la configuración de Autenticación y Delegación de Kerberos, de tal modo que el servidor MOSS sea capaz de obtener las credenciales de los usuarios, y realizar las peticiones a Analysis Services con las credenciales de los mismos (Double Hop), algo que podemos necesitar en situaciones diversas, como para hacer funcionar Indicadores KPI de MOSS desde KPIs definidas en Analysis Services. Así, evitaremos el error The connection either timed out or was lost y el error Autentication failed.

Descripción del Escenario del Problema

Partimos de un escenario formado por un dominio de Directorio Activo con Controladores de Dominio Windows Server 2003 R2. Sobre este dominio, tenemos una máquina corriendo MOSS 2007 SP2 (denominada VMOSS01Mob) y otra máquina corriendo Analysis Services 2005 (denominada VSQL01Mob), con una única instancia de Analysis Services corriendo como instancia por defecto.

Directorio Activo se encuentra configurado a un nivel funcional de dominio de Windows Server 2003, y a un nivel funcional del bosque de Windows 2000, como se puede apreciar a continuación.

El Nivel Funcional de Directorio Activo, puede impactar en como habilitar Kerberos en las cuentas de equipo y de usuario.

La máquina que ejecuta MOSS 2007, tiene configurado los Application Pool de MOSS para ejecutarse utilizando una cuenta de Directorio Activo (en particular, la cuenta MOSSSvc), actuando dicho usuario como una cuenta de servicio. Esta misma cuenta (MOSSSvc), ha sido utilizada para el resto de servicios de MOSS.

En este escenario, intentamos crear un Indicador KPI utilizando datos de Analysis Services 2005, sin embargo, al intentar crear el Indicador KPI, justo después de especificar el fichero de conexión de datos (ODC – Office Data Connection), se muestra el error The connection either timed out or was lost, como se muestra en la siguiente pantalla capturada.

El error The connection either timed out or was lost

También, puede ocurrir que se muestre el error Authentication failed, como se muestra a continuación, dependiendo de si utilizamos el nombre corto del servidor de Analysis Services 2005, o si por el contrario utilizamos el nombre largo FQDN (al menos es lo que he observado durante las pruebas, quizás este error se produzca también en otros escenarios).

El error Authentication failed

En ambos casos, el problema es el mismo: MOSS no es capaz de entregarle a Analysis Services las credenciales del usuario, realizando en su lugar un acceso anónimo, como se muestra en la siguiente captura de traza de Analysis Services.

El problema: Anonymous Logon en Analysis Services

Anteriormente, ya me había pegado con configuraciones similares de Kerberos, como por ejemplo al configurar la autenticación integrada y delegación de Kerberos en IIS6, configurar laautenticación de Kerberos en SQL Server (error Cannot Generate SSPI context), alconfigurar la autenticación de Kerberos en el CSS de ISA Server 2006 (ISA Server cannot connect to the Configuration Storage Server), al configurar MOSS 2007 para invocar un Web Service desde un Formulario InfoPath en NLB, y en alguna otra ocasión más.

Esto hacía que tuviese cierta idea de cómo poder solucionar este problema de conexión a Analysis Server 2005 desde MOSS 2007 (el problema del doble salto, o Double Hop), pero no, me costó un Web !!

Sin embargo, al final conseguí hacer funcionar el invento, y conseguí que un usuario desde su PC, pudiese autenticarse ante MOSS con sus credenciales, y acceder a un servidor remoto de Analysis Services a través de MOSS, utilizando las credenciales del usuario (ni acceso anónimo, ni el usuario del Application Pool). Para ello, realicé principalmente dos tareas:

  • Configurar la autenticación y delegación de Kerberos en MOSS.
  • Configurar la autenticación y delegación de Kerberos en Analysis Services.
  • Configurar el fichero de conexión a Analysis Services (ODC – Office Data Connection) utilizando el nombre completo FQDN.

A continuación, entramos en detalles.

Configuración de Autenticación y Delegación de Kerberos en MOSS

Para la configuración de Autenticación y Delegación de Kerberos en MOSS, tuve que realizar varios pasos de configuración. Al final, debo admitir que me quedó un poco la duda, de si habría funcionado también si no hubiese realizado todos los pasos, pero entre pruebas y reinicios se me fue el tiempo sin conseguir determinarlo, por lo que a continuación se detallan todas las configuraciones que tuve que realizar para conseguir hacer funcionar la Autenticación y Delegación de Kerberos en MOSS.

Paso 1) Configurar SPN (Service Principle Names) de Cuentas de Equipo

Esta configuración no suele ser habitual, ya que se utiliza sólo en aquellos casos en que el servicio que se desea configurar (o el Application Pool) no utiliza una cuenta de usuario, por ejemplo, al utilizar la cuenta Network Service.

En nuestro caso, no aplica, ya que utilizamos en todos los casos una cuenta de usuario. Si fuese al contrario, deberían ejecutarse comandos setspn similares a los que se describen en el paso 2, con la diferencia de que en vez de especificar una cuenta de usuario, se debería de especificar la cuenta de equipo del servidor MOSS.

Paso 2) Configurar SPN (Service Principle Names) de Cuenta de Servicio para HTTP

Antes de ejecutar esta configuración, es necesario determinar los nombres que se desean utilizar para acceder a MOSS (es decir, las URLs) y las cuentas de servicio utilizadas (incluyendo las cuentas utilizadas en los Application Pool de IIS).

En nuestro escenario, utilizamos el nombre NetBIOS del servidor (VMOSS01Mob) para acceder a MOSS (un caso extraño, quiero decir, en producción es típico utilizar nombres DNS y entornos NLB, pero nuestro caso de ejemplo se basa en un pequeño entorno de laboratorio). Adicionalmente, utilizamos una única cuenta de usuario (la cuenta MOSSSvc) para ejecutar todos los servicios de MOSS y también para los Application Pool (tampoco recomendable para entornos productivos, pero en entornos de laboratorio, simplifica bastante la configuración y mantenimiento).

Bajo estas premisas, tan sólo es necesario ejecutar un par de comandos setspn.exe, uno para el nombre largo (FQDN) y otro para el nombre corto, como se muestra en la siguiente pantalla capturada.

Configurar los SPN (Service Principal Name) de HTTP para MOSS, con el comando setspn

Paso 3) Habilitar la Delegación (Trust for Delegation) en las Cuentas de Equipo

La ejecución de este paso, consiste en habilitar la Delegación (Trust computer for Delegation) en las cuentas de equipo de los Frontales de MOSS. Al menos, en mi caso lo he realizado sólo sobre las cuentas de los Frontales de MOSS, en vez de sobre todos los servidores MOSS (ej: Index Server, Excel Services, etc.), y en las pruebas que he realizado el resultado ha sido satisfactorio (igual en un tiempo, resulta que me hacía falta configurarlo sobre el resto de cuentas de equipo, no lo descarto ;-).

Para realizar esta configuración, desde la herramienta administrativa ADUC (Active Directory Users and Computers), mostrar las propiedades de la cuenta de equipo que se desea configurar. Seguidamente, seleccionar la pestaña Delegation, y sobre la misma, seleccionar la opción Trust this computer for delegation to any service (Kerberos Orly), como se aprecia en la siguiente pantalla capturada.

Configurar la opción Trust this computer for delegation.

Téngase en cuenta, que la configuración de esta opción, varía en función del nivel funcional de Directorio Activo. Podría ocurrir que no apareciese la pestaña Delegation, en cuyo caso, se debería activar la opción Trust computer for delegation, que en este caso, se mostrará en la pestaña General. Esto puede generar algo de confusión, pero francamente, no tiene mayor misterio.

Paso 4) Habilitar la Delegación (Trust for Delegation) en las Cuentas de Servicio

Este paso es similar al paso anterior, con la diferencia de que debe aplicarse sobre las cuentas de usuario utilizadas en los servicios y Application Pool de MOSS, en lugar de sobre cuentas de equipo.

En consecuencia, para realizar esta configuración, desde la herramienta administrativa ADUC (Active Directory Users and Computers), mostrar las propiedades de la cuenta de usuario que se desea configurar, seleccionar la pestaña Delegation, y sobre la misma, seleccionar la opción Trust this user for delegation to any service (Kerberos Orly), como se aprecia en la siguiente pantalla capturada.

Configurar la opción Trust this user for delegation.

Si no se muestra la pestaña Delegation sobre la cuenta de usuario, podría ser porque no se configuró previamente el SPN. Otro motivo, el nivel funcional de Directorio Activo (comprobar si aparece la opción Account is trusted for delegation en la pestaña Account).

Paso 5) Modificar la MetaBase de IIS

Esta configuración se realiza ejecutando en cada Frontal de MOSS, un comando para cada Sitio Web de IIS que se desee configurar. En este caso de ejemplo, tenemos un único Frontal de MOSS (VMOSS01Mob) y dos Sitios Web de IIS. Es necesario identificar previamente el ID de cada Sitio Web, algo que podemos obtener desde la herramienta administrativa IIS Manager, como se muestra en la siguiente pantalla capturada.

Como averiguar el Site ID de los Sitios Web de IIS

Los comandos a utilizar, se basan en el script adsutil.vbs, ubicado por defecto en c:\Inetpub\AdminScripts. A continuación se muestra una pantalla capturada con los comandos ejecutados (recordar realizarlo en cada Frontal MOSS).

Configurar Metabase IIS

De forma previa, para quién lo desee, es posible realizar un Backup de la Metabase de IIS6

Paso 6) Habilitar Autenticación Kerberos en las Aplicaciones Web de MOSS

Esta configuración debe realizarse para la Aplicación Web que deseamos configurar. En mi caso, lo configuré también en la Aplicación Web correspondiente a la Administración de los Servicios Compartidos.

Los pasos a seguir son los siguientes. En la Consola de Administración Central de MOSS, seleccionar la pestaña Application Management, y seguidamente seleccionar la opciónAuthentication Providers de la sección Application Security. En la pantalla Authentication Providers, seleccionar la aplicación que se desea configurar en el desplegable Web Application. Seguidamente, click sobre la zona que se desea configurar (habitualmente, se tratará de la zona Default, que será la única zona existente).

Configurar la Autenticación de la Aplicación MOSS

En la pantalla Edit Authentication, en el apartado IIS Authentication Settings, seleccionar la opción Negotiate (Kerberos), como se muestra en la siguiente pantalla captura.

Configurar la Autenticación de la Aplicación MOSS

Guardar los cambios, y repetir el proceso para el resto de Aplicaciones Web de MOSS que se deseen configurar.

Paso 7) Habilitar Kerberos en los Servicios Compartidos (SSP) de MOSS

Consiste en ejecutar un comando STSADM desde uno de los frontales de MOSS, en particular: STSADM.exe -o SetSharedWebServiceAuthn -negotiate

A continuación se muestra una pantalla capturada.

Habilitar Kerberos en los Servicios Compartidos (SSP)

Paso 8) Habilitar la Delegación en Excel Services

Similar al paso anterior, consiste en ejecutar un par de comandos STSADM desde uno de los frontales de MOSS. Téngase en cuenta, que en el primero de los comandos a ejecutar es necesario especificar el nombre de los Servicios Compartidos sobre los que se desea habilitar Kerberos.

El primer comando a ejecutar es: stsadm.exe -o set-ecssecurity -ssp SSP_NAME -accessmodel delegation

El segundo comando a ejecutar es: stsadm.exe -o execadmsvcjobs

A continuación se muestra una pantalla capturada a modo de ejemplo.

Habilitar la Delegación en Excel Services

Paso 9) Habilitar la Delegación en los Servidores de MOSS (Component Services)

Esta configuración debe realizarse en cada uno de los Frontales de MOSS. Es decir, si tenemos una Granja MOSS con dos Frontales formando un Cluster NLB, será necesario realizar esta configuración en cada uno de los dos Frontales.

La tarea a realizar es muy sencilla. Abrir la herramienta administrativa Component Services, y seleccionar la opción Properties de My Computer, como se muestra en la siguiente pantalla capturada.

Propiedades de My Computer en Component Services

En la pestaña Default Properties, seleccionar el valor Delegate para la opción Default Impersonation Level, como se muestra en la siguiente pantalla capturada.

Configurar Default Impersonation Level en Component Services

Aplicamos los cambios, y hemos terminado (excepto que tengamos que repetirlo en algún otro Frontal de MOSS).

Paso 10) Reiniciar los Frontales de MOSS

Lo de siempre. Si tenemos varios frontales, los reiniciamos de forma ordenada. Sin mucho misterio.

Configurar la autenticación y delegación de Kerberos en Analysis Services

Paso 1) Configurar SPN (Service Principle Names) de Cuentas de Equipo

Esta configuración no suele ser habitual, ya que se utiliza sólo en aquellos casos en que el servicio de Analysis Services no utiliza una cuenta de usuario, por ejemplo, al utilizar la cuenta Network Service.

En nuestro caso, no aplica, ya que utilizamos una cuenta de usuario, en particular la cuenta de dominio SQLSvc. Si fuese al contrario, deberían ejecutarse comandos setspn similares a los que se describen en el paso 2, con la diferencia de que en vez de especificar una cuenta de usuario, se debería de especificar la cuenta de equipo que ejecuta Analysis Services.

Paso 2) Configurar SPN (Service Principle Names) de Cuenta de Servicio para Analysis Services

Tan sólo es necesario ejecutar un par de comandos setspn.exe, uno para el nombre largo (FQDN) y otro para el nombre corto, como se muestra en la siguiente pantalla capturada (damos por hecho, que estos dos nombres, son los únicos que se utilizarán para acceder a Analysis Services).

Configurar el SPN (Service Principal Name) MSOLAPSvc.3 para Analysis Services con setspn

Paso 3) Habilitar la Delegación (Trust for Delegation) en las Cuentas de Equipo

Desde la herramienta administrativa ADUC (Active Directory Users and Computers), mostrar las propiedades de la cuenta de equipo que se desea configurar (en nuestro caso, VSQL01Mob). Seguidamente, seleccionar la pestaña Delegation, y sobre la misma, seleccionar la opción Trust this computer for delegation to any service (Kerberos Orly). Este paso es similar al que se comentó anteriormente para el caso de las cuentas de equipo de MOSS.

Cómo ya se dijo, debe tenerse en cuenta, que la configuración de esta opción, varía en función del nivel funcional de Directorio Activo. Podría ocurrir que no apareciese la pestaña Delegation, en cuyo caso, se debería activar la opción Trust computer for delegation, que en este caso, se mostrará en la pestaña General. Esto puede generar algo de confusión, pero francamente, no tiene mayor misterio.

Paso 4) Habilitar la Delegación (Trust for Delegation) en las Cuentas de Servicio

Este paso es similar al paso anterior, y sobre todo, similar al paso que se comentó anteriormente para el caso de las cuentas de usuario de MOSS, aunque ahora se limita a la cuenta de usuario utilizada para iniciar el servicio de Analysis Services.

En consecuencia, para realizar esta configuración, desde la herramienta administrativa ADUC (Active Directory Users and Computers), mostrar las propiedades de la cuenta de usuario que se desea configurar (en nuestro caso, la cuenta SQLSvc), seleccionar la pestaña Delegation, y sobre la misma, seleccionar la opción Trust this user for delegation to any service (Kerberos Orly).

Si no se muestra la pestaña Delegation sobre la cuenta de usuario, podría ser porque no se configuró previamente el SPN. Otro motivo, el nivel funcional de Directorio Activo (comprobar si aparece la opción Account is trusted for delegation en la pestaña Account).

Paso 5) Reiniciar el servidor de Analysis Services

Sin mayor misterio.

Configurar el fichero de conexión (ODC – Office Data Connection) a Analysis Services

Partimos de un equipo de escritorio (en nuestro caso, un Windows XP) con Office 2007 instalado. Desde el Explorador de Windows, nos ubicamos en My Documents, y hacemos doble-click sobre la opción Connect to New Data Source.odc, como se muestra en la siguiente pantalla capturada.

Crear nuevo fichero de conexión ODC (Office Data Connection)

Esto producirá que se inicie Microsoft Excel. Es probable que se muestre un mensaje de seguridad, como se muestra a continuación. En este caso, click Enable para continuar.

Mensaje de Seguridad de Excel (click Enable)

Se inicia el asistente para la creación de una nueva conexión de datos. Seleccionamos Microsoft SQL Server Analysis Services, y click en Next para continuar.

Seleccionar Microsoft SQL Server Analysis Services en el Data Connection Wizard

Especificamos el nombre de la instancia a la que nos deseamos conectar. En nuestro caso, se trata de una instancia por defecto. Es recomendable utilizar el nombre completo de la máquina (FQDN). Seleccionamos la autenticación de Windows (Use Windows Authentication). Click Next para continuar.

Especificar el nombre del servidor de Analysis Services en el diálogo Connect to Database Server del Data Connection Wizard

Seleccionamos el Cubo al que nos deseamos conectar. Click Next para continuar.

Seleccionar el Cubo de Analysis Services al que nos deseamos conectar

Especificamos el nombre del fichero ODC que deseamos crear, la descripción y el nombre amigable que deseemos. Click Finish para continuar.

Especificar el nombre del fichero de conexión ODC y otras propiedades.

Llegados a este punto, se habrá creado el fichero ODC (Office Data Connection) correspondiente a nuestra conexión a Analysis Services.

El fichero ODC (Office Data Connection) ya está creado

Ahora sólo queda subir el fichero ODC a la correspondiente librería de MOSS, bien manualmente (haciendo un upload, como se hace con cualquier otro tipo de documentos), o bien desde Excel. En este último caso, seleccionaremos la opción Connections de la pestaña Data.

Botón Connections de Excel 2007

En el diálogo Workbook Connections, seleccionamos la conexión deseada, y click Properties.

Diálogo Workbook connections de Excel 2007

En el diálogo Connection Properties, seleccionaremos la pestaña Definition, y click en el botónExport Connection File.

Propiedades de la conexión en Excel

En el diálogo File Save, escribimos en la caja File Name la URL sobre la que deseamos almacenar el fichero de conexión ODC, y click Save.

Exportar el fichero de conexión desde Excel 2007

Si se muestra el diálogo Web File Properties, ajustamos el valor de los campos mostrados, y click OK para continuar.

Espeficar los datos que MOSS nos solicite al guardar el fichero

Y ya está. Por fin, hemos creado nuestro fichero de conexión ODC a Analysis Services, y lo hemos subido a MOSS, para poder empezar a utilizarlo.

Comprobar el funcionamiento de la nueva configuración realizada

Finalmente, no hay nada como comprobar que todo funciona correctamente. En nuestro caso, es suficiente con intentar crear en MOSS un nuevo Indicador KPI desde Analysis Services, y al especificar el fichero de conexión apropiado (ODC – Office Data Connection file), comprobar que se consigue acceder a Analysis Services y se muestran las KPIs disponibles. A continuación, se muestra una pantalla capturada.

Comprobar que funciona correctamente la conexión a Analysis Servides desde MOSS 2007. Kerberos funciona.

Uff. Qué alivio.

Conclusiones finales y enlaces de interés

Tras ejecutar la configuración descrita en este artículo, se pueden sacar algunas conclusiones.

Por ejemplo, para conseguir poner en funcionamiento la Autenticación y Delegación de Kerberos ha sido necesario ejecutar algunos comandos y configuraciones propias de MOSS, a través de STSADM y de la Consola de Administración Central. Estas son configuraciones específicas de MOSS 2007.

Del mismo modo, también ha sido necesario realizar configuraciones comunes, que suelen realizarse al configurar la Autenticación y Delegación de Kerberos en otros entornos distintos a MOSS. Véase el caso de la configuración de los SPN (Service Principal Name), y de habilitar la Delegación de Kerberos (Trust for Delegation) en cuentas de equipo y de servicio.

Una configuración que me ha llamado la atención, es la correspondiente al Paso 9, Habilitar la Delegación en los Servidores de MOSS (Component Services). El motivo, es que nunca anteriormente había tenido que tocar esta propiedad, por lo que no descarto que en alguna otra configuración de Kerberos (ajena a MOSS) que pueda encontrarme en un futuro, me resulte necesario.

Por último, aprovecho para colgar algunos enlaces de interés, de los cuales quiero destacar los correspondientes al sitio A Marvellous Point, de Martin Kearn (buenísimo).

Martin Kearn, ha dejado de dar continuidad al sitio A Marvellous Point, y ahora escribe en el Blog de la MDSN UK SharePoint Team, para quien quiera darle un vistazo.

Actualizado 26/02/2010. Aprovecho para incluir un par de enlaces de interés:

Poco más. Como siempre, espero que os resulte de utilidad.

Fuente: http://www.guillesql.es/Articulos/Configurar_Analysis_Services_MOSS_Kerberos.aspx

Adding a KPI to an SQL Server Analysis Services Cube

Robert Sheldon

 

02 March 2010

by Robert Sheldon

  Key Performance Indicators, which vary according to the application, are widely used as a measure of the performance of parts of an organisation.  Analysis Services makes this KPI data easily available to your cube. All you have to do is to follow Rob Sheldon’s simple instructions.

In SQL Server Analysis Services (SSAS), you can add key performance indicators (KPIs) to your database cube in order to evaluate business performance, as reflected in the cube data. A KPI is associated with a measure group and is made up of a set of calculations. Typically, the calculations are a combination of calculated members and Multidimensional Expressions (MDX) statements.

A KPI consists of four main properties that are important to evaluating business performance:

  • Value Expression. An MDX expression that returns the KPI’s actual value.
  • Goal Expression. An MDX expression that returns the KPI’s target value.
  • Status Expression. An MDX expression that returns the KPI’s state at a specific point in time.
  • Trend Expression. An MDX expression that returns the KPI’s value over time.

In addition to these components, there are other properties that you can configure, but these four components make up the heart of your KPI.

As you work through the process of creating a KPI, you’ll get a better sense of what each of these properties means and how they relate to one another. In this article, I show you how to add a KPI to a cube in an Analysis Services 2008 database. The example I demonstrate is based on the solution from an earlier article I wrote, Five Basic Steps for Implementing an Analysis Services Database”. For that solution, I created the following database components:

  1. A data source that points to the AdventureWorksDW2008 database on a local instance of SQL Server 2008.
  2. A data source view that includes the tables shown in Figure 1.
  3. Database dimensions based on each dimension table in the data source view.
  4. A cube based on the database dimensions as well as on the two fact tables in the data source view.

Figure 1: Default diagram from the Sales data source view

Be sure to refer to the article mentioned above for more details about the solution. In addition, if you don’t know how to implement a basic cube in Analysis Services, read that article first and refer to SQL Server Books Online for additional information. Once you know how to implement an Analysis Services database, you’re ready to add KPIs to your solution.

Creating a Calculated Member

When you create a KPI, you base one or more of your expressions on members in a measure group or dimension. However, in some cases, the existing members don’t support the type of KPI you want to create, at least not in their current form. If that’s the case, you can create a calculated member, which is similar to creating a computed column in a SQL Server database.

To create a calculated member, open your Analysis Services project in SQL Server Business Intelligence Development Studio (BIDS), and then open the cube in which you want to create your KPI. (For this article, I’m adding the KPI to the Sales cube.) In Cube Designer, click the Calculations tab, and then click the New Calculated Member button. A new calculation form opens in the right pane, as shown in Figure 2.

Figure 2: Form for a new calculated member

You should first name the calculated member by typing the name in the Name text box. For this example, I use the following name:

[Profit Margin]

Notice that I enclose the name in brackets. If your name includes a space, as mine does, you must use the brackets.

Next, you should verify the setting for the Parent hierarchy property. By default, the property is set to Measures. Because we’re creating a calculated measure, this is the hierarchy we want to use.

After you select the hierarchy, you must define an MDX expression that determines the value for your calculated measure. In this case, I want to create a measure that provides the profit margin for each sale. The following expression calculates the margin by dividing the net profit by the sales amount:

([Measures].[Sales Amount] –

  ([Measures].[Total Product Cost] + [Measures].[Tax Amt] +

    [Measures].[Freight])) /

  [Measures].[Sales Amount]

Notice that I calculate the net profit by subtracting the total product cost, tax amount, and freight from the sales amount. (You might decide on a different formula for you net profit.) I then divide that total by the sales amount.

Note: When opening the Calculations tab, you probably noticed the list of measure groups and dimensions in the lower-left pane. You can drag a member from any of these hierarchies to your expression text box to add the fully qualified name of that member to the expression. Also note, the MDX expression shown above is a relatively simple one. You can, of course, create far more complex expressions. However, an in-depth discussion about MDX is beyond the scope of this article. For more information about MDX, see SQL Server Books Online.

After you create your expression for the calculated member, you can set additional properties. For this example, I set the Format string property to “Percent” and then select Fact Internet Sales in the Associated Measure Groupproperty because I want to associate the calculated member with that measure group. Figure 3 shows what the form should look like after you’ve configured all the properties.

Figure 3: Creating the Profit Margin calculated member

That’s all there is to creating a calculated member. Be sure to save the project and then process the cube so the measure is available to your KPI. After you process your cube, you can verify that the measure has been successfully added by browsing the cube data and viewing the Profit Margin measure.

Creating a Key Performance Indicator

Now that your calculated measure is set up, you’re ready to create your KPI. In Cube Designer, click the KPIs tab, and then click the New KPI button. A new KPI form opens in the right pane, as shown in Figure 4.

Figure 4: Form for a new key performance indicator (KPI)

To configure the KPI, first provide a name. (I use Gross Profit for our example KPI.) Then select a value for theAssociated measure group property. (I use Fact Internet Sales.) You’re now ready to add the necessary expressions to your KPI.

Adding the Value Expression

Your value expression should reflect the basic measure by which your KPI is gauged. The value returned by the expression serves as the foundation for your KPI. It’s the only one of the four expressions that’s required. For our example KPI, I use the following expression:

[Measures].[Profit Margin]

As you can see, I’m simply calling the Profit Margin calculated measure. Notice that, as you saw when creating your calculated member, I’m using the fully qualified member name. Also, as with the calculated member, you can drag the name from the hierarchies listed in the lower-left pane to the expression text box.

Adding the Goal Expression

As the name suggestions, the goal expression indicates what your organization is trying to achieve. For example, your profit margin might currently be at 25%, but your goal might be to reach 30%. And you can also set your goal to match more specific criteria. For instance, in the example KPI, I set the goal to vary depending on the specific sales territory group, as shown in the follow MDX expression:

Case

  When [Territory].[Sales Territory Group]

    Is [Territory].[Sales Territory Group].[Europe]

      Then .34

  When [Territory].[Sales Territory Group]

    Is [Territory].[Sales Territory Group].[North America]

      Then .36

  When [Territory].[Sales Territory Group]

    Is [Territory].[Sales Territory Group].[Pacific]

      Then .32

  Else .30

End

Notice that I use a Case statement to define my criteria. The Case statement includes three When expressions, one for each territory group. Each When expression identifies the member on which to base the expression and the member value, following the Is keyword. This is followed by a Then expression which defines what action to take. For example, the first When expression states that if the sales territory group is Europe, then the profit margin goal is 34%. However, the goal for the North American group is 36%, and the goal for the Pacific group is 32%. The Else clause then specifies that all other groups have a 30% goal.

Adding the Status Expression

Your status expression determines the current status of the KPI by comparing the goal expression to the value expression. For example, if your KPI value returns a 20% profit margin, but your goal is 30%, the status will indicate that you are below your goal. However, to arrive at the status, your status expression must return a value in the range of -1 to +1, where -1 indicates bad performance and +1 indicates good performance. For our example KPI, I use the following MDX expression to determine the status of performance:

Case

  When KpiValue(“Gross Profit”) / KpiGoal(“Gross Profit”) > .90

    Then 1

  When KpiValue(“Gross Profit”) / KpiGoal(“Gross Profit”) <= .90

    And

       KpiValue(“Gross Profit”) / KpiGoal(“Gross Profit”) > .80

    Then 0

  Else -1

End

Once again, I create a Case statement. In the first When expression, I divide the KPI value by the KPI goal and compare it to .90. If the value is greater than 90% of the goal, I assign the status value a +1. However, in the second When expression, I specify that if the KPI value is less than or equal to 90% and is greater than 80%, the status should be 0. Otherwise, the KPI status should be -1.

Notice that I use the KpiValue function to retrieve the KPI’s value and I use the KpiGoal function to retrieve the KPI’s goal. These functions make it easy to retrieve the value and goal within your MDX expressions.

One other thing I want to point out is the status indicator. For this example, I use the traffic light. That means, when the status value is 1, the traffic light will be green. If the status value is 0, the light will be yellow. Otherwise, the light will be red. For example, if my KPI goal is 30% and my value is 20%, the traffic light will be red. That’s because a 20% profit margin represents only about 67% my goal, which would evaluate to a -1 in the status expression. However, a value of 25% would evaluate to about 83%, which would mean a yellow light, and a value of 28% would evaluate to about 93%, which would result in a green light.

After you add the status expression and set up the status indicator, your KPI form should look similar to the one shown in Figure 5. (You have to scroll down to see the trend expression, which we’ll work on next.)

Figure 5: Creating the Gross Profit KPI

Adding the Trend Expression

The trend expression lets you compare how your KPI is performing over time. Although the status value can tell you how well you’re achieving you goal at a fixed point in time, it doesn’t tell you how those achievements compare to another point in time. For example, your organization might have reached 92% of its goal this year, but reached 95% the year before. Although the performance looks good when just viewing this year’s total, that performance measure doesn’t reveal that this is actually a downward trend. And this is what the trend expression allows you to find out.

For the Gross Profit example KPI, I use a trend expression that compares this year’s totals to the previous year, as shown in the following Case statement:

Case

  When IsEmpty(ParallelPeriod([Order Date].[Calendar Year].[Calendar Year],

      1, [Order Date].[Calendar Year]))

    Then 0

  When [Measures].[Profit Margin] >

    (ParallelPeriod([Order Date].[Calendar Year].[Calendar Year],

      1, [Order Date].[Calendar Year]), [Measures].[Profit Margin])

    Then 1

  When [Measures].[Profit Margin] =

    (ParallelPeriod([Order Date].[Calendar Year].[Calendar Year],

      1, [Order Date].[Calendar Year]), [Measures].[Profit Margin])

    Then 0

  Else -1

End

Notice that the first When expression includes the IsEmpty function and the ParallelPeriod function. The IsEmpty returns a value of true if the evaluated expression an empty cell value. Otherwise the function returns false. I use this function in the first When expression to determine whether the year preceding the current one exists in the cube data. If not, then the trend expression returns a 0, which indicates a neutral trend. (A trend expression, like the status expression, should return a value from -1 to +1.)

The ParallelPeriod function returns a member value from a previous period that’s in the same relative position as the current member. Because I specify Calendar Year, the previous member will also be based on Calendar Year. The function includes three arguments. The first argument returns the level of the hierarchy that you want to target. In this case, it’s the Calendar Year level of the Calendar Year hierarchy, which is part of the Order Date hierarchy. The second argument, 1, indicates the number of units that you want to go back. Because Calendar Year is the current position, the function will go back one year. The final argument specifies that I am basing the calculation on Calendar year. As a result, the first When expression in the Case statement above will determine if the previous calendar year exists, and if it doesn’t the trend will be set to 0.

The second When expression determines whether the profit margin for the current year is greater than the profit margin for the previous year. Notice that the third argument in the ParallelPeriod function now specifies Profit Margin, rather than Calendar Year. If the profit margin is greater in the current year, the trend value is set to +1. However, the third When expression determines whether the profit margin for the current year equals that of the previous year. If so, the trend value is set to 0. Otherwise the trend value is set to -1.

Notice also that you can set the trend indicator. You have three different types of arrows from which to choose. Or you can pick the smiley face!

Completing the Key Performance Indicator

A KPI supports properties in addition to the ones I’ve described so far. Although configuring those properties are beyond the scope of the article, you should have some idea how they work. If you click the Additional Propertiesdown arrow at the bottom of the KPI form, you can view and configure the following properties:

  • Display folder. The folder in which the KPI can be found when browsing the cube.
  • Parent KPI.> A KPI that acts as the parent of the current KPI so the parent KPI can use the value of the child KPI.
  • Current time member. An MDX expression that returns a member that identifies the KPI’s temporal context.
  • Weight. An MDX expression that assigns a weight to a child KPI to indicate its relative importance in the parent KPI.
  • Description. A description of the KPI.

After you’ve completed your KPI, you can then view its results, based on the current values in the cube data. To view the KPI, click the Browser View button on the KPIs tab. The browser view includes two panes. The top pane lets you define filters that determine what data the KPI uses, and the bottom pane displays the KPI. By default (before any filters are defined), the KPI calculates the KPI value for the entire data set. However, you can create filters that let you define the data for which you want to run the KPI.

For example, Figure 6 shows the filter I created for the Gross Profit KPI. I first selected Pacific as the sales territory group, and then selected 2004 as the calendar year. As you can see in the figure, the KPI value is 29.72%. Because the goal for the Pacific group is only 32%, the Pacific group reached nearly 93% of its goal for 2004, which means the status indicator is green. However, notice that the trend points downward. That’s because they Pacific group did better in 2003 (30.58%).

Figure 6: Browsing the Gross Profit KPI

As this example demonstrates, a KPI can be an effective way to get a quick read on your organization’s performance. Of course, how the KPI is displayed and what sort of status indicators you use will depend on the implementation of the client applications. But Analysis Services provides the features you need to make the KPI data easily available to your cube. And once you have an understanding of the basic components that make up a KPI, you can start implementing KPIs that support the various business needs of your organization.

Fuente:

http://www.simple-talk.com/sql/reporting-services/adding-a-kpi-to-an-sql-server-analysis-services-cube/

Puertos y protocolos servidor

La tabla siguiente resume la informaciónpor el número de puerto en vez de por el nombre de servicio.

Puerto:
Protocolo
Protocolo de aplicación:
Nombre del servicio del sistema:

No disponible
GRE
GRE (protocolo IP 47)
Servicio de enrutamiento y acceso remoto

No disponible
ESP
IPsec ESP (protocolo IP 50)
Servicio de enrutamiento y acceso remoto

No disponible
AH
IPsec AH (protocolo IP 51)
Servicio de enrutamiento y acceso remoto

7
TCP
Echo
Servicios simples de TCP/IP

7
UDP
Echo
Servicios simples de TCP/IP

9
TCP
Discard
Servicios simples de TCP/IP

9
UDP
Discard
Servicios simples de TCP/IP

13
TCP
Daytime
Servicios simples de TCP/IP

13
UDP
Daytime
Servicios simples de TCP/IP

17
TCP
Quotd
Servicios simples de TCP/IP

17
UDP
Quotd
Servicios simples de TCP/IP

19
TCP
Chargen
Servicios simples de TCP/IP

19
UDP
Chargen
Servicios simples de TCP/IP

20
TCP
Datos predeterminados de FTP
Servicio de publicación FTP

21
TCP
Control FTP
Servicio de publicación FTP

21
TCP
Control FTP
Servicio de puerta de enlace de capa de aplicación

23
TCP
Telnet
Telnet

25
TCP
SMTP
Protocolo simple de transferencia de correo

25
UDP
SMTP
Protocolo simple de transferencia de correo

25
TCP
SMTP
Exchange Server

25
UDP
SMTP
Exchange Server

42
TCP
Replicación de WINS
Servicio de nombres Internet de Windows

42
UDP
Replicación de WINS
Servicio de nombres Internet de Windows

53
TCP
DNS
Servidor DNS

53
UDP
DNS
Servidor DNS

53
TCP
DNS
Conexión de seguridad a Internet/Conexión compartida a Internet

53
UDP
DNS
Conexión de seguridad a Internet/Conexión compartida a Internet

67
UDP
Servidor DHCP
Servidor DHCP

67
UDP
Servidor DHCP
Conexión de seguridad a Internet/Conexión compartida a Internet

69
UDP
TFTP
Servicio Demonio FTP trivial

80
TCP
\HTTP
Servicios de Windows Media

80
TCP
\HTTP
Servicio de publicación World Wide Web

80
TCP
\HTTP
SharePoint Portal Server

88
TCP
Kerberos
Centro de distribución de claves Kerberos

88
UDP
Kerberos
Centro de distribución de claves Kerberos

102
TCP
X.400
Pilas MTA de Microsoft Exchange

110
TCP
POP3
Servicio Pop3 de Microsoft

110
TCP
POP3
Exchange Server

119
TCP
NNTP
Protocolo de transferencia de noticias a través de la red

123
UDP
NTP
Horario de Windows

123
UDP
SNTP
Horario de Windows

135
TCP
RPC
Servicios de Message Queue Server

135
TCP
RPC
Llamada a procedimiento remoto

135
TCP
RPC
Exchange Server

135
TCP
RPC
Servicios de Certificate Server

135
TCP
RPC
Servicio de Cluster Server

135
TCP
RPC
Sistema de archivos distribuido

135
TCP
RPC
Seguimiento de vínculos distribuidos

135
TCP
RPC
Coordinador de transacciones distribuidas

135
TCP
RPC
Registro de sucesos

135
TCP
RPC
Servicio de fax

135
TCP
RPC
Replicación de archivos

135
TCP
RPC
Directiva de grupo

135
TCP
RPC
Autoridad de seguridad local

135
TCP
RPC
Notificación de almacenamiento remoto

135
TCP
RPC
Servidor de almacenamiento remoto

135
TCP
RPC
Systems Management Server 2.0

135
TCP
RPC
Licencias de Servicios de Terminal Server

135
TCP
RPC
Directorio de sesiones de Terminal Server

137
UDP
Resolución de nombres NetBios
Examinador de equipos

137
UDP
Resolución de nombres NetBios
Servidor

137
UDP
Resolución de nombres NetBios
Servicio de nombres Internet de Windows

137
UDP
Resolución de nombres NetBios
Inicio de sesión de red

137
UDP
Resolución de nombres NetBios
Systems Management Server 2.0

138
UDP
Servicio de datagramas NetBios
Examinador de equipos

138
UDP
Servicio de datagramas NetBios
Messenger

138
UDP
Servicio de datagramas NetBios
Servidor

138
UDP
Servicio de datagramas NetBios
Inicio de sesión de red

138
UDP
Servicio de datagramas NetBios
Sistema de archivos distribuido

138
UDP
Servicio de datagramas NetBios
Systems Management Server 2.0

138
UDP
Servicio de datagramas NetBios
Servicio de registro de licencias

139
TCP
Servicio de sesiones NetBios
Examinador de equipos

139
TCP
Servicio de sesiones NetBios
Servicio de fax

139
TCP
Servicio de sesiones NetBios
Registros y alertas de rendimiento

139
TCP
Servicio de sesiones NetBios
Cola de impresión

139
TCP
Servicio de sesiones NetBios
Servidor

139
TCP
Servicio de sesiones NetBios
Inicio de sesión de red

139
TCP
Servicio de sesiones NetBios
Ubicador de Llamada a procedimiento remoto

139
TCP
Servicio de sesiones NetBios
Sistema de archivos distribuido

139
TCP
Servicio de sesiones NetBios
Systems Management Server 2.0

139
TCP
Servicio de sesiones NetBios
Servicio de registro de licencias

143
TCP
IMAP
Exchange Server

161
UDP
SNMP
Service SNMP

162
UDP
SNMP Traps Outbound
Servicio de captura SNMP

389
TCP
Servidor LDAP
Autoridad de seguridad local

389
UDP
Servidor LDAP
Autoridad de seguridad local

389
TCP
Servidor LDAP
Sistema de archivos distribuido

389
UDP
Servidor LDAP
Sistema de archivos distribuido

443
TCP
HTTPS
HTTP SSL

443
TCP
HTTPS
Servicio de publicación World Wide Web

443
TCP
HTTPS
SharePoint Portal Server

443
TCP
RPC sobre HTTPS
Exchange Server 2003

445
TCP
SMB
Servicio de fax

445
TCP
SMB
Cola de impresión

445
TCP
SMB
Servidor

445
TCP
SMB
Ubicador de Llamada a procedimiento remoto

445
TCP
SMB
Sistema de archivos distribuido

445
TCP
SMB
Servicio de registro de licencias

445
TCP
SMB
Net Logon

464
TCP
Kerberos Password V5
Inicio de sesión de red

500
UDP
IPsec ISAKMP
Autoridad de seguridad local

515
TCP
LPD
Servidor de impresión TCP/IP

548
TCP
Servidor de archivos para Macintosh
Servidor de archivos para Macintosh

554
TCP
RTSP
Servicios de Windows Media

563
TCP
NNTP sobre SSL
Protocolo de transferencia de noticias a través de la red

593
TCP
Asignador de extremos de RPC sobre HTTPS
Llamada a procedimiento remoto

593
TCP
RPC sobre HTTPS
Exchange Server

636
TCP
LDAP SSL
Autoridad de seguridad local

636
UDP
LDAP SSL
Autoridad de seguridad local

993
TCP
IMAP sobre SSL
Exchange Server

995
TCP
POP3 sobre SSL
Exchange Server

1067
TCP
Servicio de inicio de la instalación
Servidor de protocolo de inicio de la instalación

1068
TCP
Servicio de inicio de la instalación
Cliente del protocolo de inicio de la instalación

1270
TCP
MOM cifrado
Microsoft Operations Manager 2000

1433
TCP
SQL sobre TCP
Microsoft SQL Server

1433
TCP
SQL sobre TCP
MSSQL$UDDI

1434
UDP
SQL Probe
Microsoft SQL Server

1434
UDP
SQL Probe
MSSQL$UDDI

1645
UDP
RADIUS heredado
Servicio de autenticación de Internet

1646
UDP
RADIUS heredado
Servicio de autenticación de Internet

1701
UDP
L2TP
Servicio de enrutamiento y acceso remoto

1723
TCP
PPTP
Servicio de enrutamiento y acceso remoto

1755
TCP
MMS
Servicios de Windows Media

1755
UDP
MMS
Servicios de Windows Media

1801
TCP
MSMQ
Servicios de Message Queue Server

1801
UDP
MSMQ
Servicios de Message Queue Server

1812
UDP
Autenticación de RADIUS
Servicio de autenticación de Internet

1813
UDP
Contabilidad de RADIUS
Servicio de autenticación de Internet

1900
UDP
SSDP
SSDP Discovery Service

2101
TCP
MSMQ-DC
Servicios de Message Queue Server

2103
TCP
MSMQ-RPC
Servicios de Message Queue Server

2105
TCP
MSMQ-RPC
Servicios de Message Queue Server

2107
TCP
MSMQ-Mgmt
Servicios de Message Queue Server

2393
TCP
OLAP Services 7.0
SQL Server: Downlevel OLAP Client Support

2394
TCP
OLAP Services 7.0
SQL Server: Downlevel OLAP Client Support

2460
UDP
MS Theater
Servicios de Windows Media

2535
UDP
MADCAP
Servidor DHCP

2701
TCP
Control remoto de SMS (control)
Agente de control remoto de SMS

2701
UDP
Control remoto de SMS (control)
Agente de control remoto de SMS

2702
TCP
Control remoto de SMS (datos)
Agente de control remoto de SMS

2702
UDP
Control remoto de SMS (datos)
Agente de control remoto de SMS

2703
TCP
SMS Remote Chat
Agente de control remoto de SMS

2703
UPD
SMS Remote Chat
Agente de control remoto de SMS

2704
TCP
SMS Remote File Transfer
Agente de control remoto de SMS

2704
UDP
SMS Remote File Transfer
Agente de control remoto de SMS

2725
TCP
SQL Analysis Services
SQL Analysis Server

2869
TCP
UPNP
Host de dispositivo Plug and Play universal

2869
TCP
Notificación de sucesos de SSDP
SSDP Discovery Service

3268
TCP
Servidor de catálogos globales
Autoridad de seguridad local

3269
TCP
Servidor de catálogos globales
Autoridad de seguridad local

3343
UDP
Servicios de Cluster Server
Servicio de Cluster Server

3389
TCP
Servicios de Terminal Server
Escritorio remoto compartido de NetMeeting

3389
TCP
Servicios de Terminal Server
Servicios de Terminal Server

3527
UDP
MSMQ-Ping
Servicios de Message Queue Server

4011
UDP
BINL
Instalación remota

4500
UDP
NAT-T
Autoridad de seguridad local

5000
TCP
notificación de sucesos heredada de SSDP
SSDP Discovery Service

5004
UDP
RTP
Servicios de Windows Media

5005
UDP
RTCP
Servicios de Windows Media

6001
TCP
Almacén de información
Exchange Server 2003

6002
TCP
Directory Referral
Exchange Server 2003

6004
TCP
DSProxy/NSPI
Exchange Server 2003

42424
TCP
Estado de la sesión ASP.NET
Servicio de estado de ASP.NET

51515
TCP
MOM no cifrado
Microsoft Operations Manager 2000

1024-65534
TCP
RPC
Puertos TCP altos asignados aleatoriamente

Fuente:

http://www.trucoswindows.net/conteni3id-121-TRUCO-Puertos-y-protocolos-servidor.html

Desarrollo de aplicaciones para MipScale

Las aplicaciones que se ejecutan en WindowsCE.net pueden desarrollarse en eMbedded Visual C++ , y para que estas puedan ejecutarse en MipScale, necesitan el SDK que adjuntamos. 

Este SDK permite la programación para la plataforma ARM4.

También se podría programar con el Visual Studio.NET 2003, el cual tiene las Smart Device Extensions para programar en Visual Basic, C#, etc. Tiene preinstalado el .NET Compact Framework.

eMbedded Visual C++

Descarga de Herramientas

eMbedded Visual C++ 4.0 (eVC4.exe).  Tras su descarga gratuita debe descomprimirlo en su PC y luego ejecutar SetUp para instalarlo.

El Sistema Operativo requerido en su PC debe ser:  Microsoft Windows2000 Professional SP2, Microsoft Windows 2000 Server SP2, Microsoft Windows Server 2003   o Microsoft Windows XP Professional.

En la misma página web de Microsoft, encontrará también las claves para su instalación.

Durante la instalación puede solicitar la presencia del Windows CE Platform Manager 4.0, pulsamos aceptar y esta herramienta se instalará automáticamente continuando tras su finalización con la instalación del eMbedded .

Descargamos el Service Pack 4 (eVC4SP4.exe).  Tras su descarga debe instalarlo en el PC. 

SDK para trabajar en la plataforma MipScale. Ejecutar FILESYS_SDK.msi para la instalación del SDK para plataforma MipScale.

Si ya existe instalada una plataforma debe Desinstalarla haciendo clic en la opción Remove.

CÓDIGO FUENTE DE UN FICHERO DEMO

Puede descargar el fichero Test.zip (para ejecución en Consola)/DTest.zip(para  ejecución en Display TFT) que contiene la aplicación ejemplo Test.exe/DTest.exe y su Código Fuente.

Una vez descargado y descomprimido en su PC, por ejemplo el Test.zip para ejecución en Consola, obtendrá la siguiente estructura:

Ejecutamos eMdedded Visual C++ y abrimos el Proyecto.

Si no se visualiza automáticamente el código fuente de la aplicación lo buscamos “Test.cpp”. 

Modificamos el código fuente y generamos el nuevo .exe.

Esta nueva aplicación la copiamos a la carpeta en donde tenemos el fichero auxiliar “sendexe.bat” para enviarlo al MipScale y su posterior ejecución desde la consola. 

Una opción más cómoda sería la opción de cargar con la pantalla con el Active Sync.

C# con Visual Studio.NET 2003

Se abre el Visual Studio.NET 2003 Professional y se elige la opción de Microsoft Visual C#.NET.

Se crea un nuevo proyecto de Visual C# para Smart Device, indicando el nombre y la ubicación para este proyecto.

Se debe elegir la plataforma de Windows CE y aplicación para Windows.

Se hace el formulario del tamaño de la pantalla con la que se vaya a trabajar. Para ello hay que ir a la propiedad Size. Así, en el formulario, utilizando el cuadro de herramientas, se puede hacer el diseño con los controles que se necesiten y luego programar los distintos eventos: por ejemplo, hacer clic sobre un botón.

Para compilar y ejecutar la aplicación habría que elegir la opción Generar archivo.cab y luego se puede utilizar el emulador de Windows CE.NET (Implementar solución) ó cargar directamente el archivo.cab en la MipScale y ver aquí su funcionamiento ejecutando el .cab. Habría que elegir la plataforma WCE y ARMV4 (NombreProyecto_WCE_ARMV4.cab).

Fuente:

http://www.mipsasoft.com/MIPSCALE/software/wce/aplicacion_wce.html

Guardar los cambios no está permitido (SQL Server 2008)

Si bien la creación y edición de una base de datos en SQL Server 2008 que pronto se topó con una pared de ladrillo, o un “por diseño” característica del Estudio de Gestión de bases de datos.
Cuando se diseña una tabla en una base de datos y luego tratar de hacer un cambio a una estructura de tabla que requiere de la tabla para volver a crearse, el Estudio de Gestión de bases de datos no le permitirá guardar los cambios.
Esto es causado por una configuración por defecto que los resultados en el siguiente diálogo:

De diálogo de error

Este cuadro de diálogo dice: “Guardar los cambios no se permite los cambios que ha hecho exigen las siguientes tablas para dejarse caer y volver a crear usted no se habían hecho cambios en una tabla que no se puede volver a crear o habilitar la opción Prevenir el ahorro.. cambios que requieren de la tabla para volver a crear. ”

Sólo se puede reaccionar haciendo clic en el botón Cancelar.
Y de Management Studio muestra este diálogo:

Así que lo que . quieres hacer para configurar el ajuste con el valor que desee (¡en mi humilde opinión debe ser la configuración por defecto)
Ir a: Herramientas> Opciones

Menú Herramientas elija Opciones

Seleccione la pestaña de diseñadores y seleccione Tablas y diseñadores

Y desmarque la opción: “Prevenir guardar los cambios que requieren la tabla re-creación”.
Una vez que ya guardar los cambios para que funcione.

Fuente: http://www.henrycordes.nl/post/2008/11/Saving-changes-is-not-permitted-(SQL-Server-2008).aspx

SAP BO.SAP Business One. Actualizar nuestro sistema 2007 A a SAP Business One 8.8 Parte I

Como habíamos quedado en el post anterior, íbamos ha hablar de que ocupamos para hacer una actualización de versiones, en concreto de 2007 A a 8.8. Por la cantidad de imágenes el tema lo dividiré en dos. Para hacer este trabajo mas sencillo recordemos que los PL(Path Level) se dividen en dos: los PL que son instaladores desde cero y PL que son exclusivamente actualizaciones del sistema, en este caso yo use PL 10 de SAP Business One 8.8.

     Antes que nada recomiendo o mas bien tómenlo como exigencia, hagan una laboratorio de prueba en donde con una copia de su compañía en producción puedan experimentar su actualización. Ya que la actualización hace cambios en la base de datos tanto en la SBOCommon, como la de la compañía. 

     Otra cosa por la que les recomiendo(exijo) que sea primero en un laboratorio, son los cambios en el SDK, así que si tienes programas que se basan en SDK, deben de actualizar y despues probar dichos programas para ver si funcionan correctamente. Y si no están del todo convencidos y quieren y tienen aun la idea de actualizar directamente su SAP Business One 2007, el archivo de licencias que tienen no aplicara para SAP Business One 8.8, por lo tanto su actualización de sus sistema en producción debe de ser premeditada. Por cierto si alguien se lo pregunta el algoritmo para generar el “Hardware Key” les regresa el mismo que tienen actualmente. 

     Bueno ya basta de tanta platica y comencemos. En mi caso use una maquina virtual que tenia instalado SAP Business One 2007 A SP 01 PL 05. Les recomiendo que verifiquen que el servidor de licencias este iniciado antes de comenzar la actualización. Antes que nada al iniciar el “wizard” tendremos la pantalla de bienvenida. 

     El siguiente paso especificaremos en donde esta nuestro servidor de licencias. El cual puede ser el nombre del equipo, su IP o si es sobre el mismo equipo “localhost” y el puerto del servidor de licencias en este caso el predeterminado es el “30000”. 

     Cuando queramos avanzar al siguiente paso, SAP nos lanza una pregunta de confirmación en donde nos especifica que actualizara el servidor de licencias especifico. 

     Nuestro siguiente paso es darlos datos de conexión a nuestro servidor SQL, en donde vamos a especificar el tipo de servidor (2005,2008) nombre del servidor, usuario y contraseña de base de datos (recomiendo que lo ejecuten con sa para no tener problemas de permisos). 

     Continuando con el “wizard”, SAP nos desplegara una lista de todos los componentes y nos especificara cuales encontró, cuales no y la versión de los componentes encontrados. De manera predeterminada SAP selecciona los componentes existentes. 

     Este paso es muy importante, ya que aquí es donde actualizaremos nuestras base de datos, la SBOCommon se encontrara seleccionada y para actualizar nuestra base de datos ocupamos especificar un usuario de SAP (recomiendo el usuario “manager”), una vez que configuremos este usuario, tenemos que presionar el botón “refresh” para cambiar el estado de la base de datos a “Ready”. 

     Continuando con nuestra actualización el siguiente paso es verificar que no haya ningún problema con los componentes. En caso de que haya tendremos un pantalla como la que esta a continuación, pero no se preocupen si les aparece no estamos solos, al dar clic en “Details” nos muestra el log de las operaciones que se hicieron, en aquellos que haya fallado nos dará el numero de un “SAP Note”. En la imagen tenemos  la nota “1343051”, en mi caso salio este error debió a que no cumplía con el requerimiento de un mínimo de 1 Gb. 

Una vez superado cualquier detalle que nos marque la verificación continuamos con una ruta en la cual se guardara un respaldo de seguridad de nuestra base de datos. 

     Ahora si estamos ya a solo un “next” de comenzar a nuestra actualización, es posible que antes de comenzar no pida instalar un paquete de Microsoft C++. 

     Cuando continua la actualización tendremos que especificar la parametrización del “Server Tool”, despues de la pantalla de bienvenida, llenamos la información de cliente. 

     Lo siguiente es seleccionar los servicios que queremos instalar, ya sea que dejemos los servicios mas comunes, queramos instalar todos y los menos posibles. 

     La siguiente pantallas he inclusive la mas importante es la creación de contraseña del usuario “B1SiteUser” el cual es el usuario que se usar para los servicios del Server Tool, este es uno de los cambios ya que en las versiones 2007 podía ser un usuario cualquiera de SAP. 

      Continuamos y esperamos a que el “wizard” del Server Tools termine. 

      Con esto estamos a la mitad del camino de nuestra actualización, en el siguiente post terminaremos con nuestro camino en la actualización de SAP Business One y dejaremos información extra que nos apoyara mas con lo que respecta a este tema. 

 

Fuente: http://saptogo.blogspot.com/2010/06/sap-bosap-business-one-actualizar.html

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.