Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

REVISIÓN: Utilizar xp_sendmail con una cláusula COMPUTE causa una infracción de acceso

IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.

Haga clic aquí para ver el artículo original (en inglés): 819955
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Nº DE ERROR: 469145 (SHILOH_BUGS)
Síntomas
Una llamada para el procedimiento almacenado extendido xp_sendmail puede provocar una infracción de acceso controlado cuando se cumplen todas las condiciones de las siguientes:
  • La llamada de xp_sendmail debe utilizar la consulta @ parámetro para enviar un conjunto de registros.
  • La consulta pasada a la consulta @ parámetro debe incluir una cláusula COMPUTE.
  • La consulta no debe devolver ninguna fila.
Éste es un ejemplo de una consulta que podría experimentar este problema:
 EXEC master..xp_sendmail  @recipients = 'recipient_email_address', @message = 'Total Sum of Job ID' , @subject = 'Compute Sum', @width = 133 , @query = 'SELECT emp_id, fname, minit, lname, job_id, job_lvl, pub_id FROM pubs.dbo.employee WHERE 1=0 COMPUTE SUM (job_id)'
Nota este problema es una regresión que sólo afecta a un pequeño número de versiones de posterior de SQL Server 2000 Service Pack 3 revisión. Este problema sólo se aplica a los equipos de servidor que ejecutan versiones de hotfix de SQL Server 2000 entre generación 780 y 807 (inclusive). Compruebe la versión del archivo Sqlmap70.dll que está en la carpeta BINN de la instancia de SQL Server para determinar si la instancia de se verá afectada. La versión del archivo afectado tiene los siguientes atributos:
   Date         Time   Version        Size           File name   --------------------------------------------------------------   28-Feb-2003  01:34  2000.80.778.0  176,696 bytes  Sqlmap70.dll				
Solución

Información de Service Pack

Para resolver este problema, consiga el Service Pack más reciente para Microsoft SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211Cómo obtener el Service Pack más reciente de SQL Server 2000

Información de revisiones

Nota Esta revisión (compilación 811) sólo puede aplicarse a Pack 3 de SQL Server 2000.

La versión en inglés de esta revisión tiene los atributos de archivo enumerados en la siguiente tabla u otros posteriores. Las fechas y horas de estos archivos aparecen en la hora universal coordinada (UTC). La información de los archivos se convertirá a la hora local cuando la vea. Para averiguar la diferencia entre hora UTC y la hora local, utilice la ficha zona horaria de la herramienta fecha y hora en el panel de control.
   Date         Time   Version         Size             File name   -------------------------------------------------------------------------------   26-Feb-2003  03:41  2000.80.777.0      29,244 bytes  Dbmslpcn.dll        08-Feb-2003  05:43                    786,432 bytes  Distmdl.ldf   08-Feb-2003  05:43                  2,359,296 bytes  Distmdl.mdf   30-Jan-2003  01:55                        180 bytes  Drop_repl_hotfix.sql   07-Apr-2003  19:15  2000.80.801.0   1,557,052 bytes  Dtsui.dll           24-Apr-2003  02:51                    747,927 bytes  Instdist.sql   30-Jan-2003  01:55                      1,402 bytes  Inst_repl_hotfix.sql   08-Feb-2003  06:40  2000.80.765.0      90,692 bytes  Msgprox.dll         01-Apr-2003  02:07                      1,873 bytes  Odsole.sql   05-Apr-2003  01:46  2000.80.800.0      62,024 bytes  Odsole70.dll        02-Apr-2003  21:48  2000.80.796.0      57,904 bytes  Osql.exe            02-Apr-2003  23:15  2000.80.797.0     279,104 bytes  Pfutil80.dll        04-Apr-2003  21:27                  1,083,467 bytes  Replmerg.sql   04-Apr-2003  21:53  2000.80.798.0     221,768 bytes  Replprov.dll        08-Feb-2003  06:40  2000.80.765.0     307,784 bytes  Replrec.dll         01-Apr-2003  02:23                  1,084,828 bytes  Replsys.sql   16-Apr-2003  22:39                    115,892 bytes  Sp3_serv_uni.sql   07-Apr-2003  17:44                     25,172 bytes  Sqldumper.exe       19-Mar-2003  18:20  2000.80.789.0      28,672 bytes  Sqlevn70.rll   24-Apr-2003  05:39  2000.80.811.0     176,696 bytes  Sqlmap70.dll        08-Feb-2003  06:40  2000.80.765.0      57,920 bytes  Sqlrepss.dll        24-Apr-2003  05:39  2000.80.811.0   7,540,817 bytes  Sqlservr.exe        08-Feb-2003  06:40  2000.80.765.0      45,644 bytes  Sqlvdi.dll          26-Feb-2003  03:41  2000.80.777.0      29,244 bytes  Ssmslpcn.dll        26-Feb-2003  03:41  2000.80.777.0      82,492 bytes  Ssnetlib.dll        28-Feb-2003  01:34  2000.80.778.0      98,872 bytes  Xpweb70.dll
Nota debido de dependencias de archivo, la revisión más reciente o característica que contiene los archivos pueden contener archivos adicionales.
Estado
Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:" de este artículo. Este problema se corrigió por primera vez en Pack 4 de Microsoft SQL Server 2000.
Solución
Para solucionar el problema puede modificar la consulta para que sólo realiza una COMPUTE cuando hay filas que se va a devolver. Por ejemplo, puede modificar la consulta en la sección "Síntomas" manera para evitar el problema:
EXEC master..xp_sendmail  @recipients = 'recipient_email_address', @message = 'Total Sum of Job ID' , @subject = 'Compute Sum', @width = 133 , @query = 'IF EXISTS (SELECT 1  FROM pubs.dbo.employee WHERE 1=0)  SELECT emp_id, fname, minit, lname, job_id, job_lvl, pub_id FROM pubs.dbo.employee WHERE 1=0 COMPUTE SUM (job_id) ELSE SELECT ''No Data'' as [SUM]'
Referencias

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 819955 - Última revisión: 02/26/2014 21:06:17 - Revisión: 9.4

Microsoft SQL Server 2000 Developer Edition, Microsoft SQL Server 2000 Standard Edition, Microsoft SQL Server 2000 Enterprise Edition, Microsoft SQL Server 2000 Personal Edition, Microsoft SQL Server 2000 Workgroup Edition, Microsoft SQL Server 2000 Desktop Engine (Windows), Microsoft SQL Server 2000 Enterprise Edition 64-bit

  • kbnosurvey kbarchive kbmt kbhotfixserver kbqfe kbqfe kbsqlserv2000presp4fix kbfix kbbug KB819955 KbMtes
Comentarios