Chapter 1 — Introduction

Published: June 21, 2004 | Updated: October 29, 2004

Welcome to the Sybase/UNIX to SQL Server 2000: Database Engine Migration and Application Interoperation Guide. This guide is both practical and prescriptive. It provides proven guidance about the issues that you are likely to encounter as you consider, plan, and migrate from Sybase databases (Version 11.9 and later) on UNIX platforms to Microsoft® Windows® Server™ 2003 and Microsoft SQL Server™ 2000. The guidance is based on the experiences of consultants working in the field and organizations that successfully migrated from UNIX to Windows, and it comprises the best patterns and practices that exist at the time of publishing. All processes and procedures contained in this guide have been thoroughly tested in a lab environment and have been validated through the Microsoft Technology Adoption Program.

On This Page

Solution Overview Solution Overview
What Is Covered in This Guide What Is Covered in This Guide
What Is not Covered in This Guide What Is not Covered in This Guide
Who Should Read This Guide Who Should Read This Guide
How to Use This Guide How to Use This Guide
Job Aids for This Guide Job Aids for This Guide
Document Conventions Document Conventions
Reference Resources Reference Resources

Solution Overview

Organizations that are contemplating a Sybase database engine migration project to SQL Server 2000 on Windows Server 2003 must plan for two distinct but related tasks. The first task is to migrate the Sybase database engine on the UNIX platform to SQL Server on the Windows platform. The second task involves the applications that use the Sybase database: they need to be reconfigured to preserve their capability to use the migrated database. This should be done without any detrimental effects on performance, security, or functionality.

Sybase client applications can communicate with a Sybase database using several APIs; this solution covers the following APIs:

  • DB-Library. This is a legacy API that provides basic functionality. It is used primarily with older versions of Sybase (before System 10), and in many cases can also be used to access Microsoft SQL Server. Although there are some minor differences between the Microsoft and Sybase specifications for the DB-Library, most applications can be relinked against the other version without difficulty.

  • CT-Library. This is a more recent API that provides extended functionality for Sybase client applications. Although Microsoft SQL Server does not support CT-Library applications directly, this guide provides some potential solutions for connecting such applications to SQL Server.

  • ODBC. The Open Database Connectivity standard allows clients to connect to Sybase from an array of client platforms.

The diagram in Figure 1.1 illustrates the migration solutions that are described in this guide.

Figure 1.1 Sybase database migration solution architectures

Figure 1.1 Sybase database migration solution architectures

Depending on the specific technologies used to host the client applications, at least three options are available to accomplish their migration:

  • Retargeting the client. Client applications can remain in their existing environment and be redirected to SQL Server.

  • Rehosting the client. Client applications previously executing under UNIX can be copied to the Windows computer, hosted in the Microsoft® Windows® Services for UNIX (SFU) environment, and then redirected to SQL Server.

  • Rewriting the applications. Client applications can be fully ported to the Microsoft Windows platform and rewritten to take advantage of Microsoft technologies. (This option is not shown in the diagram.)

This guide concentrates on the first two scenarios in the preceding list.

Some application architectures may be more complex; for example, an architecture may have a client application that runs on the user’s desktop, a server application that handles centralized functionality, and a back-end database that stores the data. This guide uses the term “client” to refer to any part of the application that accesses the database (whether it be the desktop client, or some server process, such as part of a Web server), and “database” or “database server” to refer to the database itself.

