***************************************************************
            Service Pack 1 de Microsoft® SQL Server™ 
                 Notification Services 2.0
                       Archivo Léame
                     8 de mayo de 2003
***************************************************************
       (c) Copyright Microsoft Corporation, 2002-2003. 
                 Reservados todos los derechos.

Este archivo contiene información que complementa la 
documentación de Microsoft SQL Server Notification Services.
***************************************************************
CONTENIDO
***************************************************************
1.0 Introducción
    1.1  Mejoras del Service Pack 1 de Notification Services 2.0
    1.2  Anexo al archivo Léame en el Web
    1.3  Acceso a la documentación de Notification Services
2.0 Instalación de SQL Server 2000
    2.1  Requisitos de hardware y software
    2.2  Instalación de Notification Services
    2.3  Ejecución de los ejemplos de Notification Services
    2.4  Desinstalación de Notification Services
3.0 Actualización de aplicaciones al Service Pack 1 de 
    Notification Services 2.0
4.0 Notas del producto y la documentación
    4.1  Solución de problemas: errores de seguridad de SSL
    4.2  Deshabilite la instancia antes de ejecutar NSControl 
         Upgrade
    4.3  El método EventCollector.Write no devuelve ningún valor
    4.4  No utilice entrega implícita con un tamaño de lote de 
         notificación grande
    4.5  Nombre de origen de evento incorrecto en la 
         documentación
    4.6  Solución de problemas: el programa de instalación 
         termina sin instalar Notification Services
    4.7  Los mensajes de eventos indican que no se encontró la 
         DLL de mensajes
    4.8  El valor clave de un argumento de cifrado es una cadena 
         de caracteres
    4.9  Al deshabilitar suscriptores, se deshabilita la 
         instancia
    4.10 No se registran errores de entrega debidos a errores de 
         formato de contenido
    4.11 Al ejecutar Notification Services en un clúster, los 
         valores <SystemName> deben ser el nombre del clúster
    4.12 Service Pack 1: el comando NSControl Create habilita el 
         encadenamiento de propiedad entre bases de datos;
         requiere privilegios Sysadmin
    4.13 Service Pack 1: escritura de texto sin formato con el 
         formateador de contenido XSLT
    4.14 Service Pack 1: cambios en el procedimiento almacenado 
         NSDiagnosticFailedNotifications
    4.15 Uso de componentes personalizados creados con la 
         versión 1.1.4322 de .NET Framework

* Los elementos que comienzan con "Service Pack 1:" se aplican 
al Service Pack 1 de Notification Services 2.0, pero no a 
versiones anteriores.

***************************************************************
1.0 Introducción
***************************************************************
El Service Pack 1 de Notification Services 2.0 es una versión 
completa de Notification Services. 

Si ya utiliza Notification Services 2.0, puede instalar el 
Service Pack 1 de Notification Services 2.0 "en paralelo" y 
actualizar después sus aplicaciones. Para obtener más 
información acerca de la actualización de aplicaciones, vea el 
apartado 3.0.

Si no ha instalado antes Notification Services 2.0, puede 
instalar el Service Pack 1 de Notification Services 2.0 y 
utilizarlo para crear y ejecutar sus aplicaciones de 
notificación.

-------------------------------------------------------------
1.1 Mejoras del Service Pack 1 de Notification Services 2.0
-------------------------------------------------------------

* El programa de instalación admite las versiones 1.0 y 1.1 de 
 .NET Framework. 

* El comando NSControl Create agrega más índices, incluido un 
  índice de la tabla de eventos, para mejorar el rendimiento de 
  Vacuumer, y de la tabla de notificaciones para mejorar el 
  procesamiento de suscripciones.

* NSDiagnosticFailedNotifications ahora devuelve un registro por 
  error de entrega de notificación (excepto errores de contenido 
  de formato, como se explica en el apartado 4.10).

* Puede configurar el formateador de contenido XSLT estándar 
  para escribir texto sin formato. Vea el apartado 4.11 para 
  obtener más información.

* El comando NSControl Create devuelve encadenamiento de 
  propiedad entre bases de datos para bases de datos de 
  instancia y de aplicación. Vea el apartado 4.12 para obtener
  más información.

* Si cambia los valores <NotificationBatchSize> o 
  <DigestDelivery> en el archivo ADF y después actualiza la 
  aplicación con el comando NSControl Update, la función de 
  notificación se compila de nuevo para incluir estos cambios.

* Si agrega, cambia o elimina elementos del nodo <Protocols> de 
  una clase de notificación y después actualiza la aplicación, 
  NSControl actualiza los protocolos sin crear de nuevo la clase 
  de notificación entera.

* La aplicación de ejemplo Realtor se ejecuta ahora con 
  intercalación que distingue mayúsculas y minúsculas.

* El procedimiento almacenado NSEventFlushBatch<EventClass> se 
  ha actualizado para evitar un posible bloqueo durante el envío 
  de eventos multiproceso.

* Las cadenas de conexión de base de datos se han modificado 
  para solucionar problemas de conexión en sistemas operativos 
  con configuración local turca. 

* En Windows Server 2003, las aplicaciones ASP.NET para 
  administrar suscripciones de aplicaciones de ejemplo se 
  ejecutan con la cuenta NT AUTHORITY\NETWORK SERVICE. En 
  otros sistemas operativos, se siguen ejecutando con la 
  cuenta ASPNET.

