FIX: SQL Server FixList for Version 4.20bK15Article ID: Q119772 - Microsoft SQL Server version 4.2b for OS/2 The following is a list of fixes and other various improvements that have been made in SQL Server version 4.2bK15 for OS/2. SQL Server version 4.2bK15 is now available from your primary support provider. For more information, please contact your primary support provider. Please note that workarounds have been provided for your information only. It is not necessary to implement these workarounds if you have the updated software. List of Problems Corrected in 4.20bK15
FIX: Repeated Exec of Stored Proc May GP Fault the Server
SYMPTOMS
The stored procedure definition must be like the following: create procedure test_proc as select count(distinct column1+column2) from table1 where ... (Assume that both column1 and column2 are defined as char(2).)
WORKAROUND
create procedure test_proc as begin create table #temp_sum (sum1 char(4)) insert into #temp_sum select column1+column2 from table1 select count(distinct sum1) from #temp_sum end FIX: Default Using Global Variable GP Faults the Server
SYMPTOMS
CAUSE
create default problem_default as @@spid If values are specified for the column so that the default is not used to insert a value into the field, a GP fault will not occur. A default that produces a value derived from a system variable, such as create default problem_default as convert( char(10), @@spid ) will produce a GP fault.
WORKAROUND
FIX: Multiple Procedures in Transaction Causes GP Fault
SYMPTOMS
Warning: OPEN OBJECTS parameter may be too low; attempt was made to free up descriptors in localdes(). Run sp_configure to increase parameter value. CAUSE SQL Server incorrectly handles the execution of stored procedures that do updates within a user-defined transaction when the value of open objects is low. WORKAROUND
FIX: SELECT INTO with Outer Join Can GP Fault Server
SYMPTOMS
A protection violation has occurred. The minimum conditions required for replication are the following:
Following is a minimal example of the table structures and query required to GP fault the server. You will need to have at least 580 rows of data in t1 to replicate the error. /*****************************************************/ /* Set up the two tables */ /*****************************************************/ use pubs go drop table t1 go create table t1 (c1 char(2) null, c2 varchar(10) null, c3 varchar(10) null) go drop table t2 go create table t2 (c4 char(2), c5 money) go /**************************************************/ /* The query */ /**************************************************/ /* Need to insert data or query will not crash. */ select c2, c3, c5 into #temp_snapshot from t1, t2 where t1.c1 *= t2.c4 group by c2, c3, c5 go FIX: Column Mismatch on SELECT-UNION INSERT May Cause GP Fault
SYMPTOMS
The following command causes the server to GP fault: INSERT INTO table1 (month_date , year_date ) SELECT t2.month_d, t2.year_d FROM table2 t2 UNION SELECT t3.month_d /* missing year_d */ FROM table3 t3 go NOTE: This syntax error in the UNION column lists only causes of the GP fault if the UNION is in an INSERT. Running the UNION by itself generates a syntax error.
WORKAROUND
FIX: SELECT with Outer Join and a GROUP BY Can GP Fault Server
SYMPTOMS
SYS1943: A Program Caused a Protection Violation. The first table should have three columns, at least two of which should be VARCHAR or CHAR.
The first table should have at least 580 rows.
The second table should have at least one CHAR and a FLOAT column and zero or more rows.
There should be at least one outer join between the tables.
The group by should contain a minimum of at least two CHAR or VARCHAR columns from the first table and the float column from second table.
NOTE: The error occurrence is data specific and cannot be reproduced through random set of data.
MORE INFORMATION
use pubs go dump tran pubs with no_log go drop table t1 go create table t1 (c1 char(2) null, c2 varchar(10) null, c3 varchar(10) null) go drop table t2 go create table t2 (c4 char(2), c5 float) go Select c2, c3, c5 from t1, t2 where t1.c1 *= t2.c4 group by c2, c3, c5 go FIX: SELECT with More Than 125 SUM Columns Can GP Fault Server
SYMPTOMS
Example ------- select sum(c2), sum(c3), sum(c4), ... sum(c124), sum(c125), sum(c126) from t1 group by c1 WORKAROUND To avoid this problem, you can split the table into multiple tables and do a join, or you can do an inner join on the single table. FIX: INSERT INTO a Temporary Table Can Cause GP Fault
SYMPTOMS
CAUSE
- The INSERT INTO the temporary table must be within a stored procedure. - You must be inserting into the temporary table using a SELECT statement that returns at least part of the temporary table in question. - It will only occur with specific datasets. |
Additional query words:
Keywords : SSrvServer kbfixlist
Version : 4.2b 4.2bK15
Platform : OS/2
Issue type : kbref
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
©1997 Microsoft Corporation. All rights reserved. Legal Notices.