The guide makes use of the FreeTDS Open Source project’s set of libraries, available from The FreeTDS libraries can be used for redirecting Sybase client applications to SQL Server. FreeTDS provides implementations of DB-Library, CT-Library and ODBC driver, allowing many Sybase client applications that use these interfaces to communicate with Microsoft SQL Server. You can download the source code for FreeTDS from the Web site and then build, install, and configure it for your target platform (you will need a suitable C compiler and development tools).The Tool Warehouse database area ( provides a recent stable release of FreeTDS specifically for SFU, which you can download from

Note FreeTDS is an open source project and is still very much a work in progress. Although much of the core functionality is available, you may find it necessary to either implement any missing functionality in the FreeTDS libraries that your application requires, or modify your application to avoid these features.

As the note points out, there will be situations where FreeTDS does not currently provide the required functionality. In these circumstances, you will need to rewrite the affected parts of the applications, or modify FreeTDS to provide the support required. If you want to continue using UNIX or SFU for hosting these applications, you should consider using unixODBC ( or iODBC ( to provide the necessary connectivity. These are other open source projects. However, this is a nontrivial task that requires you to modify application code and install an ODBC driver for accessing SQL Server (the unixODBC site contains links to various third-party sites supplying suitable drivers).

Note Apart from FreeTDS and unixODBC, this guide also makes use of Perl and its database interfaces (DBI and DBD::Sybase, as well as Sybperl) for scripting database migration tasks. Many other open source tools can also be used for these purposes, such as the SybSQL utility for executing SQL commands against Sybase and SQL Server, and the SybTCL library (available at for accessing Sybase functionality from TCL scripts. Detailed discussion on the use of these tools is beyond the scope of this guide.

What Is Covered in This Guide

The guide covers the entire project life cycle of the solution and provides information that will help you develop a "Sybase on UNIX to SQL Server on Windows" database engine migration solution that includes:

  • Methods and procedures for migrating a Sybase (Version 11.9 or later) database to SQL Server 2000.

  • Redirection of client applications from Sybase on UNIX to SQL Server on Windows using Sybase client libraries or FreeTDS

  • Migration of client applications from UNIX to SFU and redirection to SQL Server using FreeTDS

  • Methods and procedures that focus on taking advantage of existing DB-Library and CT-Library applications on UNIX platforms to communicate with SQL Server on Windows.

  • Use of the Sybase Migration Toolkit

The guide concentrates on larger projects and complex applications. However, even the smallest and simplest migration project can be considered in this framework and will benefit from using this guide. Although large and complex applications may need large teams with appropriate management structures to handle a migration, fairly simple applications can be migrated very easily by a team that has a single person combining different roles (for example, Product and Program management).

What Is not Covered in This Guide

  • Sybase versions earlier than 11.9 (the Sybase Migration Toolkit is not guaranteed to operate with earlier versions)

  • SQL Server versions before SQL Server 2000

  • Migration of the database engine from Sybase on UNIX to Sybase on Windows

  • Rewriting database applications or clients using Windows APIs

See the section "How This Guide Is Organized" for descriptions of the content of each chapter.

Who Should Read This Guide

This guide should be read by the following persons:

  • Business decision makers (BDMs) considering a migration from UNIX to Windows for their server platforms. This guide provides information to help them to understand the risks, costs, and benefits of migrating away from Sybase and on to SQL Server.

  • Database administrators, system administrators, network managers, project managers, and release managers who are members of the core or extended project team responsible for migrating a database from Sybase to SQL Server. This guide will help them assess, plan, execute, and validate the migration process. This guide provides end-to-end planning for resource management and implementation support.

  • Database developers, testers, and support technicians who participate in the project to migrate a database from Sybase to SQL Server. Information of value to this group includes a review of methods for accomplishing a database system migration and the detailed changes that are required for database configuration, communication configuration, and application coding levels.

  • Applications developers, testers, and support technicians involved in migrating an application from Sybase to SQL Server. This guide will help them understand which aspects of their applications would need to change, and in which ways.

Table 1.1 suggests where readers with different areas of responsibility will find information of most value to them in this guide. It refers readers to "Team Focus" tables for each project phase for guidance in determining the specific sections that are most relevant to their functional responsibility for the project.

Table 1.1 Sections of the Guide Relevant to the Areas of Responsibility for the Project

Area of Responsibility

Most Relevant Sections

High-level decision-making regarding expected contribution of migration to business goals, use of resources, budgets, and so on

Chapters 1-3

Management of project

Entire guide, with emphasis on chapters 1-5, 8, and introductory sections of later chapters. Also, the UNIX Migration Project Guide for understanding of MSF processes and team organization and MSF terms.

Core project team members (leads for each of the six roles)

Chapters 1-5 and 8 (which introduce the guidance and focus on planning) and "Introduction and Goals" sections of subsequent chapters. Also, see the "Team Focus" sections in chapters 3, 9, 11, and 12 for an overview of your role during the Planning, Developing, Stabilizing, and Deploying phases and read the sections in those chapters that are relevant to your role.

Project team members (developers, testers, and so on)

Chapter 1 — "Introduction," and "Introduction and Goals" section of each chapter that introduces a project phase (chapters 2, 3, 9, 11, and 12). Then refer to the "Team Focus" sections in these same chapters and read the sections that pertain to the responsibilities of your role during the phase.

How to Use This Guide

This guide addresses the decisions and actions relevant to the entire span of a Sybase migration project.

Because the project is likely to involve a broad range of people with diverse skills and responsibilities, different sections of the guidance will be valuable for distinct groups of readers. See Table 1.1 for a general indication of the sections that will be of most interest to you, depending on your role.

This guide uses the term “customer” to refer to the project stakeholders and the business sponsor, and not to external customers of the organization itself.

Note The guide is designed to be used in conjunction with the UNIX Migration Project Guide (UMPG), which contains general project guidance on organizing teams and processes based on the Microsoft Solutions Framework (MSF). MSF is a framework for organizing the work of IT projects from both process and team perspectives. The intent is to keep this guide as lean as possible by limiting its content to technical information and other information that is specific to Sybase migration projects. In addition, you will occasionally need to refer to the UNIX Application Migration Guide, which provides detailed information about migrating application code from UNIX to Windows.

How This Guide Is Organized

The guide is organized sequentially, following the five phases of the Microsoft Solutions Framework, and provides information as needed to complete each project phase. In cases where the information needed to complete a particular phase is too complex or extensive to contain in one chapter, additional chapters have been added for that phase, with each chapter devoted to a different topic.

Chapters 2 through 8 address beginning and planning a project; Chapters 9, 10, and 11 discuss building and testing the solution; and Chapter 12 describes deploying the solution in the production environment.

Detailed technical information, including step-by-step procedures that you will need to implement your solution, is provided in several appendices. You may also need to review this information to make planning decisions (specific references are included in the text as appropriate).

Chapter Descriptions

  • Chapter 1 — Introduction. This chapter provides an overview of the solution and describes the guidance covered by the guide. It also directs readers regarding how to find information in the guide that is most relevant to their needs.

  • Chapter 2 — Envisioning Phase. This chapter describes the tasks you should perform before commencing planning the migration. Chapter 2 describes the roles of the team members and the resources required to perform a successful migration.

  • Chapter 3 — Planning Phase: Overview . This chapter provides an overview of the major tasks that you need to perform when planning a database and application migration project. It also describes assessing the existing Sybase databases and applications that use them.

  • Chapter 4 — Planning Phase: Database . This chapter describes in detail the issues you should consider when planning which databases you are going to migrate, and advises how to tackle the issues that are raised.

  • Chapter 5 — Planning Phase: Clients . Chapter 5 discusses the strategies you can use for updating client applications that used the original Sybase database to redirect them toward the newly migrated SQL Server database.

  • Chapter 6 — Planning Phase: Building the Development and Test Environments . This chapter describes how to approach the creation of the different lab environments required for development, testing, and staging the database and applications being migrated.

  • Chapter 7Planning Phase: Assessing the Sybase Database Using SMT. This chapter describes how to use the Sybase Migration Toolkit to determine all of the database object transformations that will be required to migrate the database.

  • Chapter 8 — Planning Phase: Creating the Project Plans . This chapter describes the plans that constitute the Master Project Plan, detailing the tasks within the migration project. It also discusses schedules.

  • Chapter 9 — Developing Phase: Database . This chapter describes how to migrate a Sybase database to SQL Server using the Sybase Migration Toolkit.

  • Chapter 10 — Developing Phase: Clients . This chapter describes how to implement strategies for retargeting client applications that previously connected to the Sybase database toward SQL Server.

  • Chapter 11—Stabilizing Phase. This chapter describes how to ensure that the migrated databases and applications meet the acceptance criteria for deployment.

  • Chapter 12—Deploying Phase. This chapter describes how you can deploy migrated databases and applications to the production environment.

  • Chapter 13—Operation. This chapter provides guidance for database administrators and support personnel on the operation of SQL Server in an enterprise environment.

  • Appendices. The Appendices are comprised of various materials referred to in the body of the guide to provide additional detail for specific contexts. You may need to review this information to make planning decisions.

Job Aids for This Guide

To support the various phases of your project, a suite of job aids — such as questionnaires, risk analysis tools, and templates for designing, planning, and managing your project — are provided with the guide. Some of these job aids are in spreadsheet format for gathering and compiling the data that you will use to analyze your current technology environment and to estimate the resource requirements of the solution.

The following job aids are provided to support the processes described in this guide:

  • Project structure template

  • Sybase migration vision/scope document template

  • Application questionnaire

  • Database questionnaire

  • Jobs and scripts questionnaire

  • Server questionnaire

  • Master test plan template

  • Pilot plan template

  • Migration risk assessment tool

Note The job aids are available in the Job Aids folder in the download version of this guide. See "Desktop Requirements" in this chapter for desktop software requirements that allow you to use these job aids for your project.

Desktop Software Requirements

The various job aids available for use with this guide were created using Microsoft Office products, including Microsoft Word, Microsoft Excel, and Microsoft Project. To make use of these job aids, you will require access to a workstation with Microsoft Office and Microsoft Project installed so that you will be able to open and edit these files.

Document Conventions

This guide uses the text conventions and terminology described in Table 1.2.

Table 1.2: Document Conventions



bold font

Characters that you type exactly as shown, including commands and switches. Programming elements, such as methods, functions, data types, and data structures appear in bold font. Database names, table names, column names, and stored procedures also appear in bold font. User interface elements are also bold.

Italic font

Variables for which you supply a specific value. For example, Filename.ext could refer to any valid file name for the case in question. New terminology also appears in italic on first use.

Monospace font

Code samples.


Transact-SQL keywords and SQL elements


The folder in which Windows 2000 is installed.


Alerts you to supplementary information.


Alerts you to supplementary information that is essential to the completion of a task.

Reference Resources

For in-depth discussion of the concepts and practices presented in this guide, you should refer to these and other resources. A complete list of references is provided in the Appendix.


Get the Solution Guide for Sybase/UNIX to SQL Server 2000: Database Engine Migration and Application Interoperation Guide

Update Notifications

Sign up to learn about updates and new releases


Send us your comments or suggestions