-------------------------------------
1.2 Anexo al archivo Léame en el Web
-------------------------------------
La documentación de última hora del Service Pack 1 de 
Notification Services 2.0 está disponible en el sitio Web de 
soporte técnico de Microsoft, en la dirección 
http://support.microsoft.com?kbid=818351.

-------------------------------------------------------
1.3 Acceso a la documentación de Notification Services
-------------------------------------------------------
La documentación de Notification Services se instala con el 
programa de instalación. Puede instalarla sin instalar 
Notification Services, lo que le permitirá leer las 
instrucciones para la instalación y conocer las opciones de 
instalación antes de instalar Notification Services.

Los vínculos para la documentación en línea y descargas de 
documentación, incluido Global Documentation Pack, se encuentran 
en http://go.microsoft.com/fwlink/?LinkId=16139. 

***************************************************************
2.0 Instalación
***************************************************************
El programa de instalación de Notification Services puede 
instalar cinco conjuntos de componentes y un subcomponente:

* Componentes del motor, que ejecutan las funciones de 
  recolección, generación, formato y entrega de eventos de 
  Notification Services.
 
  Cuando se implementa una aplicación escalada en horizontal, 
  estos componentes se deben instalar en cada servidor que ejecute 
  un proveedor de eventos alojado, un generador o un distribuidor.

* Componentes cliente, que deben instalarse en los servidores 
  que albergan proveedores de eventos independientes y 
  aplicaciones de administración de suscripciones. Estos 
  componentes contienen las interfaces que utilizan aplicaciones 
  y proveedores de eventos independientes para comunicarse con 
  Notification Services. La utilidad NSControl, que se utiliza 
  para administrar una instancia de Notification Services, se 
  instala también como parte de los componentes cliente.

* Subcomponente de envío masivo de eventos, que debe instalarse 
  con los componentes cliente si desea enviar datos XML.

* Componentes de base de datos, que deben instalarse en cada 
  servidor de base de datos que albergue bases de datos de 
  instancia y de aplicación. Estos componentes incluyen 
  procedimientos almacenados extendidos para generar 
  notificaciones. 

* Documentación, que puede instalar donde desee para tener 
  acceso a la documentación de Notification Services.

* Un conjunto de aplicaciones de ejemplo que puede utilizar para 
  familiarizarse con Notification Services. Puede ejecutar los 
  ejemplos desde Microsoft Visual Studio® .NET. 

Es posible instalar todos los componentes en un mismo servidor o 
en servidores diferentes, según sea necesario.

--------------------------------------
2.1 Requisitos de hardware y software
--------------------------------------
Antes de instalar Notification Services, asegúrese de que su 
equipo cumple los siguientes requisitos:

IMPORTANTE: .NET Framework 1.0 o 1.1 debe estar instalado antes 
de instalar el motor y los componentes cliente de Notification 
Services. Si instala versiones posteriores de .NET Framework, 
instálelas en paralelo con la versión 1.0 o 1.1.

IMPORTANTE: SQLXML 3.0 debe estar instalado antes de instalar el 
motor y los componentes de envío masivo de eventos de 
Notification Services. Si instala versiones posteriores de 
SQLXML, no quite SQLXML 3.0; instálelas en paralelo con SQLXML 
3.0.

Hardware para los componentes principales
===============================================================
 * Equipo              Pentium 450 MHz mínimo.
                       Se recomienda Pentium 733 MHz o superior.

 * Memoria (RAM)       128 MB mínimo.
                       Se recomienda 256 MB o más.

 * Espacio en el       Componentes de Notification Services: 
   disco duro          10 MB. Si las bases de datos están en el
                       mismo servidor que Notification Services,
                       es necesario espacio en disco adicional 
                       para las tablas de base de datos, archivos
                       de registro y tablas de base de datos 
                       temporales.


Software para los componentes del motor
===============================================================
 * Sistema operativo   Microsoft Windows® 2000 SP2 (o 
                       posterior), Windows XP Professional o
                       Windows Server 2003. 

 * Microsoft Data      MDAC versión 2.6 o posterior, necesario
   Access Components   para instalar Microsoft .NET Framework;
   (MDAC)              también necesario para Microsoft SQLXML.
   
 * Herramientas de     Herramientas cliente de SQL Server 2000,
   SQL Server 2000     necesarias para SQLXML

 * Microsoft SQLXML    SQLXML 3.0 (y sus Service Packs).

 * .NET Framework      .NET Framework 1.0 o 1.1 (y sus
                       Service Packs). 

Para obtener .NET Framework, MDAC y SQLXML, visite la dirección 
http://go.microsoft.com/fwlink/?linkid=7733.


Software para los componentes cliente
===============================================================
 * Sistema operativo   Microsoft Windows® 2000 SP2 (o 
                       posterior), Windows XP Professional o
                       Windows Server 2003. 

 * Microsoft Data      MDAC versión 2.6 o posterior, necesario
   Access Components   para instalar .NET Framework; también
   (MDAC)              necesario para SQLXML.

 * .NET Framework      .NET Framework 1.0 o 1.1 (y sus 
                       Service Packs).

Software para el subcomponente de envío masivo de eventos
===============================================================
 * Herramientas de     Herramientas cliente de SQL Server 2000,
   SQL Server          necesarias para SQLXML.

 * Microsoft SQLXML    SQLXML 3.0 (y sus Service Packs).



