https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/819955&feed=atom&action=history
Microsoft KB Archive/819955 - Revision history
2024-03-29T07:44:35Z
Revision history for this page on the wiki
MediaWiki 1.39.3
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/819955&diff=195139&oldid=prev
3155ffGd: importing KB archive
2020-07-18T17:05:57Z
<p>importing KB archive</p>
<p><b>New page</b></p><div><div id="nsbanner"><br />
<br />
<div id="bannerrow1"><br />
<br />
{|<br />
| Knowledge Base<br />
|<br />
|}<br />
<br />
<br />
</div><br />
<div id="TitleRow"><br />
<br />
= <span id="KB819955"></span>FIX: Using xp_sendmail with a COMPUTE Clause Causes an Access Violation =<br />
<br />
<br />
</div><br />
<br />
</div><br />
<div id="nstext" valign="BOTTOM"><br />
<br />
Article ID: 819955<br />
<br />
Article Last Modified on 11/2/2007<br />
<br />
<br />
-----<br />
<br />
APPLIES TO<br /><br />
<br /><br />
<br />
* Microsoft SQL Server 2000 Developer Edition<br />
* Microsoft SQL Server 2000 Standard Edition<br />
* Microsoft SQL Server 2000 Enterprise Edition<br />
* Microsoft SQL Server 2000 Personal Edition<br />
* Microsoft SQL Server 2000 Enterprise Edition<br />
* Microsoft SQL Server 2000 Workgroup Edition<br />
* Microsoft SQL Server 2000 Desktop Engine (Windows)<br />
* Microsoft SQL Server 2000 Developer Edition<br />
* Microsoft SQL Server 2000 Enterprise Edition 64-bit<br />
<br />
<br />
-----<br />
<br />
<div class="notice_section"><br />
<br />
BUG #: 469145 (SHILOH_BUGS)<br />
<br />
</div><br />
<div class="symptoms_section"><br />
<br />
== SYMPTOMS ==<br />
<br />
A call to the '''xp_sendmail''' extended stored procedure might cause a handled Access Violation when all the following conditions are met:<br />
* The '''xp_sendmail''' call must use the ''@query'' parameter to send a recordset.<br />
* The query passed to the ''@query'' parameter must include a COMPUTE clause.<br />
* The query must return no rows.<br />
<br />
Here is an example of a query that might experience this problem:<br />
<pre class="codesample"> EXEC master..xp_sendmail <br />
@recipients = 'recipient_email_address',<br />
@message = 'Total Sum of Job ID' ,<br />
@subject = 'Compute Sum',<br />
@width = 133 ,<br />
@query = 'SELECT emp_id, fname, minit, lname, job_id, job_lvl, pub_id FROM pubs.dbo.employee WHERE 1=0 COMPUTE SUM (job_id)'</pre><br />
'''Note''' This problem is a regression that only affects a small number of post-SQL Server 2000 Service Pack 3 hotfix releases. This problem only applies to server computers that are running SQL Server 2000 hotfix builds between build 780 and 807 (inclusive). Check the version of the Sqlmap70.dll file that is in the BINN folder of the instance of SQL Server to determine if the instance is affected. The affected file version has the following attributes:<br />
<pre class="fixed_text"> Date Time Version Size File name<br />
--------------------------------------------------------------<br />
28-Feb-2003 01:34 2000.80.778.0 176,696 bytes Sqlmap70.dll<br />
</pre><br />
<br />
</div><br />
<div class="resolution_section"><br />
<br />
== RESOLUTION ==<br />
<br />
=== Service pack information ===<br />
<br />
To resolve this problem, obtain the latest service pack for Microsoft SQL Server 2000. For additional information, click the following article number to view the article in the Microsoft Knowledge Base:<br />
<div class="indent"><br />
<br />
[[../290211|290211]] How to obtain the latest SQL Server 2000 service pack<br />
<br />
<br />
</div><br />
=== Hotfix information ===<br />
<br />
'''Note''' This hotfix (build 811) can only be applied to SQL Server 2000 Service Pack 3.<br /><br />
<br /><br />
The English version of this fix has the file attributes (or later) that are listed in the following table. The dates and times for these files are listed in coordinated universal time (UTC). When you view the file information, it is converted to local time. To find the difference between UTC and local time, use the '''Time Zone''' tab in the Date and Time tool in Control Panel.<br />
<pre class="fixed_text"> Date Time Version Size File name<br />
-------------------------------------------------------------------------------<br />
26-Feb-2003 03:41 2000.80.777.0 29,244 bytes Dbmslpcn.dll <br />
08-Feb-2003 05:43 786,432 bytes Distmdl.ldf<br />
08-Feb-2003 05:43 2,359,296 bytes Distmdl.mdf<br />
30-Jan-2003 01:55 180 bytes Drop_repl_hotfix.sql<br />
07-Apr-2003 19:15 2000.80.801.0 1,557,052 bytes Dtsui.dll <br />
24-Apr-2003 02:51 747,927 bytes Instdist.sql<br />
30-Jan-2003 01:55 1,402 bytes Inst_repl_hotfix.sql<br />
08-Feb-2003 06:40 2000.80.765.0 90,692 bytes Msgprox.dll <br />
01-Apr-2003 02:07 1,873 bytes Odsole.sql<br />
05-Apr-2003 01:46 2000.80.800.0 62,024 bytes Odsole70.dll <br />
02-Apr-2003 21:48 2000.80.796.0 57,904 bytes Osql.exe <br />
02-Apr-2003 23:15 2000.80.797.0 279,104 bytes Pfutil80.dll <br />
04-Apr-2003 21:27 1,083,467 bytes Replmerg.sql<br />
04-Apr-2003 21:53 2000.80.798.0 221,768 bytes Replprov.dll <br />
08-Feb-2003 06:40 2000.80.765.0 307,784 bytes Replrec.dll <br />
01-Apr-2003 02:23 1,084,828 bytes Replsys.sql<br />
16-Apr-2003 22:39 115,892 bytes Sp3_serv_uni.sql<br />
07-Apr-2003 17:44 25,172 bytes Sqldumper.exe <br />
19-Mar-2003 18:20 2000.80.789.0 28,672 bytes Sqlevn70.rll<br />
24-Apr-2003 05:39 2000.80.811.0 176,696 bytes Sqlmap70.dll <br />
08-Feb-2003 06:40 2000.80.765.0 57,920 bytes Sqlrepss.dll <br />
24-Apr-2003 05:39 2000.80.811.0 7,540,817 bytes Sqlservr.exe <br />
08-Feb-2003 06:40 2000.80.765.0 45,644 bytes Sqlvdi.dll <br />
26-Feb-2003 03:41 2000.80.777.0 29,244 bytes Ssmslpcn.dll <br />
26-Feb-2003 03:41 2000.80.777.0 82,492 bytes Ssnetlib.dll <br />
28-Feb-2003 01:34 2000.80.778.0 98,872 bytes Xpweb70.dll</pre><br />
'''Note''' Because of file dependencies, the most recent hotfix or feature that contains the files may also contain additional files.<br /><br />
<br />
<br />
</div><br />
<div class="status_section"><br />
<br />
== STATUS ==<br />
<br />
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article. This problem was first corrected in Microsoft SQL Server 2000 Service Pack 4.<br />
<br />
</div><br />
<div class="workaround_section"><br />
<br />
== WORKAROUND ==<br />
<br />
To work around the problem you can modify the query so that it only performs a COMPUTE when there are rows to be returned. For example, you can modify the query in the &quot;Symptoms&quot; section as follows to avoid the problem:<br />
<pre class="codesample">EXEC master..xp_sendmail <br />
@recipients = 'recipient_email_address',<br />
@message = 'Total Sum of Job ID' ,<br />
@subject = 'Compute Sum',<br />
@width = 133 ,<br />
@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]'</pre><br />
<br />
</div><br />
<div class="references_section"><br />
<br />
== REFERENCES ==<br />
<br />
<br />
</div><br />
Keywords: kbbug kbfix kbqfe kbsqlserv2000presp4fix kbhotfixserver KB819955<br />
<br />
<div class="footer"><br />
<br />
<br /><br />
<br />
<br />
-----<br />
<br />
[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]<br />
<br />
<span>© Microsoft Corporation. All rights reserved.</span><br />
<br />
<br />
</div><br />
<br />
</div></div>
3155ffGd