This issue of SYBASE Technical News contains new information about your SYBASE software. If needed, duplicate this newsletter and distribute it to others in your organization. All issues of SYBASE Technical News and the troubleshooting guides are included on the AnswerBase CD.
To receive this document by regular email, send name, full internet address and customer ID to technews@sybase.com.
Sybase Technical Support has been sending out a Technical Support Case Closure Satisfaction Survey for 16 months (September 1993 through January 1995). In October 1994, based on feedback from customers who had responded to the survey, we modified the survey process such that:
/etc/mknod /dev/async c 101 0The command should read as follows:
/etc/mknod /dev/async c 101 0x7Here is the corrected section in the installasynch80 script, which you will find in your $SYBASE/install directory:
# #
A new configuration interface for the next generation of SQL Servers after System 10[TM] will render both the -y and -r command line flags to buildmaster obsolete.
All configurable options (cdbnum, cmemsize, cfgxdes, and so on) will be placed in a configuration file, which is in a text format.
In System 10 and earlier releases, buildmaster -y and -r are used to change the values of options in the config block of SQL Server. They will no longer be needed because the new configuration interface will allow users to modify the values in a flat text config file. Also, the names in the config file will not be cdbnum, cmemsize, and the like, but will be "number of databases", "total memory", and so forth, rendering the information more understandable.
If the config file cannot be booted, SQL Server will still be able to start under the default settings (formerly the -r option) by not specifying a configuration file.
In addition, the dynamically tunable parameters will be changed with the sp_configure command, not when reconfigure is run.
Watch your Technical News for more information as it becomes available.
WARNING! Although the following procedure has been tested rigorously and used at many customer sites, it uses undocumented and unsupported dbcc commands.
If you are issuing a dump transaction command and find that the log is not being truncated, it is possible that an open transaction is preventing the log from being cleared. This occurs because dump transaction will only truncate the log up to, but not including, the log page that contains the begin transaction for the oldest active transaction. You can use the following procedure to determine the spid, suid, and time of the open transaction (you must be the "sa" user or have the sa role to use this procedure):
dbcc traceon(3604) go
dbcc log(dbid,0,0,0,-1,17,0) go
LOG RECORDS:
NOTE: This technique is not valid if the length field has a value of 52 or less. In this case, execute a checkpoint and try again.
dbcc log(dbid,1,262,3,1,0,1) goOutput in the example case looks like this:
LOG RECORDS:
use master go select name from syslogins where suid = suid goNow run sp_who to see if there is an entry that contains both the SPID and login name obtained above. If so, follow up with the user to find out what their transaction is and if they can exit their program or isql session or issue a commit tran. Alternatively, you can immediately kill the process yourself. This should terminate the process and resolve the blocking transaction. Issuing the dump transaction command again should clear the log.
If the log is still not being cleared, or if there is not a matching entry in sp_who, then the user that issued the blocking begin tran is no longer logged onto SQL Server but SQL Server is unaware of this. This occurs primarily when a user connecting from a PC client has powered off the PC in the middle of a transaction, has exited a third-party application by pressing ctrl-C, or has encountered network errors on terminating the connection to SQL Server. In this case, if kill did not work, the only recourse is to reboot SQL Server.
If a user was not knowingly holding an open transaction, you can examine your SQL Server error log for clues to help you diagnose why the transaction was left open. Messages to look for include "current process infected", "network error was encountered" (Error 1608), "host process disconnected," and stack traces. Sybase Technical Support can help you analyze these errors. If you have a UNIX environment where this problem is occurring frequently, you may want to adjust your keepalive kernel parameter to a lower value. See your SYBASE System Administration Guide Supplement, operating system documentation, or contact your operating system vendor for more information on the keepalive parameter and how to set it. If your environment consists of a number of users utilizing a single login to access SQL Server, Sybase Technical Support can give you trace flags to help track down the user who is causing the problem.
NOTE: PowerBuilder users: When keepalive fails to clear a
Here is a sample of the output:
[...] Alloc page 16128 (# of extent=1 used pages=1 ref pages=1) Alloc page 16384 (# of extent=1 used pages=1 ref pages=1) Alloc page 16640 (# of extent=1 used pages=1 ref pages=1) [...]
The above output does not show that one page is used per extent on many allocation units; it shows that one extent is in use and that, on that extent, one page is allocated. That is, exactly one page is allocated out of that group of 256 pages.
That page is, of course, the allocation page itself, which is always allocated. The other 255 pages on each such allocation unit are available to whatever object needs the space.
NOTE: Normally an extent is owned by whatever object/index combination first grabs space on it. The first extent on each allocation unit, which controls the allocation page itself, is an exception: the allocation page is always allocated, but the extent is considered free if that page is the only one allocated.
Following the recovery procedure outlined in the Replication Server Administration Guide dated October 21, 1993, for Replication Server System Database (RSSD) recovery could possibly put the Log Transfer Manager (LTM) into an infinite loop.
Please substitute the following revised sections for the sections that appear in the chapter, "Replication System Recovery" of any Replication Server Administration Guide dated prior to March 15, 1995.
The procedure you use to recover an RSSD depends on how much RSSD activity there has been since the last RSSD dump. There are four increasingly severe levels of RSSD failure, with corresponding recovery requirements. Use Table 1: Recovering from RSSD failures to locate the RSSD recovery procedure you need.
| Activity Since Last Dump | Use This Procedure |
|---|---|
| No DDL activity | Basic RSSD Recovery Procedure |
| DDL activity, but no new routes or subscriptions were created | Subscription Comparison Procedure |
| DDL activity, but no new subscriptions were created | Subscription Re-Creation Procedure |
| New routes were created | Deintegration/Reintegration Procedure |
Use the basic RSSD recovery procedure to restore the RSSD if you have executed no DDL commands since the last RSSD dump. DDL commands in RCL include those for creating, altering, or deleting routes, replication definitions, subscriptions, function strings, functions, function string classes, or error classes.
Certain steps in this procedure are also referenced by other RSSD recovery procedures in this article and in the Replication Server Administration Guide.
The current Replication Server refers to the one with the RSSD you are recovering. An upstream Replication Server is a Replication Server that has a direct or indirect route to the current Replication Server. A downstream Replication Server is a Replication Server to which the current Replication Server has a direct or indirect route.
WARNING! Do not execute any DDL commands until you have completed this recovery procedure.
To perform basic RSSD recovery, follow these steps:
You must start the Replication Server in standalone mode, because the stable queues are now inconsistent with the RSSD state. When the Replication Server starts in standalone mode, reading of the stable queues is not automatically activated.
admin get_generation, data_server, rssd_nameFor example, the Replication Server may return a generation number of 100.
rebuild queuesSee "Rebuilding Queues Online" in the Replication Server Administration Guide for a description of this process.
If all your routes were active at the time of failure, you probably will not experience any real data loss.
However, loss detection may indicate real loss. Real data loss may be detected if the database logs were truncated at the primary databases, so that the rebuild process did not have enough information to recover. If you have real data loss, reload database logs from old dumps. See "Recovering from Truncated Primary Database Logs" in the Replication Server Administration Guide.
See "Loss Detection After Rebuilding Stable Queues" in the Replication Server Administration Guide for background and details on loss detection.
use rssd_name
go
dbcc settrunc('ltm', 'ignore')
go
begin tran commit tran
go 40
dbcc settrunc('ltm', 'valid')
go
Note: The go 40 command moves the SQL Server log onto the next page.
use rssd_name
go
dbcc settrunc('ltm', 'gen_id', 101)
go
Make a record of this generation number and of the current time,
so that you can return to this RSSD recovery procedure, if
necessary. Or, you can dump the database after setting the
generation number.
If you performed this procedure as part of the subscription comparison or subscription re-creation procedure, note that the upstream RSI outbound queue may contain transactions bound for the RSSD of the current Replication Server that have already been applied by using rs_subcmp. If this is the case, after starting the Replication Server, the error log may contain warnings referring to duplicate inserts. You can safely ignore these warnings.
Follow this RSSD recovery procedure if you have executed some DDL commands since the last transaction dump, but you have not created any new subscriptions or routes. DDL commands in RCL include those for creating, altering, or deleting routes, replication definitions, subscriptions, function strings, functions, function string classes, or error classes.
Following this procedure makes the failed RSSD consistent with upstream RSSDs or consistent with the most recent database and transaction dumps (if there is no upstream Replication Server). It then makes downstream RSSDs consistent with the recovered RSSD.
WARNING! Do not execute any DDL commands until you have completed this recovery procedure.
The current Replication Server refers to the one with the RSSD you are recovering. An upstream Replication Server is a Replication Server that has a direct or indirect route to the current Replication Server. A downstream Replication Server is a Replication Server to which the current Replication Server has a direct or indirect route.
If DDL commands have been executed at the current Replication Server since the last transaction dump, you may have to re-execute them.
To restore an RSSD with subscription comparison, follow these steps:
The failed RSSD should now be recovered.
All downstream RSSDs should now be fully recovered.
When you execute rs_subcmp on replicated RSSD tables, for the subscription comparison and subscription re-creation RSSD recovery procedures, for each system table, the where and order by clauses of the select statement must be formulated to select all rows that must be replicated.
Table 2 illustrates the general form of these select statements.
| RSSD Table Name | select Statement |
|---|---|
| rs_classes | select * from rs_classes where prsid in sub_select order by primary_keys |
| rs_columns | select * from rs_columns where prsid in sub_select and rowtype = 1 order by primary_keys |
| rs_databases | select * from rs_databases where prsid in sub_select and rowtype = 1 order by primary_keys |
| rs_erroractions | select * from rs_erroractions where prsid in sub_select order by primary_keys |
| rs_funcstrings | select * from rs_funcstrings where prsid in sub_select and rowtype = 1 order by primary_keys |
| rs_functions | select * from rs_functions where prsid in sub_select and rowtype = 1 order by primary_keys |
| rs_objects | select * from rs_objects where prsid in sub_select and rowtype = 1 order by primary_keys |
| rs_systext | select * from rs_systext where prsid in sub_select and texttype in ('O', 'S') order by primary_keys |
In the select statements in Table 2, sub_select represents the following statement, which selects all site IDs that are the source Replication Servers for the current Replication Server:
(select source_rsid from rs_routes where (through_rsid = PRS_site_ID
For the rs_columns, rs_databases, rs_funcstrings, rs_functions, and rs_objects system tables, if rowtype = 1, then the row is a replicated row. Only replicated rows need be compared using rs_subcmp.
For each system table, the primary_keys are its unique indexes.
The default function string class rs_sqlserver_function_class and the default error class rs_sqlserver_error_class do not initially have a designated primary site, that is, their site ID = 0.
If the recovering Replication Server was made primary for a function string class or error class since the last transaction dump, the rs_subcmp procedure described earlier in this section would find orphaned rows in downstream RSSDs.
In that event, run rs_subcmp again on the rs_classes, rs_erroractions, rs_funcstrings, and rs_systext system tables. Set prsid = 0, in order to repopulate these tables with the necessary default settings. For example, use the following select statement for the rs_classes table:
select * from rs_classes where prsid = 0 order by primary_keys
Suppose you have the following Replication Server sites in your replication system, where an arrow (-->) indicates a route. Site B is the failed site, and there are no indirect routes.
A-->B C-->B C-->D B-->EThe preceeding Replication Server sites have the following site IDs:
A = 1 B = 2 C = 3 D = 4 E = 5In this example, to bring the RSSDs to a consistent state, you would perform the following tasks, in the order presented, on the rs_classes, rs_erroractions, rs_funcstrings, and rs_systext system tables.
select * from rs_columns where prsid in (select source_rsid from rs_routes where
select * from rs_columns where prsid in (select source_rsid from rs_routes where
select * from rs_columns where prsid in (select source_rsid from rs_routes where
select * from rs_columns where prsid in (select source_rsid from rs_routes where
Follow this RSSD recovery procedure if you have created new subscriptions since the last transaction dump, and if you have executed some other DDL commands, but you have not created any new routes. DDL commands in RCL include those for creating, altering, or deleting routes, replication definitions, subscriptions, function strings, functions, function string classes, or error classes.
As with the subscription comparison RSSD recovery procedure, following this procedure makes the failed RSSD consistent with upstream RSSDs, or consistent with the most recent database and transaction dumps (if there is no upstream Replication Server). It then makes downstream RSSDs consistent with the recovered RSSD.
WARNING! Do not execute any DDL commands until you have completed this recovery procedure.
In this procedure, however, you also either delete or re-create subscriptions that are in a limbo state due to the loss of the RSSD.
The current Replication Server refers to the one with the RSSD you are recovering. An upstream Replication Server is a Replication Server that has a direct or indirect route to the current Replication Server. A downstream Replication Server is a Replication Server to which the current Replication Server has a direct or indirect route.
If DDL commands have been executed at the current Replication Server since the last transaction dump, you may have to re-execute them.
To restore an RSSD that requires that lost subscriptions be re-created, follow these steps:
All LTMs connecting to these Replication Servers shut down automatically when you restart the Replication Servers in standalone mode.
The failed RSSD should now be recovered.
For each system table, rs_subscriptions and rs_rules:
For each system table, rs_subscriptions and rs_rules:
If you created routes since the last time the RSSD was dumped, you are required to perform the following tasks before you can finish recovering the RSSD:
See "Modifying a Replication System," in the Replication Server Administration Guide for details.
See the Replication Server Installation Guide for complete information about reinstalling Replication Server.
See the Replication Server Administration Guide Chapter 6, "Subscribing to Replicated Tables," and Chapter 7, "Managing Routes," for details.
See the Replication Server Commands Reference for more information about the rs_subcmp program and the system tables.
How can I find min or max of two int or float columns forall rows in a table? Is it possible to do min or max ontwo columns at once?
It is entirely possible to do min or max on two columnsat once. Given a table that was created as follows:
create table MINMAX( a int, b int)you can use the following sequence of Transact-SQL commands to get theresults you want:
1> select a,b, 2> "max" = (a+b)/2.0 + abs((a-b)/2.0), 3> "min" = (a+b)/2.0 - abs((a-b)/2.0) 4> from MINMAX 5> go a
How do I convert a money field so that an entire entry, with allfour decimal digits, is visible?
The following example shows one way to display all the digits in asingle string (preserving leading zeros in decimals), given a tablewith one money column loaded as follows:
1> insert into lvmoney2 values ($12345678901.0087) 2> insert into lvmoney2 values ($11170305027104.1195) 3> goStructure your query like this:
select str(floor(m1),15,0) + convert (char(4), replicate("0", 4 - datalength(convert(varchar(4), convert(int, (10000*(m1-floor(m1))) ) ))) + convert(varchar(4), (convert(int, (10000*(m1-floor(m1))) ) ))) from lvmoney2 The output will look like this:------------------- 123456789010087 111703050271041195 (2 rows affected)For further information, see "Float and Money Display Methods" inVolume 3, Number 3 of the SYBASE Technical News (available inAnswerBase when you do a full-text query of the form <title technicalnews>).
Can a backup done by a release 10.0.1 Backup Server be loaded onto arelease 10.0.2 SQL Server?
There are really two issues here, but the short answer is, yes,10.0.1 dumps are compatible with 10.0.2. The two issues are:
Use an editor like vi to edit the upgradesysrefperdb.sqlscript, which is located in the $SYBASE/upgrade directory.Insert the following lines at the beginning of the script:
NOTE: Do not use the script if you are loading a dump from 10.0.1 P2 to 10.0.2. 10.0.1 P2 is completely compatible with 10.0.2, and no additional steps are needed.
use database_name gowhere database_name is the name of the database to be updated.
After you have completed the load, execute theupgradesysrefperdb.sql script as System Administrator:
% isql -Usa -Ppassword -Sserver_name < $SYBASE/upgrade/upgradesysrefperdb.sqlwhere sa is the name of a System Administrator account,password is the password for that account, and server_nameis the name of the 10.0.1/P2 or later SQL Server where you loaded the database.
Repeat steps 1 and 2 for every 10.0 or earlier 10.0.1 databaseloaded on a 10.0.1/P2 or later SQL Server, including the systemdatabases.
Back up all of your databases.
If you use a 10.0 Backup Server with a 10.0.1 SQL Server, you willget this error message:
Open Server Session Fatal Error: 16227.15.0: Unknown token TDS stream received by spidIf you are using the Backup Server that is compatible with your10.0.2 SQL Server, you should be able to load dumps from 10.0 and10.0.1. Be sure to use the compatible Backup Server with your SQLServer: 10.0 with 10.0; 10.0.1 with 10.0.1; 10.0.2 with 10.0.2.
NOTE: An exception to this is the beta SQL Server and Backup Server release. Changes occurred between the beta and production releases that render dumps made by a beta Backup Server unreadable to a production Backup Server. See "Error 16227.15.0" in Chapter 3, "Backup Server", of the SYBASE SQL Server Troubleshooting Guide dated February 14, 1995 for more details.
SQL Server users who have started networking with PC clients oftenquestion the issue of "ghost" connections and keepalive timing that cancause a server to run out of connections rapidly.
The problem is that the PC user is used to running the PC in standalonemode. If the user submits a query to SQL Server which takes too long tofinish, or has made a mistake, the user is likely to reboot the PC, orclose the application with a Ctrl-Alt-Del. The aborted process hangsaround in SQL Server and finishes after about four hours.
While this may seem like a db_cancel problem--that is, that the querydoes not get cancelled when the PC goes down--it is actually due toincomplete coding in the application combined with the value to whichthe keepalive timeout is set on the SQL Server host machine.
Ideally, an application allows the PC user to cancel the query and doesa db_cancel when the user chooses this option. Due to aspects both ofapplication design and of Windows itself, this is not always possible.
Network connections are always peer to peer, meaning that both sidesknow that the other side could go away at any time. However, because ofnetwork traffic and processing considerations, it may take some timefor a machine to respond. This is where keepalive comes in.
The keepalive timer controls how long the machine will wait for aconnected machine to respond; the keepalive interval controls how longthe host will wait between pings to the remote machine; the keepalivecount controls how many times the host will ping the remote machinebefore it gives up and clears the connection.
The problem in the PC-to-UNIX world is that the PC expects everythingto behave as though it is local, while UNIX expects WAN-typeconnections. What this means is that a PC generally has keepalive hardcoded at about one minute. A UNIX machine has a keepalive timer whosedefault setting makes more sense in a world of WAN and low-speedconnections-somewhere around two hours.
To close the connections more quickly, you must decrease the UNIXkeepalive timer to match that of the PC more closely. Depending onnetwork traffic constraints, one to five minutes should be adequate.See your System Administration Guide Supplement oroperating system documentation to find out how to setkeepalive.
To compile Open Client Client-Library[TM] applications under BorlandC++ for Windows, you can either modify the Sybase-supplied samplemakefile, borland.mak, for your program or start a new InteractiveDevelopment Environment (IDE) project. This article explains how to dothe latter.
Include: %BORLAND%\include; %SYBASE%\include; %SYBASE%\sample\ctlib Library: %BORLAND%\lib; %SYBASE%\libWhere %BORLAND% is the Borland compiler home directory and %SYBASE% is the Sybase home directory (this can be set up as default for the compiler).
WIN3;CS_FORCE_PROTOTYPESThese can be included in your header files as well. CS_FORCE_PROTOTYPES causes prototype functions to be generated, eliminating warning messages about functions being used without prototypes.
wcomnlib.lib wintllib.lib wcslib.lib wctlib.lib
For the example programs, you will also need to add exutils.c tothe project.
NOTE: You will also need to add wblklib.lib if you areusing bulk copy routines.
If you are running the Open Client/C Developer's Kit for Macintosh andare having trouble with the ct_init routine failing, even thoughyour LANG variable is set correctly and ctlib.loc isavailable, it may be because the default project size for Think-C istoo small. The default value is 396; try setting its value to at least4000 and compiling your application again.
The following certification reports have been passed along to SYBASETechnical News by the appropriate Sybase engineering groups.
SQL Debug® has been certified to work with SQL Server release 10.0.2 forDEC OSF/1. This corrects an existing problem between SQL Debug and DECOSF/1 SQL Server release 10.0.1 or earlier where a control-of-flowlanguage statement, such as if...else or while, causesSQL Debug to hang.
As of the 10.0.2 release of SQL Server on Solaris 2.x, IPX/SPX iscertified and supported. You need to apply Rollup 4222 for thiscombination to be certified; you may order the Rollup from TechnicalSupport in the usual way.
IPX/SPX is certified at the current release level of Solaris 2.3.
| Platform | Operating System Version | Server | Date | Notes |
|---|---|---|---|---|
| AT&T (NCR) | QIC tape device | 10.01 | 08/94 | Passed. Tape device is supported on all OS levels currently supported for 10.0x. OS patch required: PSCSI version 94.04.25.19 |
| SVR4 2.00.02 (SMP) | 4.9.1 | 04/93 | Passed. Certified with WIN-TCP/IP 2.00.04. Requires ASYNCH I/O patch P2ASYNC. | |
| SVR4 2.00.02 (UP model) | 4.9.1 | 04/93 | Passed. Certified with WIN-TCP: (i386) 02.00.04.02 | |
| SVR4 2.01 | 10.0 | 02/94 | N/A. No plans to certify. | |
| SVR4 2.01 | 4.9.1 | 04/93 | Passed. Certified with WIN-TCP 2.00.05. | |
| SVR4 2.01.01 + Pentium | 4.9.1 | 07/93 | Passed. Certified with WIN-TCP 2.01.00.12 | |
| SVR4 2.02 | 10.0 | 02/94 | Passed. certified with WIN-TCP 2.01.01.08. | |
| SVR4 2.02 | 4.9.2 | 12/93 | Passed. certified with WIN-TCP 2.01.01.08. and Rollup 2025 (built on OS 2.00.01 with patched libdbt). | |
| SVR4 2.02 + pentium | 10.0 | 02/94 | Passed. | |
| SVR4 2.03 | 10.01 | 08/94 | Passed. Certified w/WIN-TCP 2.02.00.07. OS patch PSCSI203 is required for any customer planning to use the HP DAT 4mm tape drive for backupserver. | |
| SVR4 2.03 | 4.9.2 | 09/94 | Passed. Rollup 3165 is built with a new libdbt.a so that SQL Server would work with AT&T UNIX 2.02 and later releases without problems and make use of improved system calls. | |
| SVR4 2.03 + EISA bus | 10.01 | 11/94 | Passed. | |
| SVR4 2.03 + EISA bus | 4.9.2 | 12/94 | Passed. | |
| SVR4 2.03 + SPX/IPX | 10.0.2 | 01/95 | Passed. Bugs entered: sybinit(65591), doc(65604), connectivity(65807,65 817). PC Windows Net-Library EBF #4316 is required for connectivity bug #65807. PC Windows DB-Library (4.2) based clients can connect to the Unix Server. | |
| SVR4 2.03.01 | 10.01 | 12/94 | Passed. A series of patches are needed to support EISA and MCA systems. | |
| SVR4 2.03.01 | 4.9.2 | 12/94 | Passed. A series of patches are needed to support EISA and MCA systems. | |
| DEC Alpha | AXP OpenVMS 1.5 | 4.9.2 | Supported. This was handled as a maintenance rollup release. All customers will be shipped the EBF rollup which supports AXP VMS 1.5. | |
| AXP OpenVMS 1.5 + UCX | 4.9.2 | N/A, No plans to certify. | ||
| AXP OpenVMS 1.5+UCX 3.1 | 10.01 | 09/94 | Passed. UCX (ECO 2 or higher) is required. SQL Server must be configured for double the bytlm. In addition, if user clients are put into a MUTEX state we recommend doubling the bytlm for the number of users. | |
| AXP OpenVMS 6.1 | 10.01 | 12/94 | Passed. Network packages certified: DECnet Phase IV, UCX 3.2 and Multinet 3.3 | |
| AXP OpenVMS 6.1 | 4.9.2 | 01/95 | Passed. Network packages certified: DECnet Phase IV, UCX 3.2 and Multinet 3.3 | |
| OSF/1 1.3 | 10.00 | 11/93 | Passed. | |
| OSF/1 2.0 | 10.01 | 09/94 | Passed. | |
| OSF/1 2.0b | 10.01 | 09/94 | Passed. The "b" in the OS version indicates that the OS is for the new DEC 2100 sable machines. | |
| OSF/1 2.1 | 10.01 | 11/94 | Supported. | |
| OSF/1 3.0 | 10.0.2 | 01/95 | A new product release is required to support OSF/1 3.0. It will be only sent to those customers who request it via the new PID issued as 19555. Contact Sybase Customer Service. | |
| DEC RISC | Ultrix 4.3 | 4.2 | 11/92 | Passed. |
| Ultrix 4.3a | 4.2 | 06/94 | Passed. Requires ebf# 2005. | |
| Ultrix 4.4 | 4.2 | 10/94 | Certified. EBF 2005 or higher required. | |
| DEC VAX | OpenVMS 5.4 + UCX 3.1 | 10.01 | 08/94 | Passed. To run UCX, SQL Server must be configured via the VMS AUTHORIZE utility for double the bytlm stated in the SAG Supplement. In addition the INET device emulator must be loaded before starting SQL Server. |
| OpenVMS 5.4 + Wollongong | 10.01 | 06/94 | Passed. Known problem: The SQL Server runs out of AST quota. This problem has been reported against Wollongong. | |
| OpenVMS 5.5-2 | 10.0 | 02/94 | Passed. | |
| OpenVMS 5.5-2 | 4.9.1 | Supported. | ||
| OpenVMS 6.0 | 10.0 | 04/94 | Passed. As noted in the Release Bulletin customers must install System10 product O/S version 5.4 before upgrading to OpenVMS 6.0. VMSINSTALL is not supported at this OS level. | |
| OpenVMS 6.1 | 10.01 | 01/95 | Passed. Network packages certified: DECnet Phase IV, UCX 3.2 and Multinet 3.2 | |
| OpenVMS 6.1 | 4.9.2 | Passed, Network packages certified: DECnet Phase IV, UCX 3.2 and Multinet 3.2 | ||
| Data General | DGUX 5.4 | 4.2 | Passed, This does not include DGUX 5.41 or 5.42 | |
| DGUX 5.4.2 | 4.2 | 10/92 | Failed. We recommend upgrade to 4.9 after upgrading O/S to DGUX 5.4.2 | |
| DGUX 5.4.2 | 4.9 | Passed. | ||
| DGUX 5.4.2.01 | 10.0 | Passed. | ||
| DGUX 5.4R2 | 4.9.0S | Passed. | ||
| DGUX5.4R2.1 | 10.0.1 | Passed. | ||
| DGUX5.4R2.1 | 10.0sq | Passed. | ||
| DGUX5.4R3.10 | 10.0.1 | 11/94 | Passed. Users with 4-mm and 8-mm tapes must have Rollup 3963 to run this combination. For 8-mm you also need DGUX patch NSQA-18785-0. See technical details in the Release Bulletin for Rollup 3963. | |
| HP300 | HP-UX 8.0 | 4.0.1 10/92 Passed. | ||
| HP700 | HP-UX 8.01 | 4.2 | Passed. | |
| HP-UX 8.05 | 4.2 | Passed. | ||
| HP-UX 8.05 | 4.9.1 | Passed. | ||
| HP-UX 8.07 | 4.2 | 09/92 | Passed. | |
| HP-UX 8.07 | 4.9 | Passed. | ||
| HP-UX 8.07 | 4.9.1 | Passed. | ||
| HP-UX 9.0 | 4.9.1 | Failed. | ||
| HP-UX 9.0.1 | 10.0 | 02/94 | N/A, no plans to certify. | |
| HP-UX 9.0.1 | 4.9.1 | 03/93 | Passed, ASYNC I/O patch PHKL_2162 is required. | |
| HP-UX 9.03 | 10.01 | 03/94 | Passed. | |
| HP-UX 9.03 | 4.9.2 | 03/94 | Passed. Requires HP700 Asynchronous I/O patch# PHKL_3660 | |
| HP-UX 9.05 | 10.0.1 | 12/94 | Passed, Requires patch PHKL_4334 and patch PHKL_4269 - Bug 64656 has been entered for 'installasync70' script incompatibility. | |
| HP-UX 9.05 | 4.9.2 | 12/94 | Passed, Requires patch PHKL_4334 and patch PHKL_4269 - Sybase Bugid 64656 has been entered for 'installasync70' script incompatibility. | |
| HP800 | HP-UX 8.0 | 4.2 | Passed. | |
| HP-UX 8.0 | 4.9 | Passed. | ||
| HP-UX 8.02 | 4.9 | Passed. | ||
| HP-UX 8.02 | 4.9.1 | Passed. | ||
| HP-UX 8.06 | 4.9 | Passed. | ||
| HP-UX 8.08 BLS (Secure) | 4.9.1 | N/A, No plans for certification because BLS does not support asychronous I/O. | ||
| HP-UX 8mm tape device | 10.0 | 10/94 | Passed. | |
| HP-UX 9.0 | 4.9.1 | Passed. | ||
| HP-UX 9.0 using LVM | 4.9.1 | 05/93 | Passed. Bug #41610 reported - 'disk init' will only initialize Logical Volume devices %lt;= 2GB. | |
| HP-UX 9.04 | 10.0 | 03/94 | Passed. | |
| HP-UX 9.04 | 4.9.2 | Passed. | ||
| HP-UX 9.04 using LVM | 10.01 | 10/94 | Passed. Requires Asynch I/O patch PHKL_3624 & LVM Sybase Mirroring patch PHKL_4418 | |
| HP-UX 9.04 using LVM | 4.9.2 | 10/94 | Passed, Requires Asynch I/O patch PHKL_3624 & LVM Sybase Mirroring patch PHKL_4418 | |
| IBM RS6000 | 4mm tape device | 10.01 | 11/94 | Passed. 4mm 2GB (7206-001) has full Backup Server feature support. 4mm 4GB (7206-005) supports all Backup Server features except the ability to write multiple file/volume dumps to a single tape. Bug #63636 has been entered to track this product enhancement. |
| AIX 3.2 | 4.2 | Passed. | ||
| AIX 3.2.1 | 4.9.1 | N/A, No plans for certification | ||
| AIX 3.2.2 | 4.9.1 | N/A, No plans for certification | ||
| AIX 3.2.3e | 4.9.1 | 05/93 | Passed. IBM PTF U418109 is required for AIX 3.2.3e | |
| AIX 3.2.4 | 4.9.2 | 08/93 | Passed. | |
| AIX 3.2.5 | 10.0 | 02/94 | Passed. IBM PTFs (Patches) are required for the following IBM APARs: IX45257, IX41600, IX38605, IX43714 | |
| AIX 3.2.5 | 4.9.2 | 12/93 | Passed. IBM PTFs (Patches) are required for the following IBM APARs: IX45257, IX41600, IX38605, IX43714 | |
| AIX 3.2.5 + PowerPC Chip | 4.9.2 | 12/93 | Passed. IBM PTFs (Patches) are required for the following IBM APARs: IX45257, IX41600, IX38605, IX43714 | |
| AIX 3.2.5 - SPX/IPX | 10.02 | 01/95 | Passed. SQL Server EBF 4283 is required. Bugs entered: sybinit(65590), doc(65603), connectivity(65807,65 817). PC Windows Net-Library EBF #4316 is required for connectivity bug #65807. PC Windows DB-Library (4.2) based clients can connect to the UNIX SQL Server. | |
| AIX 3.2.X SP/1 SP/2 | 10.01 | Supported. | ||
| AIX 3.2.X SP/1 SP/2 | 4.9.2 | Supported. | ||
| AIX 4.1.1 (SMP) | 10.0 | 01/95 | No certification is planned. A new product release is required to support the SMP version of AIX 4.1.1, planned for a later date. | |
| AIX 4.1.1 (UP) | 10.01 | 12/94 | Passed. This certification is based on the uniprocessor version of the AIX 4.1.1 release. | |
| ICL DRS 6000 | DRS/NX V7L2 | 10.0.0 | Passed. | |
| Motorola | SVR4 R$V4.1 | 10.0.0 | Passed. | |
| NEC | SVR4 R6.1 | 10.0.1 | Passed. | |
| PC | NetWare v 4.02 | 10.0.2 | Supported. | |
| Netware 3.1.1 + SFT III | 4.2 | 05/93 | Failed. Severe OS problems were encountered during the certification. | |
| Netware 386 v 3.11 | 4.2 | Passed. This certification also includes the maintenance release of SQL Server 4.2.1 & 4.2.2 | ||
| Netware 386 v 3.12 | 4.2.2 | 03/94 | Passed. Requires EBF# 2388. See release bulletin for NLMs and versions. | |
| Netware 386 v 4.0.1 | 4.2.2 | 12/93 | Passed. Requires EBF #2404 and new CLIB.NLM versions. See ebf coverletter forthe CLIB.NLM version numbers and dates. | |
| Netware 4.0.2 | 4.2.2 | 12/94 | Passed. Requires EBF 3617 or higher. | |
| OS/2 1.2.1 | 4.2 | Passed. | ||
| OS/2 1.3x.x | 4.2 | Passed. | ||
| OS/2 2.0 | 4.2 | Passed. CSD 6055 recommended | ||
| OS/2 2.1 | 4.2 | N/A, No plans to certify. | ||
| SCO 3.2.4 | 4.2 | Passed. | ||
| SCO 3.2.4.2 | 4.2 | 11/93 | Passed. Requires Rollup 1980 and SCO SLS patch UOD378a. Rollup resolves error 611 encountered during testing. Also includes support for SCO Open Server Enterprise System Release 3.0, and SCO Open Desktop Release 3.0. | |
| Windows NT 3.5 | 10.01 | 12/94 | Passed, The following certification test run problems have been recorded in BTS: 64109 & 64110. | |
| PC SCO | R3.2 V4.2 | 10.0.1 | Passed. | |
| Pyramid N | 1.1 93d067 | 10.0.1 | Passed. | |
| 94d079 | 10.0.1 | In Progress. | ||
| Pyramid Nile D067 | 10.0 | Passed. Binaries built on Pyramid S/C062 will run on this OS version, but binaries built on Pyramid Nile/D067 are not certified to run on Pyramid ES/C062. | ||
| Pyramid S | 1.1 93c062 | 10.0.1 | < | Passed. |
| 1.1 93c062 | 4.9.1 | < | Passed. | |
| SVR4 C034 | 4.9 | < | Passed. | |
| SVR4 C044 | 4.9 | < | Passed. | |
| SVR4 C062 | 4.9 | < | Passed. | |
| Pyramid T | 5.1a 93a060 | 4.8 | < | Passed. |
| OSx 5.1A | 4.8 | < | Passed. | |
| SCO | R3.2 V4.2 | 10.0.0 | < | Passed. |
| Sequent | DYNIX 1.2 | 4.8 | Passed. | |
| DYNIX 1.4 | 4.8 | 09/92 | Passed. | |
| DYNIX 2.0 | 4.8 | Passed. EBF binaries built on this OS version will not run on PTX 1.4 and below. | ||
| DYNIX 2.0.1 | 4.8 | Passed, EBF binaries built on PTX 2.0 and above will not run on PTX 1.4 and below. | ||
| DYNIX 2.1 | 4.8 | N/A, No plans to certify. | ||
| DYNIX 2.1.0 | 10.0.0 | Passed. | ||
| DYNIX 2.1.0 | 4.8 | Passed. | ||
| DYNIX 4.0 | 10.0.1 | Passed. | ||
| Silicon Graphic | IRIX 3.2 | 4.0.1 | Passed. | |
| IRIX 5.1 | 10.0 | Passed. | ||
| IRIX 5.1.1.1 | 10.0.1 | Passed. | ||
| IRIX 5.2 | 10.0.1 | 07/94 | Passed. | |
| Sony | NEWS R6.0.1 | 10.0.1 | Passed. | |
| Stratus | FTX 2.2.2(y) | 10.01 | Passed. | |
| VOS 10.5 | 4.8 | Passed. | ||
| VOS 11.6 | 4.9 | Passed. | ||
| Stratus 68K VOS | VOS 10.5 | 4.8 | Passed. | |
| Stratus FTX | FTX 2.2.2 | 10.0 | Passed. | |
| FTX 2.2.2.3 | 10.0.1 | Passed. | ||
| Sun4 | Solaris 2.2 | 4.9.1 | 06/93 | Passed. Requires Rollup 1794 or higher and SunOS patches 100999-09 and 101095-01. |
| Solaris 2.3 | 10.00 | 11/93 | Passed. | |
| Solaris 2.3 | 4.9.2 | 12/93 | Passed. | |
| Solaris 2.3 + SPARCstor | 10.0.1 | 12/94 | Passed. Required Sun patches: 102198-01 & 102199-02 for use with Sun's Volume Manager | |
| Solaris 2.3 + SPARCstor | 4.9.2 | 12/94 | Passed, Required Sun patches: 102198-01 & 102199-02 for use with Sun's Volume Manager | |
| Solaris 2.3 + SPX/IPX | 10.0.2 | 01/95 | Passed. Requires Rollup 4222. Bugs entered: sybinit(65592), doc(65605), connectivity(65807,65 817). PC Windows Net-Library EBF #4316 is required for connectivity bug #65807. PC Windows DB-Library (4.2) based clients can connect to the UNIX SQL Server. | |
| Solaris 2.3-A+Edition 1 | 10.0 | N/A, No Plans to certify | ||
| SunOS 4.1.1 | 4.2 | Passed. | ||
| SunOS 4.1.1 | 4.8 | Passed. | ||
| SunOS 4.1.1 + DBE 1.1 | 4.8 | Passed. requires SunOS 4.1.1 patch #100293 or SunDBE 1.1 patch #100322. | ||
| SunOS 4.1.1 + DBE 1.1 | 4.9 | 02/92 | Passed. | |
| SunOS 4.1.2 | 4.0.1 | Passed. | ||
| SunOS 4.1.2 | 4.2 | Passed. | ||
| SunOS 4.1.2 | 4.8 | Passed. requires SunOS 4.1.2 Kernel patch #100495 | ||
| SunOS 4.1.2 + DBE 1.2 | 4.2 | 08/92 | Passed. | |
| SunOS 4.1.2 + DBE 1.2 | 4.9 | 02/92 | Passed. | |
| SunOS 4.1.2 + DBE 1.2 | 4.9.1 | Passed. | ||
| SunOS 4.1.3 | 4.2 | N/A, No plans to certify. | ||
| SunOS 4.1.3 | 4.8 | 02/93 | Failed. We recommend upgrade to the 4.9.1 server. | |
| SunOS 4.1.3 | 4.9 | 03/93 | Passed. | |
| SunOS 4.1.3 | 4.9.1 | 10/92 | Passed. requires SunOS 4.1.3 Sun-4m Supplement patch #100743-01. Patch is for multi-processor systems only. | |
| SunOS 4.1.3 + DBE 1.3 | 10.02 | 02/95 | Passed. EBF #4403 is required. | |
| SunOS 4.1.3 + DBE 1.3 | 4.9 | N/A, No plans to certify. | ||
| SunOS 4.1.3 + DBE 1.3 | 4.9.1 | 04/93 | Passed. requires Sun-4m Supplemental patch #100743-01. Patch is for multi-processors and Sparc 10 systems only. | |
| SunOS 4.1.3/sparc10 | 4.9.1 | Passed. requires SunOS 4.1.3 Sun-4m Supplement patch #100743-01. Patch for multi-process systems only. | ||
| SunOS 4.1.3X | 10.01 | 12/94 | Passed. The 'X' in 4.1.3X indicates all of the 4.1.3 based releases. (eg 4.1.3c, 4.1.3.u1, 4.1.3u1b, etc.) | |
| SunOS 4.1.3X | 4.9.2 | 03/94 | Passed. The 'X' in 4.1.3X indicates all of the 4.1.3 based releases. (eg 4.1.3c, 4.1.3.u1, 4.1.3.u1b). | |
| Unisys 65 | SVR4 Ver 1.2 | 10.0.1 | Passed. | |
| SVR4 Ver 1.2 | 4.9.2 | Passed. | ||
| Unisys 75 | Dynix 1.3.1 | 4.8 | Passed. | |
| Unisys U6000 75 | SVR4 1.3 | 4.8 | Passed. | |
| Unisys U6000/65 | SRV4 1.2 | 4.9.2 | Passed. |
The system catalog for syskeys contains a column that can't be displayed, which contains random or uninitialized data. It is possible for two rows with identical data in the visible columns to differ in the contents of the hidden column.
This problem occurs on 4.9.x, 10.0.1, and 10.0.2 SQL Servers.
The change made by this script will not break any of the system stored procedures that refer to syskeys; this is because the default on the new column ensures that any insert that does not specify the new column gets a default value of zero.
The script also does sanity checks to see if it has already been run.
The scripts are available as Rollups for the following platforms and releases:
| Rollup Number | Platform | Release Number |
|---|---|---|
| 3938 | SunOS Release 4.x (BSD) | 10.0.2 |
| 3939 | Sun Solaris 2.x | 10.0.2 |
| 3940 | HP 9000 Series 300 HP-UX | 10.0.2 |
| 3941 | AT&T (NCR) System 3000 | 10.0.2 |
| 3942 | IBM RISC System/6000 AIX | 10.0.2 |
| 3943 | DEC OSF/1 | 10.0.2 |
| 3944 | SunOS Release 4.x (BSD) | 4.9.2 |
| 3945 | Sun Solaris 2.x | 4.9.2 |
| 3947 | HP 9000 Series 300 HP-UX | 4.9.2 |
| 3948 | AT&T (NCR) System 3000 | 4.9.2 |
| 3949 | IBM RISC System/6000 AIX | 4.9.2 |
In order to minimize confusion, the scripts are all the same and willautomatically sort out differences between the SQL Server releases.Release 10.0.2 will run against all 10.0.1 P2 and 10.0.2 SQL Servers.
For Windows NT, Novell NetWare, and other PC platforms, there are norecorded instances of this problem.
Disclaimer: No express or implied warranty is made by SYBASE or its subsidiaries with regard to any recommendations or information presented in SYBASE Technical News. SYBASE and its subsidiaries hereby disclaim any and all such warranties, including without limitation any implied warranty of merchantability of fitness for a particular purpose. In no event will SYBASE or its subsidiaries be liable for damages of any kind resulting from use of any recommendations or information provided herein, including without limitation loss of profits, loss or inaccuracy of data, or indirect special incidental or consequential damages. Each user assumes the entire risk of acting on or utilizing any item herein including the entire cost of all necessary remedies.
Principal Editor: Leigh Ann Hussey
Contributing Writers:
Lance Anderson, Paul Dow, Ken Duffy, Aimee Grimes, Joseph Hui, Greg
Klinder, Andrzej Sarapuk, Gerald Soulos, Loretta Vibberts, Rob Weaver,
Elton Wildermuth
Send comments and suggestions to:
SYBASE Technical News
6475 Christie Avenue
Emeryville, CA 94608
or send mail to technews@sybase.com
Copyright 1996 © Sybase, Inc. All Rights Reserved.