Software para los componentes de base de datos
===============================================================
 * SQL Server          SQL Server 2000 Standard,
                       SQL Server 2000 Enterprise,
                       SQL Server 2000 Developer Edition
                       o
                       SQL Server 2000 Evaluation Edition

SQL Server 2000 Desktop Engine (MSDE 2000), SQL Server 2000 
Personal Edition y SQL Server 2000 CE Edition no son compatibles 
con Notification Services.

Microsoft recomienda el Service Pack más reciente de SQL Server 
2000.


Software para la documentación
===============================================================
 * Software de Internet     Microsoft Internet Explorer 5.01 o 
                            posterior.


Software para los ejemplos
===============================================================
 * Herramientas de        Todos los ejemplos se presentan como
   desarrollo             soluciones de Visual Studio .NET con
                          archivos de solución (.sln).

Puede utilizar los ejemplos sin Visual Studio. NET; sin embargo, 
deberá editar los archivos con un editor de texto u otro editor 
XML.

* Internet Information El sistema que ejecute los ejemplos debe
  Services (IIS)       tener instalado y ejecutándose Internet
                       Information Services (IIS) 5.0 o 
                       posterior. Esto incluye el servicio SMTP 
                       (protocolo simple de transferencia de 
                       correo), el servicio de publicación World
                       Wide Web y el servicio de administración 
                       de IIS.

----------------------------------------------------------------
2.2 Instalación del Service Pack 1 de Notification Services 2.0
----------------------------------------------------------------
Notas sobre la instalación:

 * Para ejecutar el programa de instalación de Notification 
   Services, la cuenta que utilice debe ser miembro del grupo 
   local de administradores. Para instalar los componentes de 
   base de datos, la cuenta que utilice o especifique durante la 
   instalación debe ser miembro de la función fija de servidor 
   sysadmin de SQL Server.

 * Debe realizar la instalación en modo local. No está 
   disponible la instalación en modo remoto.

 * Cuando instale los componentes de base de datos, asegúrese de 
   que se está ejecutando el motor de base de datos de SQL 
   Server 2000. El programa de instalación no intentará iniciar
   SQL Server. 

Instrucciones para la instalación:

1. Si instaló previamente los ejemplos de Notification Services 
   2.0, quítelos con la secuencia de comandos RemoveSamplesDB.cmd, 
   que se encuentra en la carpeta 2.0.2114.0\Ejemplos. Para 
   obtener más información, vea el apartado 2.3.

2. Ejecute el programa de instalación de Notification Services. 
   Si descarga el archivo del programa de instalación, el nombre 
   es MSSQLNS20SP1.<edición>.<idioma>.exe.

3. En la pantalla Instalación personalizada, seleccione los 
   componentes que desea instalar. Asegúrese de que el sistema 
   cumple los requisitos de software especificados. Si el sistema 
   no cumple los requisitos para un componente, no podrá instalar 
   ese componente.
   No es necesario que corrija nada a menos que desee instalar un 
   componente que no esté disponible.

4. Si va a instalar los componentes de base de datos, 
   especifique información adicional en las pantallas Instalación 
   de los componentes de base de datos e Información de inicio de 
   sesión de SQL Server:

   * Si tiene instaladas varias instancias del motor de base de 
     datos de SQL Server, seleccione una de ellas en la pantalla 
     Instalación de los componentes de base de datos. Puede 
     instalar los componentes en instancias adicionales usando 
     la utilidad InstallXPs.

   * Seleccione el tipo de autenticación que desea utilizar para 
     iniciar sesiones en SQL Server en la pantalla Información de 
     inicio de sesión de SQL Server. Escriba su nombre de usuario 
     y contraseña si va a utilizar la autenticación de SQL Server.

5. En la pantalla Preparado para instalar el programa, haga clic 
   en Instalar.

En los Libros en pantalla de Notification Services, encontrará 
instrucciones de instalación adicionales.

----------------------------------------------------------------
2.3 Ejecución de los ejemplos del Service Pack 1 de Notification 
Services 2.0
----------------------------------------------------------------
Cuando se instalan las aplicaciones de ejemplo, el programa de 
instalación agrega la carpeta Vn.n.n.n\Ejemplos, que contiene 
los archivos de ejemplo. Utilice la secuencia de comandos 
SetupSamples.cmd para configurar los ejemplos. A continuación, 
utilice la secuencia de comandos RunSamples.cmd o Visual Studio 
.NET para ejecutar los ejemplos. Para obtener más información 
acerca de las aplicaciones de ejemplo, vea "Notification 
Services Programming Samples" en los Libros en pantalla de 
Notification Services.

NOTA: Notification Services 2.0 y el Service Pack 1 de 
Notification Services 2.0 proporcionan las mismas aplicaciones 
de ejemplo. Puesto que las aplicaciones utilizan los mismos 
nombres, no puede ejecutar los ejemplos en paralelo en la 
versión 2.0 y en el Service Pack 1. Antes de ejecutar los 
ejemplos del Service Pack 1, quite las instancias de las 
aplicaciones de ejemplo de la versión 2.0 ejecutando la 
secuencia de comandos RemoveSamplesDB.cmd, que se encuentra en 
la carpeta v2.0.2114.0\Ejemplos. La eliminación de las 
instancias de las aplicaciones de ejemplo evita también que 
resulten dañadas cuando desinstale Notification Services 2.0. 

---------------------------------------------
2.4 Desinstalación de Notification Services
---------------------------------------------
Para desinstalar Notification Services:

1. En la carpeta vn.n.n.n\Ejemplos, ejecute RemoveSamplesDB.cmd 
   para eliminar los ejemplos que utilizan la versión de 
   Notification Services que va a quitar.

2. Detenga todas las instancias de Notification Services que 
   utilizan la versión que va a quitar. Para detener una 
   instancia, ejecute el siguiente comando:

   net stop NS$<instance_name>

3. Si utiliza la autenticación de SQL, ejecute UninstallXPs.cmd 
   para quitar los componentes de base de datos. El programa de 
   desinstalación no pide el nombre de usuario y la contraseña 
   de SQL Server. La secuencia de comandos UninstallXPs permite 
   proporcionar esta información.

4. Haga clic en Agregar o quitar programas en el Panel de 
   control. 

5. Seleccione Microsoft SQL Server Notification Services 2.0 SP1 
   y haga clic en Quitar.

6. Siga las instrucciones que aparecen en pantalla.

***************************************************************
3.0 Actualización de aplicaciones al Service Pack 1 de 
Notification Services 2.0
***************************************************************
Para actualizar aplicaciones de Notification Services existentes 
al Service Pack 1 de Notification Services 2.0, debe actualizar 
las instancias que ejecutan esas aplicaciones. 

NOTA: los ejemplos siguientes muestran cómo realizar la 
actualización utilizando la autenticación de Windows para 
conectar con SQL Server. Si utiliza la autenticación de SQL 
Server para conectar con SQL Server, debe utilizar también los 
parámetros -sqlusername y -sqlpassword con los comandos 
NSControl Disable, NSControl Enable, NSControl Upgrade y 
NSControl Register.

Para actualizar una instancia que se ejecute en un solo 
servidor, con las bases de datos ubicadas en el mismo servidor o 
en un servidor remoto:

1. Instale el Service Pack 1 de Notification Services 2.0. Si la 
   instancia y la base de datos están en servidores diferentes, 
   debe instalar los componentes del motor donde se ejecuta la 
   instancia, y los componentes de base de datos donde se ejecuta 
   la base de datos.
   Si utiliza varios servidores de base de datos, asegúrese de 
   que instala los componentes de base de datos en cada servidor, 
   utilizando el comando InstallXPs como se explica en el tema 
   "Instalar componentes de base de datos en otras instancias de 
   SQL Server" de los Libros en pantalla de Notification Services.

2. Realice una copia de seguridad de las bases de datos de 
   instancia y de aplicación.

   Para obtener más información sobre cómo realizar copias de 
   seguridad de bases de datos, vea los Libros en pantalla de SQL 
   Server.

3. En el servidor donde se ejecuta la instancia, primero debe 
   eliminar del registro la instancia utilizando la versión 
   2.0.2114.0 de NSControl:

   a. En el menú Inicio, seleccione Programas\Microsoft SQL 
      Server Notification Services (2.0.2114.0) y, a 
      continuación, haga clic en Línea de comandos de 
      Notification Services para abrir una ventana del símbolo 
      del sistema.

   b. Deshabilite la instancia.
      Ejemplo: nscontrol disable -name StockInstance

   c. Detenga el servicio NS$<instance_name>.
      Ejemplo: net stop NS$StockInstance

   d. Elimine la instancia del registro.
      Ejemplo: nscontrol unregister -name StockInstance

   e. Si no lo ha hecho aún, desinstale las aplicaciones de 
      ejemplo.
      Ejemplo: cd Ejemplos
               RemoveSamplesDB

   f. Cierre la ventana del símbolo del sistema.

4. A continuación, registre y actualice la instancia utilizando 
   la versión de NSControl del Service Pack 1 de Notification 
   Services 2.0:

   a. En el menú Inicio, seleccione Programas\Microsoft SQL 
      Server Notification Services 2.0 SP1 y, a continuación, 
      haga clic en Línea de comandos de Notification Services 
      para abrir una ventana del símbolo del sistema.

   b. Registre la instancia.
      Ejemplo: nscontrol register -name StockInstance 
               -server MyDBServer -service -serviceusername 
               "MyDomain\MyUserName" -servicepassword 
               "<contraseña>"

   c. Actualice la instancia.
      Ejemplo: nscontrol upgrade -name StockInstance 
               -server MyDBServer

   d. Conceda a la cuenta de servicio NS$<instance_name> 
      permiso para ejecutar los procedimientos almacenados 
      extendidos del Service Pack 1:
      Ejemplo: grantxpexec "MyDomain\MyUserName"


   e. Habilite la instancia.
      Ejemplo: nscontrol enable -name StockInstance

   f. Inicie el servicio NS$<instance_name>.
      Ejemplo: net start NS$StockInstance
  
Si ha escalado la instancia en horizontal, lo que significa que 
el servicio NS$<instance_name>, las aplicaciones de 
administración de suscripciones y los proveedores de eventos 
independientes se ejecutan en varios servidores, debe ejecutar 
el procedimiento anterior en un servidor y, a continuación, 
eliminar del registro y volver a registrar la instancia en cada 
servidor adicional.

Una vez que termine de actualizar todas las instancias al 
Service Pack 1, puede desinstalar Notification Services 
2.0.2114.0.

Para obtener instrucciones basadas en configuraciones de 
implementación comunes, descargue el documento "Upgrading 
Applications to Notification Services 2.0 SP1" (Actualización de 
aplicaciones al Service Pack 1 de Notification Services 2.0) en 
la dirección http://go.microsoft.com/fwlink/?LinkId=16143.

***************************************************************
4.0 Notas del producto y la documentación
***************************************************************
Éstos son problemas que surgieron después de haber elaborado los 
Libros en pantalla de Notification Services.

--------------------------------------------------------
4.1 Solución de problemas: errores de seguridad de SSL
--------------------------------------------------------
Si recibe errores de seguridad de SSL en el registro de eventos 
cuando cree una instancia o ejecute el servicio 
NS$<instance_name>, es posible que Notification Services no 
pueda conectar con SQL Server 2000. Este error se puede deber a 
las siguientes causas:

* Si Certificate Server está instalado en un equipo con 
  Microsoft Windows 2000 y el nombre de la entidad emisora de 
  certificados es el mismo que el del host del equipo (o comienza 
  por este último), puede producirse un error al intentar conectar 
  con SQL Server 2000.

  Para solucionar este problema, obtenga el Service Pack más 
  reciente de SQL Server 2000. Para obtener más información, 
  visite la dirección http://support.microsoft.com?kbid=302409.

* Si hay una conexión de red lenta con el servidor de destino 
  que está ejecutando SQL Server o el servidor que autentica las 
  credenciales de Windows, puede producirse un error si 
  Notification Services intenta conectarse a SQL Server. Este 
  problema tiene lugar sólo si tiene un certificado SSL (Secure 
  Sockets Layer, Nivel de socket seguro) instalado en el equipo 
  que ejecuta SQL Server y si dicho certificado cumple los 
  requisitos de cifrado. 
  Para solucionar este problema, siga las instrucciones que indica 
  el artículo 322144 de Knowledge Base en la dirección 
  http://support.microsoft.com?kbid=322144. 

----------------------------------------------------------------
4.2 Deshabilite la instancia antes de ejecutar NSControl Upgrade
----------------------------------------------------------------
Antes de ejecutar NSControl Upgrade para actualizar las 
instancias de Notification Services de la versión Standard a la 
versión Enterprise, deshabilite las instancias antes de 
desinstalar la versión Standard. 

Utilice el siguiente procedimiento para llevar a cabo la 
actualización:

1. Utilice el comando NSControl Disable para deshabilitar todas 
   las instancias que utilizan la versión Standard.
2. Utilice el comando Net Stop para detener los servicios 
   NS$<instance_name> correspondientes.
3. Desinstale Notification Services Standard.
4. Instale Notification Services Enterprise.
5. Utilice NSControl Upgrade para actualizar todas las 
   instancias que utilizaban la versión Standard a la versión 
   Enterprise.
6. Utilice NSControl Enable para habilitar todas las instancias 
   que ha actualizado.
7. Utilice el comando Net Start para iniciar los servicios 
   NS$<instance_name> correspondientes.

-------------------------------------------------------------
4.3 El método EventCollector.Write no devuelve ningún valor
-------------------------------------------------------------
El tema sobre el método EventCollector.Write muestra el método 
devolviendo un valor entero. EventCollector.Write no devuelve 
ningún valor. La información corregida para este método es:

[Visual Basic .NET]
Public Function Write(ByVal <event> As Object)

[C#] 
public void Write(object <event>);

[C++] 
public: void Write(Object* <event>);

[JScript] 
public function Write(<event> : Object);

-----------------------------------------------------------
4.4  No utilice entrega implícita con un tamaño de lote de 
notificación grande
-----------------------------------------------------------
Si habilita la entrega implícita para una clase de notificación 
definiendo el valor <DigestDelivery> en el archivo de definición 
de la aplicación (ADF) como true, no establezca un tamaño de 
lote de notificación personalizado utilizando el elemento 
<NotificationBatchSize>. Si define un valor 
<NotificationBatchSize> grande, puede dar lugar a un aumento 
rápido del número de conexiones con SQL Server, consumiendo así 
toda la memoria disponible.

---------------------------------------------------------------
4.5 Nombre de origen de evento incorrecto en la documentación
---------------------------------------------------------------
Los eventos de Notification Services se registran en el registro 
de aplicaciones de Windows. El Visor de sucesos de Windows 
muestra el origen de los eventos en el registro de aplicaciones 
en la columna Origen. El origen de todos los eventos de 
Notification Services es NotificationServices. Los temas 
"Introducción al registro de eventos" y "Elegir herramientas de 
supervisión" especifican erróneamente que el origen es 
NS$<instance_name>.

----------------------------------------------------------------
4.6 Solución de problemas: el programa de instalación termina 
sin instalar Notification Services
----------------------------------------------------------------
Al ejecutar el programa de instalación, si la página "Finalizado 
InstallShield Wizard" aparece inmediatamente y contiene el texto 
siguiente, es posible que la cuenta utilizada para ejecutar el 
programa de instalación no tenga los permisos necesarios:
 
  El asistente se ha interrumpido antes de completar la 
  instalación de Microsoft SQL Server Notification Services. Su 
  sistema no ha sido modificado. Para completar la instalación en 
  otra ocasión, vuelva a ejecutarla.

En primer lugar, asegúrese de que la cuenta utilizada para 
ejecutar el programa de instalación tiene derechos de 
administrador local. Aunque la cuenta tenga estos privilegios, 
el problema puede surgir de nuevo si se dan las siguientes 
circunstancias en el equipo:

*  El valor de clave de registro "DefaultAccessPermission" 
   existe en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole.
*  Los permisos de acceso predeterminados asignados a los 
   Servicios de componente no incluyen la cuenta utilizada para 
   ejecutar el programa de instalación.
  
Nota: de manera predeterminada, no existe el valor de 
registro DefaultAccessPermission de 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Ole. Este valor es creado 
por otras aplicaciones o cuando se utiliza la herramienta 
Servicios de componente para agregar grupos o usuarios a los 
permisos de acceso predeterminados de COM. 

Para agregar la cuenta utilizada para ejecutar el programa de 
instalación a los Servicios de componente:
 1. En el menú Inicio, haga clic en Ejecutar.
 2. En el cuadro Ejecutar, escriba Dcomcnfg.exe y haga clic en 
    Aceptar.
 3. Muestre la ficha Seguridad COM predeterminada utilizando las 
    instrucciones para su sistema operativo:
    * Si ejecuta Windows 2000, haga clic en la ficha Seguridad 
      predeterminada. 
    * Si ejecuta Windows XP, siga estos pasos:
      a. Vaya a Servicios de componente\Equipos\Mi PC.
      b. Haga clic con el botón secundario en Mi PC y seleccione 
         Propiedades.  
      c. Haga clic en la ficha Seguridad COM predeterminada.  
 4. Haga clic en el botón Modificar predeterminado. 
 5. Haga clic en el botón Agregar para incorporar la cuenta 
    utilizada para ejecutar el programa de instalación.

----------------------------------------------------------------
4.7 Los mensajes de eventos indican que no se encontró la DLL de 
mensajes
----------------------------------------------------------------
Si instala varias versiones de Notification Services en un 
equipo y después desinstala una versión, los mensajes de 
Notification Services del registro de eventos pueden contener el 
texto siguiente, que indica que la instancia no encuentra la DLL 
de mensajes de eventos.

  No se encuentra la descripción del Id. de suceso( #### ) en el 
  origen ( NotificationServices ). Es posible que el equipo local 
  no tenga la información de Registro o archivos DLL de mensajes 
  necesarios para mostrar mensajes desde un equipo remoto.

El texto completo del mensaje de evento aparece después de este 
texto; sin embargo, el vínculo con el contenido Web del mensaje 
no va incluido en el mismo.

Para solucionar este problema, utilice NSControl Register para 
registrar de nuevo las instancias de Notification Services que 
utilicen una versión instalada. Esto repara un puntero para la 
DLL de mensajes de eventos. Para obtener más información, vea 
"Registrar de nuevo una instancia" en los Libros en pantalla de 
Notification Services.

--------------------------------------------------------------
4.8 El valor clave de un argumento de cifrado es una cadena de 
caracteres
--------------------------------------------------------------
Los comandos NSControl Create, NSControl Update y NSControl 
Register tienen un argumento "argumentkey" opcional que 
especifica un valor clave utilizado para cifrar argumentos del 
canal de entrega y del proveedor de eventos. El valor clave debe 
ser una cadena de caracteres. Si la cadena contiene espacios, 
enciérrela entre comillas. Para obtener más información, vea el 
tema "Configurar el cifrado de argumentos" en los Libros en 
pantalla de Notification Services.

---------------------------------------------------------------
4.9 Al deshabilitar suscriptores, se deshabilita la instancia
---------------------------------------------------------------
Si utiliza NSControl Disable para deshabilitar sólo los 
suscriptores de una instancia, NSControl deshabilitará la 
instancia completa y todas las aplicaciones que alberga.

Para solucionar este problema, utilice alguno de los siguientes 
métodos:

* Tras deshabilitar el componente de suscriptores, habilite de 
  nuevo todos los demás componentes de la instancia utilizando 
  NSControl Enable:

  nscontrol enable -n <instance_name> -distributor -events
    -generator -subscriptions 

* Al deshabilitar los suscriptores, incluya otro componente para 
  deshabilitar y habilitar de nuevo ese componente:

  nscontrol disable -n <instance_name> -generator -subscribers
  nscontrol enable -n <instance_name> -generator

Puede comprobar el estado de la instancia utilizando el comando 
NSControl Status:

  nscontrol status -n <instance_name>

--------------------------------------------------------------
4.10 No se registran errores de entrega debidos a errores de 
formato de contenido
--------------------------------------------------------------
Si no se entrega una notificación debido a un error de formato 
de contenido, como un archivo XSLT que no es válido, no se 
registra la notificación como no realizada. Esto da lugar a los 
siguientes resultados erróneos:

- El registro de distribución, visible en la vista 
  NS<NotificationClassName>NotificationDistribution, no incluye 
  las notificaciones que no se realizaron debido a errores de 
  formato de contenido.

- El procedimiento almacenado NSDiagnosticNotificationClass 
  muestra algunas notificaciones no realizadas como "not yet 
  delivered" (no entregada aún), en la columna 
  NotificationsNotYetDelivered, porque las notificaciones no se 
  marcan como no realizadas en el registro de distribución.

-----------------------------------------------------------
4.11 Al ejecutar Notification Services en un clúster, los  
     valores <SystemName> deben ser el nombre del clúster
-----------------------------------------------------------
Cuando cree una aplicación de Notification Services, debe 
especificar dónde se ejecutan los componentes de distribuidor, 
generador y proveedor de eventos alojado. Para ello, proporcione 
valores para el elemento <SystemName> en cada nodo 
<Distributor>, <Generator> y <HostedProvider> del archivo ADF. 
NSControl carga estos datos en la base de datos de aplicación.

Cuando se inicia un servicio NS$<instance_name>, determina dónde 
se está ejecutando (el nombre de su host) y después compara este 
valor con el valor <SystemName> de cada distribuidor, proveedor 
de eventos alojado y generador. Si el nombre del host coincide 
con el valor <SystemName>, el servicio inicia el componente. Los 
componentes que no coinciden se cambian al estado "Enabled 
Pending" (pendientes de habilitar).

El servicio determina su nombre de host de la siguiente manera:

* Para servidores no agrupados, el nombre del host es 
  simplemente el nombre del equipo. 

* Para servidores agrupados, el nombre del host es el nombre del 
  clúster (no del nodo ni del servidor virtual). 

Por tanto, si ejecuta Notification Services en un clúster, debe 
definir los valores <SystemName> con el nombre del clúster.

-------------------------------------------------------------
4.12 Service Pack 1: el comando NSControl Create habilita el 
encadenamiento de propiedad entre bases de datos; requiere 
privilegios Sysadmin
-------------------------------------------------------------
El Service Pack 3 de SQL Server 2000 incluye opciones para 
configurar el encadenamiento de propiedad entre bases de datos. 
Cuando se instala el Service Pack 3, el encadenamiento de 
propiedad entre bases de datos está deshabilitado de manera 
predeterminada para todas las bases de datos de usuario. Tras la 
instalación, puede habilitar el encadenamiento de propiedad 
entre bases de datos para bases de datos individuales, 
utilizando el procedimiento almacenado del sistema sp_dboption.

Una instancia de Notification Services utiliza dos o más bases 
de datos: una base de datos de instancia y una o varias bases de 
datos de aplicación. Estas bases de datos requieren 
encadenamiento de propiedad entre bases de datos para permitir 
que los procedimientos almacenados de Notification Services 
tengan acceso a los objetos de las bases de datos de instancia y 
de aplicación.

Cuando se ejecuta NSControl Create, NSControl intenta activar el 
encadenamiento de propiedad entre bases de datos para las bases 
de datos de instancia y de aplicación. Si las bases de datos de 
SQL Server 2000 son anteriores al Service Pack 3, se pasan por 
alto los comandos de encadenamiento de propiedad entre bases de 
datos.

Sólo los miembros de la función fija de servidor sysadmin pueden 
configurar el encadenamiento de propiedad entre bases de datos. 
Como resultado, NSControl activa el encadenamiento de propiedad 
entre bases de datos sólo si lo ejecutan miembros de la función 
de servidor sysadmin. Un usuario que sea miembro de la función 
fija de servidor dbcreator puede ejecutar NSControl Create, pero 
no se activará el encadenamiento de propiedad entre bases de 
datos para las bases de datos de instancia y de aplicación. 

Por tanto, si ejecuta NSControl Create, pero no es miembro de la 
función de servidor sysadmin, un miembro de esta función debe 
habilitar el encadenamiento de propiedad entre bases de datos de 
la base de datos de instancia y todas las bases de datos de 
aplicación, para que pueda ejecutar la instancia de Notification 
Services.

Encontrará información adicional acerca del encadenamiento de 
propiedad entre bases de datos en los Libros en pantalla de SQL 
Server 2000 (actualizado - SP3). Los temas siguientes tratan el 
encadenamiento de propiedad entre bases de datos:

 - Compatibilidad con versiones anteriores para las cadenas de 
   propiedad entre bases de datos
 - Usar las cadenas de propiedad
 - sp_dboption
 - Establecer las opciones de configuración

Puede descargar los Libros en pantalla de SQL Server 2000 
(actualizado - SP3) en la dirección 
http://go.microsoft.com/fwlink/?LinkId=16144.

------------------------------------------------------------
4.13 Service Pack 1: escritura de texto sin formato con el 
formateador de contenido XSLT
------------------------------------------------------------
En Notification Services 2.0, el formateador de contenido XSLT 
escribía siempre XML correcto. Por tanto, escribía los 
siguientes caracteres como sus referencias de entidad:  > 
(&gt;), < (&lt;), ' (&apos;), " (&quot;), y & (&amp;).

En el Service Pack 1, el formateador de contenido XSLT puede 
escribir texto sin formato, lo que convierte las referencias de 
entidad en sus caracteres equivalentes. Utilice el elemento 
xsl:output para configurar el texto:

  <xsl:output method="text"/>

El ejemplo siguiente es el archivo "NoOp.xslt" con el método de 
salida definido como texto, con algún texto agregado para 
mostrar que se convierten las referencias de entidad:

  <?xml version="1.0" encoding="UTF-8" ?>

  <xsl:stylesheet version="1.0" 
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:output method="text"/>

     <xsl:template match="*">
     Today&apos;s Notifications:
       <xsl:copy-of select = "." />
     </xsl:template>

  </xsl:stylesheet>

Los cambios implementados en el Service Pack 1 modifican el 
formato de los datos XML. De manera predeterminada, el 
formateador de contenido XSLT escribe XML sin retornos de carro 
ni sangrías. Puede utilizar el atributo "indent" del elemento 
"xsl:output" para sangrar automáticamente los datos XML. 

  <xsl:output method="xml" indent="yes"/>

Si los datos de evento contienen caracteres reservados o 
referencias de entidad, tenga en cuenta lo siguiente:

* Si los datos de evento contienen referencias de entidad o 
  fragmentos XML, defina el atributo DisableEscaping del 
  formateador de contenido como true para que éste no transforme 
  excesivamente los datos (como convertir &amp; en &amp;amp;).

* Si los datos de evento contienen caracteres reservados (como 
  &), defina el atributo DisableEscaping del formateador de 
  contenido como false para que éste convierta los caracteres 
  reservados en código XML válido antes de la transformación 
  final.

Para obtener más información acerca del elemento xsl:output, vea 
la siguiente página de MSDN Online: 
http://go.microsoft.com/fwlink/?LinkId=16145.

------------------------------------------------------------
4.14 Service Pack 1: cambios en el procedimiento almacenado 
NSDiagnosticFailedNotifications
------------------------------------------------------------
En Notification Services 2.0, el procedimiento almacenado 
NSDiagnosticFailedNotifications no devolvía notificaciones no 
realizadas. Esto se ha solucionado en el Service Pack 1 de 
Notification Services 2.0.

NSDiagnosticFailedNotifications devuelve una fila por cada 
intento de entrega no realizado. Si una misma notificación falla 
repetidas veces, aparecen varias filas para esa notificación en 
el conjunto de resultados. 

Observe que las columnas del conjunto de resultados han 
cambiado.

Se han agregado las dos columnas siguientes:

- DeliveryRequestTime
- SentTime

DeliveryRequestTime es la hora a la que el distribuidor pasó la 
notificación al protocolo de entrega para su entrega. Se muestra 
un valor sólo si la opción de registro del distribuidor 
<LogBeforeDeliveryAttempts> es "true" en el archivo ADF.

SentTime es la hora a la que el protocolo de entrega informó del 
estado de entrega de la notificación.

Tenga en cuenta que el informe muestra todas las notificaciones 
no realizadas con un valor SentTime entre los valores 
StartDateTime y EndDateTime proporcionados cuando se ejecuta 
NSDiagnosticFailedNotifications.

Se han quitado las dos columnas siguientes:

- NumberOfDeliveryAttempts
- LastFailureTime

La documentación del procedimiento almacenado actualizado se 
encuentra en el sitio Web de soporte técnico de Microsoft, en la 
dirección http://support.microsoft.com?kbid=818352.

------------------------------------------------------------
4.15 Uso de componentes personalizados creados con la 
     versión 1.1.4322 de .NET Framework
------------------------------------------------------------
El Service Pack 1 de Notification Services 2.0 se ha creado con 
la versión 1.0.3705 de .NET Framework. De manera predeterminada, 
Notification Services intenta cargar y utilizar esta versión. 
Si un componente personalizado se creó con la versión 1.1.4322 
de .NET Framework, se carga también esta versión. Cuando 
Notification Services y el componente utilizan versiones 
diferentes de .NET Framework, las diferencias en las bibliotecas
de clases pueden dar lugar a errores en la aplicación, como los 
siguientes:

 * 2009: Notification Services no pudo crear una instancia 
         del proveedor de eventos.
 * 6005: El ensamblado no contiene la clase de formateador 
         de contenido necesaria.

Para resolver estos errores, cree componentes personalizados 
utilizando la versión 1.0.3705 de .NET Framework. Para ello, 
agregue el directorio que contiene los ensamblados de la versión 
1.0.3705 a la ruta de referencias del proyecto de componentes 
personalizados.

Si tiene que crear componentes personalizados con la versión 
1.1.4322 de .NET Framework, puede forzar Notification Services 
a utilizar la misma versión. Para ello, agregue un nodo 
<startup> al archivo NSService.exe.config, que se encuentra 
en la carpeta vN.N.N.N\Bin de Notification Services. En el 
ejemplo siguiente, se muestra el archivo con el nodo 
<startup>:

<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v1.1.4322"/>
        <supportedRuntime version="v1.0.3705"/>
    </startup>
    <system.diagnostics>
        <switches>
            <add name="LogAdministrative" value="2"/>
            <add name="LogService" value="2"/>
            <add name="LogEventProvider" value="2"/>
            <add name="LogEventCollector" value="2"/>
            <add name="LogGenerator" value="2"/>
            <add name="LogDistributor" value="2"/>
            <add name="LogVacuumer" value="2"/>
            <add name="LogOther" value="2"/>
            <add name="LogPerformanceMonitor" value="2"/>
        </switches>
    </system.diagnostics>
</configuration>

Los elementos <supportedRuntime> restringen las versiones de 
.NET Framework que puede utilizar Notification Services. El orden 
en el que se enumeran las versiones determina el orden en el que 
Notification Services intenta cargar las versiones de .NET 
Framework. En el ejemplo anterior, Notification Services 
intentará cargar primero la versión 1.1.4322 de .NET Framework. 
Si no está disponible, intentará cargar la versión 1.0.3705. 

Debe reiniciar el servicio NS$<instance_name> para aplicar los 
cambios realizados en el archivo NSService.exe.config.