SAP Adaptive Server Enterprise 16.0
  Release Bulletin SAP Adaptive Server Enterprise 16.0 for HP-UX
    Product Summary
      Interoperability
      Product Compatibility
        Compatibility of Fixes with Previous SAP ASE Releases
        Password Compatibility with Replication Server
      Changes That Affect Existing Applications
        SDK for SAP ASE and PC Client
        Behavior Change for When Triggers are Fired
        Changes to Plan Sharing
        Location for Utilities and Scripts
        Changes for SAP ASE Plug-in
        Backup Server and IBM Tivoli Storage Manager
    Installation and Configuration
      Special Installation Instructions
        Release Directory Structure Change
        Installing Enterprise Connect Data Access (ECDA) or MainframeConnect DirectConnect for z/OS
      Special Configuration Instructions
        Manage Permissions of Remote Hosts That Access Backup Server
      Special Upgrade Instructions
        Cross-Platform Loading of an Encrypted Database
        Upgrade and Runtime Logging Enhancements
        Avoiding Text and Image Problems with SAP ASE
        Loading Database Dumps into Earlier Versions
      Known Installation Issues for SAP ASE
    Known Issues for SAP ASE
    Documentation Updates
      Job Scheduler Parameter job scheduler interval
      Job Scheduler Command sp_sjobdrop
      Security Built-in Function Permissions
      Shareable Temporary Tables
      Hash-Based Update Statistics
      Values for lock timeout pipe active
      dbcc page Parameter logical
      Behavior of Concurrent DDLs and reorg defrag
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Release Bulletin SAP Adaptive Server Enterprise 16.0 for IBM AIX
    Product Summary
      Interoperability
      Product Compatibility
        Compatibility of Fixes with Previous SAP ASE Releases
        Password Compatibility with Replication Server
      Changes That Affect Existing Applications
        SDK for SAP ASE and PC Client
        Behavior Change for When Triggers are Fired
        Changes to Plan Sharing
        Location for Utilities and Scripts
        Changes for SAP ASE Plug-in
        Backup Server and IBM Tivoli Storage Manager
    Installation and Configuration
      Special Installation Instructions
        Release Directory Structure Change
        Spinlock Optimization P6 Processor Requirement
        JRE Requires Additional Memory
        Installing Enterprise Connect Data Access (ECDA) or MainframeConnect DirectConnect for z/OS
      Special Configuration Instructions
        Manage Permissions of Remote Hosts That Access Backup Server
      Special Upgrade Instructions
        Cross-Platform Loading of an Encrypted Database
        Upgrade and Runtime Logging Enhancements
        Avoiding Text and Image Problems with SAP ASE
        Loading Database Dumps into Earlier Versions
      Known Installation Issues for SAP ASE
    Known Issues for SAP ASE
    Documentation Updates
      Job Scheduler Parameter job scheduler interval
      Job Scheduler Command sp_sjobdrop
      Security Built-in Function Permissions
      Shareable Temporary Tables
      Hash-Based Update Statistics
      Values for lock timeout pipe active
      dbcc page Parameter logical
      Behavior of Concurrent DDLs and reorg defrag
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Release Bulletin SAP Adaptive Server Enterprise 16.0 for Linux
    Product Summary
      Interoperability
      Product Compatibility
        Compatibility of Fixes with Previous SAP ASE Releases
        Password Compatibility with Replication Server
      Changes That Affect Existing Applications
        SDK for SAP ASE and PC Client
        Behavior Change for When Triggers are Fired
        Changes to Plan Sharing
        Location for Utilities and Scripts
        Changes for SAP ASE Plug-in
        Backup Server and IBM Tivoli Storage Manager
    Installation and Configuration
      Special Installation Instructions
        Release Directory Structure Change
        Installing Enterprise Connect Data Access (ECDA) or MainframeConnect DirectConnect for z/OS
      Special Configuration Instructions
        Manage Permissions of Remote Hosts That Access Backup Server
      Special Upgrade Instructions
        Cross-Platform Loading of an Encrypted Database
        Upgrade and Runtime Logging Enhancements
        Avoiding Text and Image Problems with SAP ASE
        Loading Database Dumps into Earlier Versions
      Known Installation Issues for SAP ASE
    Known Issues for SAP ASE
    Documentation Updates
      Job Scheduler Parameter job scheduler interval
      Job Scheduler Command sp_sjobdrop
      Security Built-in Function Permissions
      Shareable Temporary Tables
      Hash-Based Update Statistics
      Values for lock timeout pipe active
      dbcc page Parameter logical
      Behavior of Concurrent DDLs and reorg defrag
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Release Bulletin SAP Adaptive Server Enterprise 16.0 Sun Solaris
    Product Summary
      Interoperability
      Product Compatibility
        Compatibility of Fixes with Previous SAP ASE Releases
        Password Compatibility with Replication Server
      Changes That Affect Existing Applications
        SDK for SAP ASE and PC Client
        Behavior Change for When Triggers are Fired
        Changes to Plan Sharing
        Location for Utilities and Scripts
        Changes for SAP ASE Plug-in
        Backup Server and IBM Tivoli Storage Manager
    Installation and Configuration
      Special Installation Instructions
        Release Directory Structure Change
        Installing Enterprise Connect Data Access (ECDA) or MainframeConnect DirectConnect for z/OS
      Special Configuration Instructions
        SAP ASE and Oracle Solaris Sparc JRE 7
        Manage Permissions of Remote Hosts That Access Backup Server
      Special Upgrade Instructions
        Cross-Platform Loading of an Encrypted Database
        Upgrade and Runtime Logging Enhancements
        Avoiding Text and Image Problems with SAP ASE
        Loading Database Dumps into Earlier Versions
      Known Installation Issues for SAP ASE
    Known Issues for SAP ASE
    Documentation Updates
      Job Scheduler Parameter job scheduler interval
      Job Scheduler Command sp_sjobdrop
      Security Built-in Function Permissions
      Shareable Temporary Tables
      Hash-Based Update Statistics
      Values for lock timeout pipe active
      dbcc page Parameter logical
      Behavior of Concurrent DDLs and reorg defrag
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Release Bulletin SAP Adaptive Server Enterprise 16.0 for Windows
    Product Summary
      Interoperability
      Product Compatibility
        Compatibility of Fixes with Previous SAP ASE Releases
        Password Compatibility with Replication Server
      Changes That Affect Existing Applications
        SDK for SAP ASE and PC Client
        Behavior Change for When Triggers are Fired
        Changes to Plan Sharing
        Location for Utilities and Scripts
        Changes for SAP ASE Plug-in
        Backup Server and IBM Tivoli Storage Manager
    Installation and Configuration
      Special Installation Instructions
        Release Directory Structure Change
        Installing Enterprise Connect Data Access (ECDA) or MainframeConnect DirectConnect for z/OS
      Special Configuration Instructions
        Manage Permissions of Remote Hosts That Access Backup Server
      Special Upgrade Instructions
        Cross-Platform Loading of an Encrypted Database
        Upgrade and Runtime Logging Enhancements
        Avoiding Text and Image Problems with SAP ASE
        Loading Database Dumps into Earlier Versions
      Known Installation Issues for SAP ASE
    Known Issues for SAP ASE
    Documentation Updates
      Job Scheduler Parameter job scheduler interval
      Job Scheduler Command sp_sjobdrop
      Security Built-in Function Permissions
      Shareable Temporary Tables
      Hash-Based Update Statistics
      Additional Information for Windows Failover in a High Availability System
        Configure SAP ASE for Failover on Windows
      Values for lock timeout pipe active
      dbcc page Parameter logical
      Behavior of Concurrent DDLs and reorg defrag
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Release Bulletin SAP Control Center 3.3
    Product Summary
    Installation and Upgrade
      Installation and Implementation of SAP Control Center
      Choosing an Installer
      Supported Server Versions
      Supported Product Modules and Release Documents
    Known Issues
      Known Issues for Installation, Upgrade, and Deployment
      Known Issues for SAP Control Center
      Known Issues for SAP® Adaptive Server® Enterprise
      Known Issues for Data Assurance
      Known Issues for Replication
      Known Issues for SAP Sybase Event Stream Processor
      Known Issues for SAP Sybase IQ
      Known Issues for Accessibility
    Documentation Changes
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      SAP Control Center Accessibility Information
  Installation Guide SAP Adaptive Server Enterprise 16.0 for HP-UX
    Conventions
    Installation Task Overview
      Installation Workflows
    SAP ASE Components
      SAP ASE Editions
        Determining the Edition You Have
      SAP ASE Options
      Managing SAP ASE with SAP Control Center
      Client Components and Utilities
    System Requirements
      Memory Requirements
      System Requirements for Clients
    Planning Your SAP ASE Installation
      SAP ASE Release Bulletin
      Obtaining a License
        Comparing License Deployment Models
        SySAM License Server
        Determining Host IDs
          Determining Host IDs for Machines with Multiple Network Adapters
          Using Alternate Host IDs on Windows
        Generating Licenses
          Generating License Keys at SMP
        Knowing the Product License Type
          Optional Feature Licenses
          SySAM Licensing Checkout
          Sub-capacity Licensing
      Installation Directory Contents and Layout
      Creating the Sybase User Account
      Preparing to Install SAP ASE
        Adjusting the Operating System Shared Memory Parameters
        Managing Java in the Database During Installations and Upgrades
        Multipathing
          Setting Up Multipathing
    Installing SAP ASE
      Installing SAP ASE in GUI Mode
      Installing SAP ASE in Console Mode
      Minimally Configuring an SAP ASE Server
      Installing SAP ASE Using a Response File
        Creating a Response File
        Installing in Silent Mode
        Command Line Options
      Uninstalling SAP ASE
        Removing an Existing SAP ASE Server
    Starting and Stopping SAP Control Center
    Postinstallation Tasks
      Verifying That Servers are Running
      Verifying Your Connection to the Servers
      Test the Installation and Network Connections
        Configuring libtcl.cfg for LDAP
        Adding a Server to the Directory Service
      Setting the System Administrator Password
      Installing Sample Databases
        Default Devices for Sample Databases
        Running the Database Scripts
        Installing the interpubs Database
        Installing the jpubs Database
        Maintaining Sample Databases
    SAP ASE Upgrades
      Considerations When Upgrading from SAP ASE 15.0.x or Earlier
      Considerations for Component Integration Services
      Preparing to Upgrade
      Changes in SAP ASE Directories
      Preupgrade Tasks
        Upgrade Stored Procedures
        Reserved Words
          Running a Reserved Word Check
          Addressing Reserved Words Conflicts
          Quoted Identifiers
        Preparing the Database and Devices
        The sybprocsdev device
          Increasing the Size of the sybsystemprocs Database
          Increasing Device and Database Capacity for System Procedures
      Upgrade to SAP ASE 16.0
        Upgrading Interactively Using sqlupgrade
        Upgrading Noninteractively Using sqlupgraderes
        Manually Upgrading SAP ASE
      Postupgrade Tasks
        Restoring Functionality in SAP ASE After Upgrading
        Reenabling Auditing
          Updating Threshold Procedures for Audit Segments
        Restoring Permissions
        Reenabling Replication Server After the Dataserver Upgrade
          Restoring Replication on Replicate Databases
          Restoring Replication on Primary Databases
      Migrate
        Migrating Data Using a Dump-and-Load Method
        Using bcp to Migrate Data
        Migrating Data by Replacing the Binary
      SAP ASE Components and Related Products
        Upgrading Job Scheduler
          Upgrading Job Scheduler Templates
        Upgrading High Availability and Cluster Support
        Upgrading Java in the Database
          Enabling Java in the Database in a High Availability System
        Upgrading Backup Server
        Upgrading Databases Using Dump and Load
        How Compiled Objects Are Handled When Upgrading SAP ASE
          Finding Compiled Object Errors Before Production
            Quoted Identifier Errors
            Determining Whether to Change select * in Views
    Downgrading SAP ASE
    Troubleshoot the Server
      Error Logs for Installation Utilities
      Error Logs for SAP ASE Servers
      Troubleshooting Common Installation Problems
        If the Installation Quits While You Are Configuring an SAP ASE Server
      Stopping a SAP ASE Server After a Failure
      If SAP ASE Fails the Preupgrade Eligibility Test
      When an Upgrade Fails
        If You Can Identify the Cause of the Upgrade Failure
        Restoring Databases After a Failed Upgrade
        Recovering from a Failed Upgrade
        If You Cannot Identify the Cause of an Upgrade Failure
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Installation Guide SAP Adaptive Server Enterprise 16.0 for IBM AIX
    Conventions
    Installation Task Overview
      Installation Workflows
    SAP ASE Components
      SAP ASE Editions
        Determining the Edition You Have
      SAP ASE Options
      Managing SAP ASE with SAP Control Center
      Client Components and Utilities
    System Requirements
      Making Input/Output Completion Port API Available
      Memory Requirements
      System Requirements for Clients
    Planning Your SAP ASE Installation
      SAP ASE Release Bulletin
      Obtaining a License
        Comparing License Deployment Models
        SySAM License Server
        Determining Host IDs
          Determining Host IDs for Machines with Multiple Network Adapters
          Using Alternate Host IDs on Windows
        Generating Licenses
          Generating License Keys at SMP
        Knowing the Product License Type
          Optional Feature Licenses
          SySAM Licensing Checkout
          Sub-capacity Licensing
      Installation Directory Contents and Layout
      Creating the Sybase User Account
      Preparing to Install SAP ASE
        Adjusting the Operating System Shared Memory Parameters
        Managing Java in the Database During Installations and Upgrades
        Multipathing
          Setting Up Multipathing
    Installing SAP ASE
      Installing SAP ASE in GUI Mode
      Installing SAP ASE in Console Mode
      Minimally Configuring an SAP ASE Server
      Installing SAP ASE Using a Response File
        Creating a Response File
        Installing in Silent Mode
        Command Line Options
      Uninstalling SAP ASE
        Removing an Existing SAP ASE Server
    Starting and Stopping SAP Control Center
    Postinstallation Tasks
      Verifying That Servers are Running
      Verifying Your Connection to the Servers
      Test the Installation and Network Connections
        Configuring libtcl.cfg for LDAP
        Adding a Server to the Directory Service
      Setting the System Administrator Password
      Installing Sample Databases
        Default Devices for Sample Databases
        Running the Database Scripts
        Installing the interpubs Database
        Installing the jpubs Database
        Maintaining Sample Databases
    SAP ASE Upgrades
      Considerations When Upgrading from SAP ASE 15.0.x or Earlier
      Considerations for Component Integration Services
      Preparing to Upgrade
      Changes in SAP ASE Directories
      Preupgrade Tasks
        Upgrade Stored Procedures
        Reserved Words
          Running a Reserved Word Check
          Addressing Reserved Words Conflicts
          Quoted Identifiers
        Preparing the Database and Devices
        The sybprocsdev device
          Increasing the Size of the sybsystemprocs Database
          Increasing Device and Database Capacity for System Procedures
      Upgrade to SAP ASE 16.0
        Upgrading Interactively Using sqlupgrade
        Upgrading Noninteractively Using sqlupgraderes
        Manually Upgrading SAP ASE
      Postupgrade Tasks
        Restoring Functionality in SAP ASE After Upgrading
        Reenabling Auditing
          Updating Threshold Procedures for Audit Segments
        Restoring Permissions
        Reenabling Replication Server After the Dataserver Upgrade
          Restoring Replication on Replicate Databases
          Restoring Replication on Primary Databases
      Migrate
        Migrating Data Using a Dump-and-Load Method
        Using bcp to Migrate Data
        Migrating Data by Replacing the Binary
      SAP ASE Components and Related Products
        Upgrading Job Scheduler
          Upgrading Job Scheduler Templates
        Upgrading High Availability and Cluster Support
        Upgrading Java in the Database
          Enabling Java in the Database in a High Availability System
        Upgrading Backup Server
        Upgrading Databases Using Dump and Load
        How Compiled Objects Are Handled When Upgrading SAP ASE
          Finding Compiled Object Errors Before Production
            Quoted Identifier Errors
            Determining Whether to Change select * in Views
    Downgrading SAP ASE
    Troubleshoot the Server
      Error Logs for Installation Utilities
      Error Logs for SAP ASE Servers
      Troubleshooting Common Installation Problems
        If the Installation Quits While You Are Configuring an SAP ASE Server
      Stopping a SAP ASE Server After a Failure
      If SAP ASE Fails the Preupgrade Eligibility Test
      When an Upgrade Fails
        If You Can Identify the Cause of the Upgrade Failure
        Restoring Databases After a Failed Upgrade
        Recovering from a Failed Upgrade
        If You Cannot Identify the Cause of an Upgrade Failure
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Installation Guide SAP Adaptive Server Enterprise 16.0 for Linux
    Conventions
    Installation Task Overview
      Installation Workflows
    SAP ASE Components
      SAP ASE Editions
        Determining the Edition You Have
      SAP ASE Options
      Managing SAP ASE with SAP Control Center
      Client Components and Utilities
    System Requirements
      Memory Requirements
      System Requirements for Clients
    Planning Your SAP ASE Installation
      SAP ASE Release Bulletin
      Obtaining a License
        Comparing License Deployment Models
        SySAM License Server
        Determining Host IDs
          Determining Host IDs for Machines with Multiple Network Adapters
          Using Alternate Host IDs on Windows
        Generating Licenses
          Generating License Keys at SMP
        Knowing the Product License Type
          Optional Feature Licenses
          SySAM Licensing Checkout
          Sub-capacity Licensing
      Installation Directory Contents and Layout
      Creating the Sybase User Account
      Preparing to Install SAP ASE
        Adjusting the Operating System Shared Memory Parameters
        Managing Java in the Database During Installations and Upgrades
        Multipathing
          Setting Up Multipathing
    Installing SAP ASE
      Installing SAP ASE in GUI Mode
      Installing SAP ASE in Console Mode
      Minimally Configuring an SAP ASE Server
      Installing SAP ASE Using a Response File
        Creating a Response File
        Installing in Silent Mode
        Command Line Options
      Uninstalling SAP ASE
        Removing an Existing SAP ASE Server
    Starting and Stopping SAP Control Center
    Postinstallation Tasks
      Verifying That Servers are Running
      Verifying Your Connection to the Servers
      Test the Installation and Network Connections
        Configuring libtcl.cfg for LDAP
        Adding a Server to the Directory Service
      Setting the System Administrator Password
      Installing Sample Databases
        Default Devices for Sample Databases
        Running the Database Scripts
        Installing the interpubs Database
        Installing the jpubs Database
        Maintaining Sample Databases
      Raw Partitions on Linux
        Choosing a Raw Partition
        Examples for Creating Raw Partitions
        Administering Raw Devices
        Accessing Raw Devices from the Server
    SAP ASE Upgrades
      Considerations When Upgrading from SAP ASE 15.0.x or Earlier
      Considerations for Component Integration Services
      Preparing to Upgrade
      Changes in SAP ASE Directories
      Preupgrade Tasks
        Upgrade Stored Procedures
        Reserved Words
          Running a Reserved Word Check
          Addressing Reserved Words Conflicts
          Quoted Identifiers
        Preparing the Database and Devices
        The sybprocsdev device
          Increasing the Size of the sybsystemprocs Database
          Increasing Device and Database Capacity for System Procedures
      Upgrade to SAP ASE 16.0
        Upgrading Interactively Using sqlupgrade
        Upgrading Noninteractively Using sqlupgraderes
        Manually Upgrading SAP ASE
      Postupgrade Tasks
        Restoring Functionality in SAP ASE After Upgrading
        Reenabling Auditing
          Updating Threshold Procedures for Audit Segments
        Restoring Permissions
        Reenabling Replication Server After the Dataserver Upgrade
          Restoring Replication on Replicate Databases
          Restoring Replication on Primary Databases
      Migrate
        Migrating Data Using a Dump-and-Load Method
        Using bcp to Migrate Data
        Migrating Data by Replacing the Binary
      SAP ASE Components and Related Products
        Upgrading Job Scheduler
          Upgrading Job Scheduler Templates
        Upgrading High Availability and Cluster Support
        Upgrading Java in the Database
          Enabling Java in the Database in a High Availability System
        Upgrading Backup Server
        Upgrading Databases Using Dump and Load
        How Compiled Objects Are Handled When Upgrading SAP ASE
          Finding Compiled Object Errors Before Production
            Quoted Identifier Errors
            Determining Whether to Change select * in Views
    Downgrading SAP ASE
    Troubleshoot the Server
      Error Logs for Installation Utilities
      Error Logs for SAP ASE Servers
      Troubleshooting Common Installation Problems
        If the Installation Quits While You Are Configuring an SAP ASE Server
      Stopping a SAP ASE Server After a Failure
      If SAP ASE Fails the Preupgrade Eligibility Test
      When an Upgrade Fails
        If You Can Identify the Cause of the Upgrade Failure
        Restoring Databases After a Failed Upgrade
        Recovering from a Failed Upgrade
        If You Cannot Identify the Cause of an Upgrade Failure
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Installation Guide SAP Adaptive Server Enterprise 16.0 for Sun Solaris
    Conventions
    Installation Task Overview
      Installation Workflows
    SAP ASE Components
      SAP ASE Editions
        Determining the Edition You Have
      SAP ASE Options
      Managing SAP ASE with SAP Control Center
      Client Components and Utilities
    System Requirements
      Memory Requirements
      System Requirements for Clients
    Planning Your SAP ASE Installation
      SAP ASE Release Bulletin
      Obtaining a License
        Comparing License Deployment Models
        SySAM License Server
        Determining Host IDs
          Determining Host IDs for Machines with Multiple Network Adapters
          Using Alternate Host IDs on Windows
        Generating Licenses
          Generating License Keys at SMP
        Knowing the Product License Type
          Optional Feature Licenses
          SySAM Licensing Checkout
          Sub-capacity Licensing
      Installation Directory Contents and Layout
      Creating the Sybase User Account
      Preparing to Install SAP ASE
        Adjusting the Operating System Shared Memory Parameters
        Managing Java in the Database During Installations and Upgrades
        Multipathing
          Setting Up Multipathing
    Installing SAP ASE
      Installing SAP ASE in GUI Mode
      Installing SAP ASE in Console Mode
      Minimally Configuring an SAP ASE Server
      Installing SAP ASE Using a Response File
        Creating a Response File
        Installing in Silent Mode
        Command Line Options
      Uninstalling SAP ASE
        Removing an Existing SAP ASE Server
    Starting and Stopping SAP Control Center
    Postinstallation Tasks
      Verifying That Servers are Running
      Verifying Your Connection to the Servers
      Test the Installation and Network Connections
        Configuring libtcl.cfg for LDAP
        Adding a Server to the Directory Service
      Setting the System Administrator Password
      Installing Sample Databases
        Default Devices for Sample Databases
        Running the Database Scripts
        Installing the interpubs Database
        Installing the jpubs Database
        Maintaining Sample Databases
    SAP ASE Upgrades
      Considerations When Upgrading from SAP ASE 15.0.x or Earlier
      Considerations for Component Integration Services
      Preparing to Upgrade
      Changes in SAP ASE Directories
      Preupgrade Tasks
        Upgrade Stored Procedures
        Reserved Words
          Running a Reserved Word Check
          Addressing Reserved Words Conflicts
          Quoted Identifiers
        Preparing the Database and Devices
        The sybprocsdev device
          Increasing the Size of the sybsystemprocs Database
          Increasing Device and Database Capacity for System Procedures
      Upgrade to SAP ASE 16.0
        Upgrading Interactively Using sqlupgrade
        Upgrading Noninteractively Using sqlupgraderes
        Manually Upgrading SAP ASE
      Postupgrade Tasks
        Restoring Functionality in SAP ASE After Upgrading
        Reenabling Auditing
          Updating Threshold Procedures for Audit Segments
        Restoring Permissions
        Reenabling Replication Server After the Dataserver Upgrade
          Restoring Replication on Replicate Databases
          Restoring Replication on Primary Databases
      Migrate
        Migrating Data Using a Dump-and-Load Method
        Using bcp to Migrate Data
        Migrating Data by Replacing the Binary
      SAP ASE Components and Related Products
        Upgrading Job Scheduler
          Upgrading Job Scheduler Templates
        Upgrading High Availability and Cluster Support
        Upgrading Java in the Database
          Enabling Java in the Database in a High Availability System
        Upgrading Backup Server
        Upgrading Databases Using Dump and Load
        How Compiled Objects Are Handled When Upgrading SAP ASE
          Finding Compiled Object Errors Before Production
            Quoted Identifier Errors
            Determining Whether to Change select * in Views
    Downgrading SAP ASE
    Troubleshoot the Server
      Error Logs for Installation Utilities
      Error Logs for SAP ASE Servers
      Troubleshooting Common Installation Problems
        If the Installation Quits While You Are Configuring an SAP ASE Server
      Stopping a SAP ASE Server After a Failure
      If SAP ASE Fails the Preupgrade Eligibility Test
      When an Upgrade Fails
        If You Can Identify the Cause of the Upgrade Failure
        Restoring Databases After a Failed Upgrade
        Recovering from a Failed Upgrade
        If You Cannot Identify the Cause of an Upgrade Failure
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Installation Guide SAP Adaptive Server Enterprise 16.0 for Windows
    Conventions
    Installation Task Overview
      Installation Workflows
    SAP ASE Components
      SAP ASE Editions
        Determining the Edition You Have
      SAP ASE Options
      Managing SAP ASE with SAP Control Center
      Client Components and Utilities
    System Requirements
      System Requirements for Clients
    Planning Your SAP ASE Installation
      SAP ASE Release Bulletin
      Obtaining a License
        Comparing License Deployment Models
        SySAM License Server
        Determining Host IDs
          Determining Host IDs for Machines with Multiple Network Adapters
          Using Alternate Host IDs on Windows
        Generating Licenses
          Generating License Keys at SMP
        Knowing the Product License Type
          Optional Feature Licenses
          SySAM Licensing Checkout
          Sub-capacity Licensing
      Installation Directory Contents and Layout
      Preparing to Install SAP ASE
        Managing Java in the Database During Installations and Upgrades
    Installing SAP ASE
      Installing SAP ASE in GUI Mode
      Installing SAP ASE in Console Mode
      Minimally Configuring an SAP ASE Server
      Installing SAP ASE Using a Response File
        Creating a Response File
        Installing in Silent Mode
        Command Line Options
      Uninstalling SAP ASE
        Removing an Existing SAP ASE Server
    Starting and Stopping SAP Control Center
    Postinstallation Tasks
      Set Up sybase User in Windows
      Verifying That Servers are Running
      Verifying Your Connection to the Servers
      Test the Installation and Network Connections
        Configuring libtcl.cfg for LDAP
        Adding a Server to the Directory Service
        Adding a Server to the Interfaces File
      Setting the System Administrator Password
      Installing Sample Databases
        Default Devices for Sample Databases
        Running the Database Scripts
        Installing the interpubs Database
        Installing the jpubs Database
        Maintaining Sample Databases
    SAP ASE Upgrades
      Considerations When Upgrading from SAP ASE 15.0.x or Earlier
      Considerations for Component Integration Services
      Preparing to Upgrade
      Changes in SAP ASE Directories
      Preupgrade Tasks
        Upgrade Stored Procedures
        Reserved Words
          Running a Reserved Word Check
          Addressing Reserved Words Conflicts
          Quoted Identifiers
        Preparing the Database and Devices
        The sybprocsdev device
          Increasing the Size of the sybsystemprocs Database
          Increasing Device and Database Capacity for System Procedures
      Upgrade to SAP ASE 16.0
        Upgrading SAP ASE on Windows
        Testing the SAP ASE Upgrade
        Manually Upgrading SAP ASE
      Postupgrade Tasks
        Restoring Functionality in SAP ASE After Upgrading
        Reenabling Auditing
          Updating Threshold Procedures for Audit Segments
        Restoring Permissions
        Reenabling Replication Server After the Dataserver Upgrade
          Restoring Replication on Replicate Databases
          Restoring Replication on Primary Databases
      Migrate
        Migrating Data Using a Dump-and-Load Method
        Using bcp to Migrate Data
      SAP ASE Components and Related Products
        Upgrading Job Scheduler
          Upgrading Job Scheduler Templates
        Upgrading High Availability and Cluster Support
        Upgrading Java in the Database
          Enabling Java in the Database in a High Availability System
        Upgrading Backup Server
        Upgrading Databases Using Dump and Load
        How Compiled Objects Are Handled When Upgrading SAP ASE
          Finding Compiled Object Errors Before Production
            Quoted Identifier Errors
            Determining Whether to Change select * in Views
    Downgrading SAP ASE
    Troubleshoot the Server
      Error Logs for Installation Utilities
      Error Logs for SAP ASE Servers
      Troubleshooting Common Installation Problems
        If the Installation Quits While You Are Configuring an SAP ASE Server
      Stopping a SAP ASE Server After a Failure
      If SAP ASE Fails the Preupgrade Eligibility Test
      When an Upgrade Fails
        If You Can Identify the Cause of the Upgrade Failure
        Restoring Databases After a Failed Upgrade
        Recovering from a Failed Upgrade
        If You Cannot Identify the Cause of an Upgrade Failure
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  Installation Guide SAP Control Center 3.3
    About SAP Control Center
    Installation Task Flows for SAP Control Center
    Planning Your Installation
      Obtaining a License
      System Requirements
      SAP Control Center Network Ports
      Installation Considerations
      Preparing to Roll Back from an Upgrade
    Preinstallation Tasks
    Installing SAP Control Center
      Installing with the SAP Installer
      Installing with a Response File
        Creating a Response File
        Installing in Unattended (Silent) Mode
      Uninstalling
    Upgrading SAP Control Center
      Upgrading a Singleton SAP Control Center
      Upgrading Shared-Disk Instances
    Installing JDBC Drivers for Third-Party Replicate Databases
    Starting and Stopping SAP Control Center
      Registering the ODBC Driver in Windows
      Starting and Stopping SAP Control Center in Windows
      Starting and Stopping SAP Control Center in UNIX
    Getting Started After Installing
      Configuring the SSL Certificate
      Setting Passwords or Disabling Default Login Accounts
        Encrypting a Password
      Enabling Incremental Backups
      Configuring SAP Control Center
    Troubleshooting Installation
  Configuration Guide for UNIX Adaptive Server Enterprise 15.7 ESD #2
    About Adaptive Server
      System-Specific Issues
      System User Roles
      Environment Variables
    Adaptive Server Devices and System Databases
      The master Device
      The sybsystemdb Device
      The sysprocsdev Device
      Optional Devices and Databases
        Pluggable Component Interface (PCI) Database
        Sample Databases
        sybsecurity Device and Database
        dbccdb Database
        sybmgmtdb Database
      Using Operating System Files as Database Devices
        The directio Parameter
        The dsync Parameter
      Determine the Size of a Database Device
        Support for Raw Partitions or Files
        Preparation of a Raw Partition Device
          Choosing a Raw Partition
    Client/Server Communication
    About Changing Adaptive Server Configuration
    Languages Other Than US English
    Adaptive Server Specifications
      Database Specifications
      Table Specifications
      Procedure Specifications
      Query Specifications
      Maximum Column Sizes
      Database Requirements for Varying Page Sizes
      Data Limits for Tables According to Page Size
    Start and Stop Servers
      Start Servers
        Server Start-up Parameters
        RUN_server_name File
        Using the startserver Command
      Start Servers When the Operating System Restarts
        Creating a System Restart Script for HP-UX
        Creating a System Restart Script for IBM RS/6000
        Creating a System Restart Script for Sun Solaris and Linux
      Starting XP Server After Initial Installation
      Stop Servers
        Stopping Adaptive Server
        Stopping Backup Server
        Using the kill Command
        Shutdown and Shared Memory Files
    Huge Pages on Linux
    Configure the Operating System
      Verifying Environment Variables
      Using the stty Setting
      Restore Correct Permissions
      File Descriptors and User Connections
        File Descriptors and User Connections for HP-UX
        File Descriptors and User Connections for AIX
        File Descriptors and User Connections for Linux
        File Descriptors and User Connections for Sun Solaris
        Displaying Current Soft and Hard Limits
        Increasing the Soft Limit
        Increasing the Hard Limit
      Enable Asynchronous Disk I/O
        Enabling Asynchronous Disk I/O on Linux
        Enabling Asynchronous Disk I/O on IBM AIX
        Enabling Asynchronous Disk I/O HP-UX
        Enabling Asynchronous I/O for File System Devices
        Enabling Asynchronous I/O for File Systems
      Adjust the Client Connection Timeout Period
        Adjusting the Client Connection Timeout for HP-UX
        Adjusting the Client Connection Timeout for IBM RS/6000
        Adjusting the Client Connection Timeout for Linux
      Check for Hardware Errors
      Monitor the Use of Operating System Resources
        Monitor Operating System Resources for HP-UX
        Monitor Operating System Resources for IBM RS/6000
        Monitor Operating System Resources for Sun Solaris and Linux
      Check Database Integrity
    Configuring New Servers with srvbuild
    Adaptive Server Default Configuration
      Default Settings
    Set Up Communications Across the Network
      How Adaptive Server Determines Which Directory Service Entry to Use
      How a Client Uses Directory Services
      Create a Directory Services Entry
      Supported Directory Drivers
      Contents of the interfaces File
      interfaces File Format
        Components of an interfaces File Entry
      Create a Master interfaces File
        Using dsedit or dscp to Create a Master interfaces File
        Using a Text Editor to Create a Master interfaces File
      Configure the interfaces File for Multiple Networks
        Configuring the Server for Multiple Network Handlers
        Configure Client Connections
          Manage One Network-Independent DSQUERY Name
          Using Different DSQUERY Names
        Configuring for Query Port Backup
      IPv6 Support
        IPv6 Infrastructure
    Troubleshoot
      Troubleshooting when the Server Fails to Start
      Troubleshooting an Error when Executing an ESP
    Use the Lightweight Directory Access Protocol as a Directory Service
      LDAP Directory Services Versus the Sybase Interfaces File
      The libtcl*.cfg File
      Enabling LDAP Directory Services
      Keywords for the LDAP URL Variables
      Adding a Server to the Directory Services
      Multiple Directory Services
      Encrypting the Password
      Performance
      Migrating from the interfaces File to LDAP
    Localization Support
      Language Modules
      Default Character Sets
      Supported Character Sets
        Arabic Character Sets
        Baltic Character Set
        Simplified Chinese Character Sets
        Traditional Chinese Character Set
        Cyrillic Character Sets
        Eastern European Character Sets
        Greek Character Sets
        Hebrew Character Sets
        Japanese Character Sets
        Korean Character Set
        Thai Character Sets
        Turkish Character Sets
        Unicode Character Set
        Vietnamese Character Set
        Western European Character Sets
      Character Set Names
      Load Character Sets
      Language Definition Files Sort Order
      Character Set Conversion
        Conversions Between Server and Client
      Sort Orders
        Available Sort Orders for Character Sets
      Language Modules
        Installing a New Language Module
        Message Languages
      Localization Directories
        About the locales Directory
        About the charsets Directory
        Format of locales.dat File Entries
        How Client Applications Use locales.dat
      Changing Adaptive Server Localization Configuration
        Configuring Adaptive Server for Other Character Sets
        Editing the locales.dat File
        Changing Backup Server Localization Configuration
    Adaptive Server Error Logging
      Set Error Log Paths
        Set the Adaptive Server Error Log Path
      Manage Messages
        Log User-Defined Messages
        Log Auditing Events
    Manage Database Devices
      Device Requirements
      Create Files for Database Devices
    Database Management System Auditing
      Audit System Devices and Databases
      Install Auditing
        Preinstallation Recommendations for Auditing Devices
        Configuring Adaptive Server for Auditing
        Creating a Device for the Audit Database Transaction Log
        Enabling Auditing
        Deleting a Device Entry
        Changing a Device Entry
    Install Online Help for Transact-SQL Syntax
      Default Device for the sybsyntax Database
      Installing sybsyntax
  Configuration Guide for Windows Adaptive Server Enterprise 15.7 ESD #2
    About Adaptive Server
      System-Specific Issues
      User Roles
      Environment Variables
    Adaptive Server Devices and System Databases
      The master Device
      The sybsystemdb Device
      The sysprocsdev Device
      Optional Devices and Databases
        Pluggable Component Interface (PCI) Database
        Sample Databases
        sybsecurity Device and Database
        dbccdb Database
      Using Operating System Files as Database Devices
        The dsync Parameter
        The directio Parameter
    Client/Server Communication
    About Changing Adaptive Server Configurations
    Languages Other Than US English
    Adaptive Server Specifications
      Database Specifications
      Table Specifications
      Query Specifications
      Procedure Specifications
      Extended-Limit Capabilities
    Start and Stop Servers
      Server Start-up Parameters
        Specifying Additional Start-up Parameters
      Starting and Stopping Servers Using Unified Agent
      Start and Stop Servers Using the Control Panel
        Starting Servers as an Automatic Service
          Setting Up Adaptive Server as an Automatic Service
        Starting, Stopping, and Pausing Servers Manually
      Stopping Backup Server
      Stopping Adaptive Server
    Monitor Servers
      Monitoring Servers with the Control Panel
    Adaptive Server Configurations
      Default Adaptive Server Configuration
        Default Adaptive Server Parameter Settings
        Default Backup and XP Server Settings
      Change Adaptive Server Configurations
        Starting Server Config
        Configuring Adaptive Server
          Setting Adaptive Server Parameters
          Changing the Default Backup Server
          Changing the Default XP Server
        Configuring Backup Server
        Configuring Job Scheduler and Self Management
    Network Communications Using sql.ini
      Client Connections to Adaptive Server
      Determine the Address to Listen for Client Connections
      Client Access to Adaptive Server
        Enabling Client Access to a Server
        Changing the Server Entries in sql.ini
      Components in the sql.ini File
        Server Name
        Network Driver
        Service Type
        Server Address
          Address Format
          IP Address
          Named Pipes Format
          Windows Sockets Format
            Increasing Windows Sockets Connections
              Modifying an Existing TcpNumConnections Value
              Adding a TcpNumConnections Value
            Using Multiple TCP/IP Network Interface Cards
            Controlling the Connection Timeout
              Increasing the TcpKeepTries Value
          NWLink IPX/SPX Format
            Available NWLink IPX/SPX Connection Formats
            Selecting Valid Connection Formats
      Share Network Configuration Information
        Creating a Master sql.ini File
        Windows Registry as a Directory Service
          Using Windows Registry as a Directory Service
      Verify Server Connections
      Configure ODBC Connections
        Configuring the ODBC Driver
      IPv6 Support
        IPv6 Infrastructure
    Lightweight Directory Access Protocol in Adaptive Server
      LDAP Directory Services versus the Sybase Interfaces File
      The libtcl.cfg File
      Enabling LDAP Directory Services
      Adding a Server to the Directory Services
        Adding a Server Entry to the Directory Service Using dsedit
      Multiple Directory Services
      Encrypting the Password
      Performance with LDAP
      Migrating from the sql.ini File to LDAP
    Localization Support
      Language Modules
      Default Character Sets for Servers
        Changing the Default Character Set for Servers
      Supported Character Sets
        Arabic Character Sets
        Baltic Character Set
        Simplified Chinese Character Sets
        Traditional Chinese Character Set
        Cyrillic Character Sets
        Eastern European Character Sets
        Greek Character Sets
        Hebrew Character Sets
        Japanese Character Sets
        Korean Character Set
        Thai Character Sets
        Turkish Character Sets
        Unicode Character Set
        Vietnamese Character Set
        Western European Character Sets
      Character Set Conversion
        Conversions Between Server and Client
      Sort Orders
        Available Sort Orders
      Language Modules
        Installing a New Language Module
        Message Languages
      Localization
        Localization Directories
        charsets and locales Directories
          Format of locales.dat File Entries
          Client Application Use of locales.dat
          Editing the locales.dat File
      Changing Adaptive Server and Backup Server Localization Configuration
        Completing Adaptive Server Localization Changes
        Completing Backup Server Localization Changes
        Configuring Adaptive Server for Other Character Sets
      Language-Specific Sort Orders
      Sybase Character Set Names
      charset Utility
    Log Error Messages and Events
      Adaptive Server Error Logging
      Windows Event Logging
        Setting Up Windows Event Logging
        Enable and Disable Windows Event Logging
          Enabling or Disabling Event Logging Using Server Config Utility
          Enabling or Disabling Event Logging Using sp_configure
        Windows Event Log Information
      Manage Logs
      Set Error Log Paths
        Setting the Adaptive Server Error Log Path
        Setting the Backup Server Error Log Path
      Manage Messages
        Log User-Defined Messages
          New Messages
          Existing Messages
        Log Auditing Events
        Log User-Defined Events
      Using a Remote Log
      Central Logging Site
        Log Messages from Multiple Adaptive Servers
        Set Up a Local Central Logging Site
          Creating a Registry key
          Defining a Registry Key
      View Messages
        Viewing Messages in the Windows Event Log
        Viewing Messages in the Adaptive Server Error Log
    Security Services with Windows LAN Manager
      How Login Authentication Works
      Administering Security Services Using LAN Manager
      Modify Configuration Files Required for a Unified Login
        Set Up Drivers for Network-Based Security
          Entries for Network Drivers
          Entries for Directory Services
          Entries for Security Drivers
            Editing the libtcl.cfg File
        Checking the LAN Manager's Local Name
        Specifying Security Information for Adaptive Server
      Identify Users and Servers to LAN Manager
      Configure Adaptive Server for LAN Manager Security
        Enabling and Disabling External Security Services
        Manage Unified Login
          Requiring Unified Login
          Establishing a Secure Default Login
          Map LAN Manager Login Names to Server Names
        Data Integrity Check
        Ensure Adequate Memory for Security Services
      Add Logins to Support Unified Login
        Adding Logins
      Define the Connection to a Server for Security Services
        Specifying the Principal Name
        Specifying Network-Based User Authentication
        Specifying the Name Assigned to LAN Manager
      Determining the Status of Security Services
      Configuration Parameters Used in Security Services
        Data Integrity Check
        Message Sequence Check
        Detect Interception or Replay
        Specify a Login
        Control User Authentication
      Manage Login Security on an Windows Computer
        Adaptive Server Security
        Combined Adaptive Server and Windows Login Security
          Trusted Connections and Combined Login Security
        Login Security Modes
          Standard Mode
          Integrated Mode
          Mixed Mode
        Manage the Login Security Features
          Permit Trusted Connections
          Windows Registry Parameters
            Default Login
            Default Domain
            SetHostName
            Character Mappings
            Modify the Parameter Values
        Administer Login Security Using System Procedures
          Assigning Trusted Connection Permissions
          Display the Current Registry Values
          Display Permissions and User Names
          Revoke Permissions Granted with sp_grantlogin
        Configuring Login Security
          Creating Windows Users and Groups
          Configuring Mapping and Default Domain Values
          Setting Login Security Mode
          Adding Network Login Names to syslogins
          Assigning Roles
        Change Login Security Options
          Enabling Standard Login Security Mode
          Enabling Integrated or Mixed Login Security Mode
    E-mail Messages and Adaptive Server
      Sybmail Messages
        Send Messages
        Receive Messages
      Preparing Windows Mail for Sybmail
        Connecting to a Post Office
        Creating a Mailbox for Adaptive Server
        Creating a Mail Profile for Adaptive Server
      Create an Adaptive Server Login for Sybmail
      Configuring Sybmail and Extended Stored Procedures
      Manage a Mail Session
        Start a Mail Session
          Start Sybmail Without Parameters
        Stop a Mail Session
        Stored and Extended Procedures for Handling Messages
      Outgoing Messages
      Incoming Messages
        Find the Next Message
        Read a Specific Message
        Delete a Message
        Processing Incoming Mail
      Sybmail Security
        Set Execution Privileges
        Set the Execution Context
          Name Both the User and the Database
          Name the User But Not the Database
          Name the Database But Not the User
          Name Neither the User Nor the Database
    Manage Adaptive Server Databases
      Manage Database Devices
        Device Requirements
        Creating .dat Files for Database Devices
      Back Up and Restore Data
        Backing Up Data with a Tape Drive
          Windows Tape Drive Names
          Set the Maximum Capacity for a Tape Drive
        Backing Up Data Using a Hard Disk
        Dumping Across a Network
        Examples of Backing Up and Restoring User Databases
          Back Up and Restore to a Database and Device
          Back Up and Restore on a Remote Backup Server
          Backup File Names
          Additional Dump Devices
          Tape Handling Options
          Get Information About Files
        Backing Up and Restoring System Databases
      Optimize Adaptive Server Performance and Tuning
        Using Dedicated Adaptive Server Operation
        Disk Drives and Adaptive Server Performance
          Monitor Disk Usage
      Monitoring Adaptive Server Statistics
    Database Management System Auditing
      Audit System Devices and Databases
      Preinstallation for Auditing Devices
      Installing Auditing
    Install Online Help for Transact-SQL Syntax
      Default Device for the sybsyntax Database
      Installing sybsyntax
    Troubleshoot Network Connections
      Running Server Ping
      Troubleshoot Connection Failures
        Using Returned Messages to Diagnose a Failure
          Troubleshooting a Connection Failure to Adaptive Server
          Failure to Load Net-Library DLLs
        Troubleshooting Failure of Other Applications
          Before Calling Sybase Technical Support
    Adaptive Server Registry Keys
      \SOFTWARE\SYBASE\Server\server_name
      \SOFTWARE\SYBASE\SQLServer\server_name\parameter
      \SOFTWARE\SYBASE\SQLServer
      \SYSTEM\CurrentControlSet\Services\SYBSQL_server_name
  New Features Summary SAP Adaptive Server Enterprise 16.0
    Version 16.0
      Increased Data Availability with Partition Locking
      CIS Support for HANA Server
      Relaxed Query Limits
      Query Plan Optimization with Star Joins
      Query Performance Improvements
      Full-Text Auditing
      Auditing for Authorization Checks Inside Stored Procedures
      Replacing Object Definitions
      Query Plan and Execution Statistics in HTML
      Index Compression
      SAP JVM Support
      Full Database Encryption
      Scalability Enhancements and Features
      Monitoring Threshold-Based Events
      Multiple Triggers
      Residual Data Removal
      Configuration History Tracking
      Cyclic Redundancy Checks for dump database
      Calculating the Transaction Log Growth Rate
      System Changes for SAP ASE Version 16.0
    Version 15.7 SP100
      Adaptive Server 15.7 SP100 Feature and Platform Matrix
      Shrinking Databases
      Enhancements to Backup and Restore
      Aggregating Metrics from Syntactically Similar Queries
      Updates to Precomputed Result Sets
      Improved Data Load Performance
      Incremental Reorganization
      Creating Indexes Without Blocking Access to Data
      Query Plan and Execution Statistics in HTML
      Gathering Hash-Based Statistics with create index
      Query Plan Optimization with Bloom Filters
      Support for Replication by Column Value
      Support for Multiple Scanner Threads
      Sybase Central Adaptive Server Plug-in
      Running Adaptive Server on VMware vSphere
      Support for OData
      Support for NTLM and MIT Kerberos on Windows 64-bit
      Properties Added to Responses File
      Automatic Physical Database Rearrangement
      System Changes for Adaptive Server Version 15.7 SP100
        Commands
        Functions
        System Stored Procedures
        Configuration Parameters
        System Tables
        Utilities
        Monitoring Table Changes
        Permission Changes for Commands and Functions
    Version 15.7 ESD #4
      15.7 ESD #4.2
        Improved Rollback Reporting
      15.7 ESD #4
        Remote Backup Server Maximum Name Length
        Support for Query Plan Pinning
        AF_UNIX Support
        Changes to sp_addthreshold and Roles
        System Changes for Adaptive Server Version 15.7 ESD #4
          Utilities
          Configuration Parameters
    Version 15.7 ESD #3
      sybrestore Utility
      System Changes for Adaptive Server Version 15.7 ESD #3
        Commands
        Functions
        System Stored Procedures
        Monitoring Table Changes
    Version 15.7 ESD #2
      Granular Permissions
      Predicated Privileges
      Deferred Table Creation
      Online Utilities
      Merging and Splitting Partitions
      Maximum Size of Query in the Statement Cache
      Enhancements to show_cached_plan_in_xml
      Fast-Logged Bulk Copy
      Precomputed Result Sets
      Concurrent dump database and dump transaction Commands
      Hash-Based Update Statistics
      Enhancements to dump and load
      alter table drop column without datacopy
      Expanded Maximum Database Size
      User-Defined Optimization Goal
      Shared Query Plans
      Initializing Databases Asynchronously
      In-Row Large Object Compression
      Configuring Shared Memory Dumps
      System Changes for Adaptive Server Version 15.7 ESD #2
        Commands
        Functions
        System Stored Procedures
        Configuration Parameters
        System Tables
        Utilities
        Monitoring Table Changes
    Version 15.7 ESD #1
      Proxy Table Support for In-row LOB Columns
      Support for System Procedures in Replicated Master Database
      Increased Number of Parameters
      Multiple Listeners on Windows
      Windows Supports Adaptive Server High Availability
      New and Changed Configuration Parameters
    Version 15.7
      Application Functionality Configuration Group
      New Adaptive Server Kernel
      Compressing Data in Adaptive Server
      New Security Features
        End-to-End CIS Kerberos Authentication
        Dual Control of Encryption Keys and Unattended Startup
        Securing Logins, Roles, and Password Management Extensions
        Login Profiles
        Employee Lifecycle Management
        External Passwords and Hidden Text
      Abstract Plans in Cached Statements
      Shrink Log Space
      Displaying Currently Set Switches with sysoptions
      Changes for Large Objects
        In-Row Off-Row LOB
        Using Large Object text, unitext, and image Datatypes in Stored Procedures
        Using LOB Locators in Transact-SQL Statements
        Extension to where Clause for Large Objects
      Showing Cached Plans in XML
      Padding a Character Field Using str
      Changes to select for update
      Creating Nonmaterialized, Non-null Columns
      Sharing Inline Defaults
      Retain Monitoring Data
      Analyze Dynamic Parameters
      Monitor Lock Timeouts
      Truncate Trailing Zeros
      Fully Recoverable DDL
      Transfer Rows from Source to Target Table Using merge
      View Statistics and Histograms with sp_showoptstats
      Changes to Cursors
        Release Cursor Locks at Cursor Close
        Enhanced Transaction Support for Cursors
        Monitor Cursor Statements
      Nested select Statement Enhancements
      Changes to Commands and System Procedures in Chained Transaction
      Expanded Variable-Length Rows
      Changes to like Pattern Matching
      Changes to Quoted Identifiers
      Allowing Unicode Noncharacters
      Reduce Query Processing Latency
      The sybdiag Utility
      The Optimizer Diagnostic Utility
      System Changes for Adaptive Server Version 15.7
        Commands
        Functions
        System Stored Procedures
        Configuration Parameters
        System Tables
        Utilities
        Monitoring Table Changes
          New Monitoring Tables
          Changes to Monitoring Tables
        Global Variables
    Version 15.5 Cluster Edition
      Adaptive Server 15.5 Cluster Edition Feature and Platform Matrix
      Multiple simultaneous failover
      Adding space to an archive database
      Distributed transaction management in the shared-disk cluster
      System Changes for Adaptive Server Version 15.5 Cluster Edition
        Changed commands
        Monitoring Tables
        Configuration Parameters
        Functions
    Version 15.5
      Adaptive Server 15.5 Feature and Platform Matrix
      In-Memory and Relaxed-Durability Databases
      Faster Compression for Backups
      Backup Server Support for the IBM® Tivoli® Storage Manager
      Deferred Name Resolution for User-Defined Stored Procedures
      FIPS 140-2 Login Password Encryption
      Incremental Data Transfer
      bigdatetime and bigtime Datatypes
      Creating and Managing tempdb Groups
      System Changes for Adaptive Server Version 15.5
        Datatypes
        Functions
        System Stored Procedures
        Commands
        Configuration Parameters
        Monitoring Tables
        System Tables
        Utilities
        Auditing
    Version 15.0.3
      SQL Statement Replication
      Security Enhancements
        LDAPS User Authentication Enhancement
        Automatic LDAP User Authentication and Failback
        Login Mapping of External Authentication
        Using SSL to Specify a Common Name
        Concurrent Kerberos Authentication
      Virtually Hashed Tables
      Huge Pages
      Upgrading During a High Availability Configuration
        Reinstalling System Stored Procedures
      Distributed Transaction Management (DTM)
      Adaptive Server Plug-in Updates
      The Java Interface
      System Changes for Adaptive Server Version 15.0.3
        Functions
        System Stored Procedures
        Commands
        Configuration Parameters
        Monitoring Tables
        System Tables
    Version 15.0.2
      Encrypted Columns
      Archive Database Access
      Finding Slow-Running Queries
      Deferred Compilation
      Case-Insensitive Sort Orders for Chinese and Japanese Character Sets
      Statistical Aggregate Functions
        Standard Deviation and Variance
      Eager and Lazy Aggregation
        Vector and Scalar Aggregation
      Improved Performance for Data Insertion
        Using Asynchronous Writes During a Page Split
        Improving Throughput of tempdb Transactions
        Post-commit Optimization
      Changes to the Query Processor
        Deferred Compilation
        Non-binary Character Set Histogram Interpolation
        Expression Histogramming Selectivity Estimates
      Viewing Current Optimizer Settings
      New Security Features
        PAM Support in 64-bit Adaptive Server on AIX
        Global Login Triggers Set Automatically
        SSL Support
        Improved Password Security
        Auditing Enhancements
          Hiding System Stored Procedure and Command Password Parameters
          Monitoring Failed Login Attempts
        High Availability Considerations
      Installing and Editing Monitoring Tables
      Monitoring Tables for the Statement Cache
      Row-Level Locking for System Tables
      The xmltable() Function
      Relocated Joins
      User-Defined SQL Functions
      instead of Triggers
      System Changes for Adaptive Server Version 15.0.2
        Trace Flags
        Commands
        Changes to the set Command
        Utilities
        System Stored Procedures
        System Tables
        Configuration Parameters
        Functions
        Global Variables
    Version 15.0.1
      Changes to Abstract Plans
        New Query-Level Settings
        Operator Name Alignment for the Abstract Plan and the Optimizer Criteria
        Extending the Optimizer Criteria Set Syntax
      Literal Parameterization
      System Changes for Adaptive Server Version 15.0.1
        Functions
        Configuration Parameters
        Commands
        Monitoring Tables
    Version 15.0
      Partition Support
      Row-Locked System Catalogs
      Query Processor
      Large Identifiers
      Computed Columns
        Differences Between Computed Columns and Function-Based Indexes
        Differences Between Materialized and Not Materialized Computed Columns
      Scrollable Cursors
      unitext Datatype Support
      big int Datatype Support
      Unsigned Integer Datatype Support
      Integer Identity
      Enhancements to XML Services
      Adaptive Server Plug-in Enhancements
      Interactive SQL
      User-Defined Web Services
      Very Large Storage Support
      Automatic Running of update statistics
      SySAM License Management
      Query Processing Metrics (qp Metrics)
      Updates to Abstract Plans
      showplan Changes
      Secure Socket Layer Uses FIPS 140-2
      System Changes for Adaptive Server Version 15.0
        Utilities
        Reserved Words
        Global Variables
        Configuration Parameters
        Functions
        Commands
        System Stored Procedures
        System Tables
        Monitoring Tables
    Obtaining Help and Additional Information
      Technical Support
      Downloading Product Updates
      Product and Component Certifications
      Accessibility Features
  New Features Guide SAP Adaptive Server Enterprise 16.0
    Overview of Version 16.0
    Increased Data Availability with Partition Locking
      Partition Locks
        Partition Lock Name
        Enabling Partition Locking
        View Partition Locks with sp_lock
        View Partition Locks with sp_familylock
        View Partition Locks with monLocks and monDeadLock
        Deadlocks and Lock Timeouts
      Partition Lock Promotion
        Setting Partition Lock Promotion Thresholds
        Dropping Partition Lock Promotion Thresholds
      Lock Compatibility and Lock Sufficiency
        Partition Lock Compatibility
        Partition Lock Sufficiency
        Schema Lock Compatibility
        Schema Lock Sufficiency
      Improved Concurrency for Partition-Level Online Operations
        Partition-Level Online Operation Syntax
        Concurrency with Partition-Level Online Operations
        Partition-Level Online Operations with Global Index
        Schema Locks
    Component Integration Services Support for HANA Server
      Configuring CIS for HANA
        Creating SAP HANA as an ODBC Data Source on Windows
        Adding SAP HANA to the SAP ASE Interfaces File
        Configuring the PCI Bridge and PCA/ODBC
      Adding Server Class HANAODBC
      Datatype Mapping Between SAP ASE and HANA
      Restrictions
    Relaxed Query Limits
    Query Plan Optimization with Star Joins
      Star Join Hint
      Star Join Query Plans Under the use fact_table Hint
    Query Performance Improvements
      Dynamic Thread Assignment
      SORT Operator Performance Improvement
      Hash Join Operator Performance Improvement
    Full-Text Auditing
    Auditing for Authorization Checks Inside Stored Procedures
    Replacing Object Definitions
      Install Script Changes
      Data and Log Segment Changes
    Query Plan and Execution Statistics in HTML
      Option for Prefix of Generated File
    Index Compression
      Enabling Index Compression
      Creating an Index Compressed Table
      Creating a Compressed Index
      Changing the Compression State
    SAP JVM Support
    Full Database Encryption
      Full Database Encryption Versus Encrypted Columns
      Creating the Database Encryption Key
        Changing a Database Encryption Key
        Dropping a Database Encryption Key
      Create an Encrypted Database
      Encrypt an Existing Database
      Encryption Status and Progress
      Performance Considerations
      Suspend the Encryption Process
        The quiesce database Command and Fully Encrypted Databases
      Resume the Encryption Process
      Decrypt an Encrypted Database
      Recover Fully Encrypted Databases
      Back Up (Dump) a Fully Encrypted Database
        Back Up the Database Encryption Key
      Restore (Load) Backups of Fully Encrypted Databases
        Loading Behavior of Encrypted Databases
      Dropping a Database That is Being Encrypted
      Mounting and Unmounting a Fully Encrypted Database
      Archive Databases and Full Encryption
      Full Database Encryption and System Changes
    Scalability Enhancements and Features
      Run-Time Logging Enhancements
      Lock Management Enhancements
      Metadata and Latch Management Enhancements
    Monitoring Threshold-Based Events
    Multiple Triggers
      Creating Multiple Triggers
      Changing the Order of When a Trigger is Fired
      Order of Triggers in Merge Statements
      Transactional Behavior with Multiple Triggers
      Disabling and Reenabling Triggers
      @@trigger_name Global Variable
    Residual Data Removal
    Configuration History Tracking
      Configuring SAP ASE to Track Configuration Changes
      Changes Captured
      Querying ch_events to View Changes
    Cyclic Redundancy Checks for dump database
    Calculating the Transaction Log Growth Rate
    System Changes
      Configuration Parameters
        New Configuration Parameters
        Changed Configuration Parameters
      Built-In Functions
        dbencryption_status
      Commands
        alter database for Full Database Encryption
        alter index
        alter table for Index Compression
        alter table for Multiple Triggers
        alter table for Residual Data Removal
        create archive database for Full Database Encryption
        create database for Full Database Encryption
        create default
        create encryption key
        create function
        create function (SQLJ)
        create index
        create procedure
        create procedure (SQLJ)
        create rule
        create table for Index Compression
        create table for Residual Data Removal
        create trigger for Multiple Triggers
        create trigger for or replace
        create view
        drop encryption key
        drop trigger
        dump database
        kill
        load database
        select
        select into
        set
      System Procedures
        Changed System Procedures
          sp_audit
          sp_chgattribute
          sp_clusterlockusage
          sp_dboption
          sp_depends
          sp_encryption
          sp_familylock
          sp_helpdb
          sp_lock
        New System Procedures
          sp_confighistory
          sp_ dropglockpromote_ptn
          sp_droprowlockpromote_ptn
          sp_helptrigger
          sp_jsconfigure
          sp_logging_rate
          sp_setpglockpromote_ptn
          sp_setrowlockpromote_ptn
      System Tables
        Changed System Tables
        New System Tables
          ch_events
        Changed Monitoring Tables
        New Monitoring Tables
          monThresholdEvent
      Utilities
        ddlgen
        sybmigrate
        sybrestore
      Global Variables
  Security Administration Guide SAP Adaptive Server Enterprise 16.0
    Introduction to Security
      What is “Information Security?”
      Common Criteria Configuration Evaluation
      FIPS 140-2 Validated Cryptographic Module
    Security Administration in SAP ASE
      Recommendations for Setting up Security
        Example of Setting up Security
      Security Features in SAP ASE
        Identification and Authentication
        Discretionary Access Control
        Division of Roles
        Auditing for Accountability
        Confidentiality of Data
    Manage SAP ASE Logins and Database Users
      Introduction to Logins
        Create Login Accounts
        Last Login and Managing Inactive Accounts
          Defining a Stale Period
          Tracking the Last Login
          Preventing Inactive Accounts from Being Locked
        Authentication Mechanisms for Login
        Change Login Accounts
        Drop Login Accounts
      Choose and Create a Password
        Maximum Login Attempts
          Setting the Server-Wide Maximum Failed Logins
          Setting the Maximum Failed Logins for Logins
          Setting the Maximum Failed Logins for Roles
          Changing the Maximum Failed Logins for Logins
          Changing the Maximum Failed Logins for Roles
        Logging in After Losing a Password
        Displaying Password Information for Logins
        Displaying Password Information for Roles
        Checking Passwords for at Least One Digit
        Set and Change the Minimum Password Length
          Setting the Minimum Password Length for a Specific Login
          Setting the Minimum Password Length for a Specific Role
          Changing the Minimum Password Length for a Specific Login
          Changing the Minimum Password Length for a Specific Role
          Removing the Minimum Password Length for a Specific Login
        Password Complexity Checks
          Activating or Deactivating Password Complexity Checks
          Disallowing Simple Passwords
          Custom Password-Complexity Checks
          Specify Characters in a Password
          Password Complexity Option Cross Checks
          Set Password Complexity Checks
        Enable Custom Password Checks
        Set the Login and Role Expiration Interval for a Password
          Circumvent Password Protection
          Create a Password Expiration Interval for a New Login
          Create a Password Expiration Interval for a New Role
          Creation Date Added for Passwords
          Change or Remove Password Expiration Interval for Login or Role
          Secure Login Passwords on the Network
        Secure Login Passwords Stored on Disk and in Memory
        Character Set Considerations for Passwords
        Upgrade Behavior
        Login Password Downgrade
        Retain Password Encryption After Upgrade then Downgrade
          Add Space Before You Upgrade
          Downgrade
        Expire Passwords When allow password downgrade is Set to 0
          Show the Current Value of allow password downgrade
        Passwords in a High Availability Environment
          Passwords Updated After Upgrade
      Establish a Password and Login Policy
      Login Failure
      Lock Login Accounts and Roles
        Lock and Unlock Logins and Accounts
        Use syslogins to Track if an Account is Locked
        Track Locked Roles
        Locking and Unlocking Roles
        Lock Logins that Own Thresholds
      Manage Login Profiles
        Login Profile Attributes
        Login Profile Attribute Precedence
        Create Login Profiles
        Create Default Login Profiles
        Associate Login Profiles with a Login Account
        Ignore Login Profiles
        Transfer Existing Login Account Values to a New Login Profile
        Manual Replication of Login Profiles
        Grant Roles to Login Profiles
        Invoke a Login Script
        Display Login Profile Information
        Modify Login Profiles
          Add or Drop Auto Activated Roles
          Change a Login Profile to be the Default Login Profile
        Drop Login Profiles
      Add Users to Databases
        Add a “guest” User to a Database
          “guest” User Permissions
          “guest” User in User Databases
          “guest” User in Installed System Databases
          “guest” User in pubs2 and pubs3
        Add Guest Users to the Server
        Add Remote Users
      Create Groups
        Change Group Membership
        Create Groups and Add Users
      Aliases in Databases
        Add Aliases
        Drop Aliases
        Information About Aliases
      Obtain Information About Users
        Report on Users and Processes
        Obtain Information about Login Accounts
        Obtain Information About Database Users
        Find User Names and IDs
      Change User Information
        Change Passwords
          Require New Passwords
          Null Passwords
          Log in After Lost Password
        Change User Session Information
      Drop Users and Groups
      Monitor License Use
        How Licenses are Counted
        Configure the License Use Monitor
        Monitor License Use with the Housekeeper Task
        Log the Number of User Licenses
      Number of User and Login IDs
      Login Connection Limitations
      Obtain Information About Usage: Chargeback Accounting
        Specify the Interval for Adding Accounting Statistics
    Manage Roles
      System-Defined Roles Overview
      System Roles
      Plan User-Defined Roles
      Create a User-Defined Role
      Add or Remove Passwords from a Role
      Role Hierarchies and Mutual Exclusivity
        Define and Change Mutual Exclusivity of Roles
        Define and Change a Role Hierarchy
      Default Activation at Login
      Conditions for Role Activation
      Drop User-Defined Roles
      Activate or Deactivate Roles
      Display Information About Roles
        Find Role IDs and Names
        View Active System Roles
        Display Role Hierarchy
        View User Roles in a Hierarchy
        Determine Mutual Exclusivity
        Determine Role Activation
        Check for Roles in Stored Procedures
      Grant or Revoke Roles
        Grant Roles
        Understanding the grant Command and Roles
        Revoke Roles
      Secure Role Passwords
        Character Set Considerations
        Locked Roles and syssrvroles
        Login Password Policy Checks Applied to Role Passwords
          High-Availability Support for Password Policy Options
        Configure SAP ASE for Roles
          Upgrade SAP ASE
          Downgrade SAP ASE
    External Authentication
      Configure SAP ASE for Network-Based Security
        SAP ASE Security Services
        Administering Network-Based Security
        Configuration Files for Security
          Security Information for the Server
          Prepare libtcl.cfg to Use Network-Based Security
          objectid.dat File
        Identify Users and Servers to the Security Mechanism
        Configure SAP ASE for Security
          Enable Network-Based Security
          Require Users to be Authenticated
          Establish a Secure Default Login
          Map Security Mechanism Login Names to Server Names
          Require Message Confidentiality with Encryption
          Require Data Integrity
          Memory Requirements for Network-Based Security
        Add Logins to Support Unified Login
          General Procedure for Adding Logins
        Establish Kerberos Security for Remote Connections
          Unified Login and the Remote Server Logins
          Obtain Information About Remote Servers
        Connect to a Server Using Security Services
          Security Mechanisms for the Client
        Obtain Information About Available Security Services
        Kerberos
          Kerberos Compatibility
          Start an SAP ASE Server Under Kerberos
          Configuring Kerberos
        Principal Names
          Server Principal Name
          Use sybmapname to Handle User Principal Names
      Concurrent Kerberos Authentication
      Configure SAP ASE for LDAP User Authentication
        Composed DN Algorithm
        Searched DN Algorithm
        Configuring LDAP in New SAP ASE Installations
        Migrating existing SAP ASE Servers to LDAP
        LDAP User Authentication Administration
          LDAP User Authentication Password Information Changes
          Failover Support
        Logins and LDAP User Accounts
        Secondary Lookup Server Support
        LDAP Server State Transitions
        LDAP User Authentication Tuning
        Add Tighter Controls on Login Mapping
          Login Mapping of External Authentication
        Troubleshoot LDAP User Authentication Errors
        Configuring an LDAP Server
      LDAPS User Authentication
      Automatic LDAP User Authentication and Failback
        LDAP Failback Time Interval
      Configure SAP ASE for Authentication Using PAM
        Enable PAM in SAP ASE
          Configuring Operating Systems
          Running a 32- and 64-bit Server on the Same Machine
          Configure SAP ASE for PAM User Authentication
          Logins and PAM User Accounts
      Enhanced Login Controls
        Forced Authentication
        Map Logins Using sp_maplogin
          Display Mapping Information
          Determine the Authentication Mechanism
    Manage User Permissions
      Granting Permissions for Creating Databases
        Change Database Ownership
      Database Owner Privileges
      Database Object Owner Privileges
      Permissions on System Procedures
      Grant or Revoke Permissions
        Object Access Permissions
          Concrete Identification
          Special Requirements for SQL92 Standard Compliance
          Grant Object Access Permissions Examples
          Revoke Object Access Permissions Examples
        Grant Permissions on dbcc Commands
          Server-wide and Database-Specific dbcc Commands
        Permissions on System Tables
          Grant Default Permissions to System Tables and Stored Procedures
        Combine grant and revoke Statements
        Permission Order and Hierarchy
      Acquire the Permissions of Another User
        setuser Command
        Proxy Authorization
          Use set proxy to Restrict Roles
          Execute Proxy Authorization
          Proxy Authorization for Applications
      Changing Database Object Ownership
        Supported Object Types
        Authorization to Transfer Ownership
        Transfer Ownership
          Transfer Ownership of Objects in the System Database
          Transfer Ownership of Database Owner Objects
          preserve permissions Command
          Security Issues
          Transfer Ownership of Encryption Keys
            Encryption Key Copy Owners
      Report on Permissions
        Query the sysprotects Table for Proxy Authorization
        Display Information About Users and Processes
        Report Permissions on Database Objects or Users
        Report Permissions on Specific Tables
      Views and Stored Procedures as Security Mechanisms
        Using Views as Security Mechanisms
        Using Stored Procedures as Security Mechanisms
          Roles and Stored Procedures
        Understanding Ownership Chains
          Example of Views and Ownership Chains
          Example of Procedures and Ownership Chains
        Permissions on Triggers
      Execute a Procedure With execute as owner or execute as caller
        Creating a Procedure with References to an Object with an Unqualified Name
        Procedures that Invoke a Nested Procedure in Another Database with a Fully Qualified Name
      Row-Level Access Control
        Access Rules
          Syntax for Access Rules
            Creating a Sample Table with Access Rules
            Syntax for Extended Access Rule
          Access and Extended Access Rules Examples
          Access Rules and the alter table Command
          Access Rules and bcp
          Access Rules as User-Defined Java Functions
        Using the Application Context Facility
          Setting Permissions for Using Application Context Functions
        SYS_SESSION System Application Context
        Solving a Problem Using an Access Rule and ACF
        Using Login Triggers
          Create Login Triggers
          Configure Login Triggers
            Display Login Triggers
            Drop and Change Login Triggers
          Execute Login Triggers
          Login Trigger Output
          Use Login Triggers for Other Applications
            Limiting the Number of Concurrent Connections
            Enforcing Timed-Based Restrictions
          Login Trigger Restrictions
          Disable the execute Privilege on Login Triggers
        Export set Options from a Login Trigger
        Set Global Login Triggers
    Predicated Privileges
      Differences Between Access Rules and Predicated Privileges
      Commands Used for Predicated Privileges
      Configure SAP ASE to Use Predicated Privileges
        enable predicated privileges
      Grant Predicated Privileges
        Grant Access to select Data
        Grant Access to update Data
        Grant Access to delete Data
        Use Predicated Privileges to Enforce a Data Privacy Policy
      Revoke Predicated Privileges
      How SAP ASE Saves Predicated Privileges in sysprotects
      Predicated Role Activation
      Combine Predicates to Enforce Row-Level Privileges
        Example 1: Combining Predicates From Multiple Grants for the Same Table Access
        Example 2: Combining Predicates From Multiple Grants Applying to Different Sets of Columns
        Example 3: Combining Predicates From Multiple Grants for Different Access
      SQL Behavior with Predicated Privileges
      Chain-of-Ownership Effect on Predicated Privileges
      ansi_permissions and Predicated Privileges
      Permissions on Accesses Made by Predicates
      Predicated Privileges and Triggers
      Recompile Predicated Privileges
      Disallow Recursive Predicate Processing
      Information Leakage Through Predicates
    Granular Permissions
      Configuring SAP ASE to Use Granular Permissions
      System Privileges
      Effect of Privileges as Part of System-Defined Roles
      Permission Management
        manage security permissions Privilege
        manage server permissions Privilege
        manage database permissions Privilege
        manage any object permission Privileges
      Privileges Granted to System-Defined Roles
      Privileges Assigned to the Database Owner
      Granular Permissions Adds the sa_serverprivs_role
      Default Roles Granted to the System Administrator
      Limiting the Power of the System Administrator and Database Owner
      Enable granular permissions and sybsecurity
      Logging in to a Locked-Out Server
      General Use Scenarios
      System Table master.dbo.sysprotects
      Database User usedb_user Account
      Grantable System Privileges
    Confidentiality of Data
      Public-Key Cryptography
      SSL Overview
        SSL in SAP ASE
          SSL Filter
          Authentication Via the Certificate
          Connection Types
        Enabling SSL
          Request Certificates
          Create Server Directory Entries
          Administer Certificates
        Performance
        Cipher Suites
          @@ssl_ciphersuite
          SSL Cipher Suite Preferences
            Predefined Cipher Suites in SAP ASE
            Examples sp_ssladmin
        Use SSL to Specify a Common Name
          Specify a Common Name with sp_listener
      Kerberos Confidentiality
      Dump and Load Databases with Password Protection
        Passwords and Character Sets
      Residual Data Removal
        Operations That Can Result in Residual Data
        Enabling the Removal of Residual Data
        Examples of Residual Data Removal
        Combinations of Settings for Removing Residual Data
        Check Whether Residual Data Removal Is Enabled
        Limitations
    Auditing
      The Audit System
        The sybsecurity Database
          The Audit Trail
        The Audit Queue
      Manage the Audit System
        Install the Audit System
          Preinstallation Recommendations for Auditing Devices
          Installing Auditing on UNIX with installsecurity
          Installing Auditing on Windows with instsecu
          Install Auditing with auditinit
            Configuring a Server with auditinit
            Creating a Device for an Audit Table with auditinit
            Creating a Device for the Audit Transaction Log with auditinit
        Enable or Disable Auditing
        Restarting Auditing
        Configure the Audit System
          Manage Deployed Source in Source Code Control Systems
          Audit Configuration Changes
          Correlate SAP ASE and Operating System Audit Records
          Set Global Auditing Options
            Auditing Options
              Examples of Setting Auditing Options
            Hide System Stored Procedure and Command Password Parameters
            Determine Current Auditing Settings
            Auditing grant and revoke Commands
            Auditing DML Statements
            Auditing Login and Login Profile Commands
            Auditing Stored Procedures
        Modifying the Audit System
          Moving the sybsecurity Auditing Database
            Moving sybsecurity Without Saving Global Audit Settings
            Moving sybsecurity and Saving Global Audit Settings
          Deleting a Device Entry with auditinit
          Changing a Device Entry with auditinit
        Audit Trail Management
          Creating more than one sysaudits table in sybsecurity
          Setting Up Threshold Procedures
            Change the Current Audit Table
            Archiving the Audit Table
            Example Threshold Procedure for Audit Segments
            Attach the Threshold Procedure to Each Audit Segment
            Audit Tables and Their Segments
            Required Roles and Permissions
            Auditing with the Sample Threshold Procedure in Place
          Audit Configuration Parameters
            Manage the Size of the Audit Queue
            Suspend Auditing if Devices are Full
          Query the Audit Trail
          Add User-Specified Records to the Audit Trail
            Examples of Adding User-Defined Audit Records
        Truncate the Transaction Log
          Manage a Transaction Log with No Truncation
        Single-Table Auditing
          Threshold Procedure for Single-Table Auditing
          What Happens when the Current Audit Table is Full?
          Recover When the Current Audit Table is Full
      Audit Tables
        Reading the extrainfo Column
        Monitoring Failed Login Attempts
        Auditing Login Failures
  SAP Control Center 3.3 for SAP Adaptive Server Enterprise
    About SAP Control Center for SAP Adaptive Server Enterprise
      New Features in SAP Control Center for SAP Adaptive Server Enterprise
      User Interface Overview
      Toolbar Icons
      Status Icons
      Display and Copy Options in SAP Adaptive Server Enterprise Monitors
      Common Display Options
      Keyboard Shortcuts
      Displaying the Versions of SCC Components
      Style and Syntax Conventions
      SAP Control Center Accessibility Information
    Get Started
      Quick Start for an Evaluation
      Get Started in a Production Environment
      Deploying an Instance from a Shared Disk Installation
        Enabling and Disabling Shared-Disk Mode
        Shared-Disk Mode
        sccinstance Command
      Launching SAP Control Center
        Registering the ODBC Driver in Windows
        Starting and Stopping SAP Control Center in Windows
        Starting and Stopping SAP Control Center in UNIX
        Configuring Memory Usage
          Changing a Memory Option on the Command Line
          Changing a Memory Option for an SAP Control Center Windows Service
          Changing a Memory Option for an SCC UNIX Service
        scc Command
      Logging in to SAP Control Center
      Logging out of SAP Control Center
      Setting Up Security
        Security
        Configuring Authentication for Windows
        Configuring a Pluggable Authentication Module (PAM) for UNIX
        Configuring an LDAP Authentication Module
          LDAP Configuration Properties
        Mapping SAP Control Center Roles to LDAP or OS Groups
        Encrypting a Password
        Configuring Ports
      Configuring the E-mail Server
      Configuring the Automatic Logout Timer
      Configuring Retrieval Thresholds for the Administration Console
      User Authorization
        Assigning a Role to a Login or a Group
        Removing a Role from a Login or a Group
        Adding a Group
        Removing a Group
        Adding a Login Account to a Group
        Removing a Login Account from a Group
        Adding a Login Account to the System
        Removing a Login Account from the System
        Modifying a User Profile
        Logins, Roles, and Groups
    Configure
      Configuring SAP Adaptive Server Enterprise for Monitoring
      Registering an SAP ASE Server
      Importing Resources for Batch Registration
      Registering the Agent for an SAP ASE Server
      Authenticating a Login Account for a Managed Resource
        Role Assignment in SAP Control Center for SAP ASE
        Encrypted Authentication for SAP ASE
      Setting Up Statistics Collection
        About Statistics
        SAP ASE Data Collections
        Key Performance Indicators for SAP ASE
      Creating an Alert
        SAP ASE Alerts
        Alert Types, Severities, and States for SAP ASE
        Alert-Triggered Scripts
        Alert-Triggered Script Examples
        Substitution Parameters for Scripts
      Setting Display Options for SAP ASE Performance Data
      Optional Configuration Steps
    Manage and Monitor
      Displaying Resource Availability: the Heat Chart
      Graphing Performance Counters: the Statistics Chart
      Manage SAP Control Center
        Administration Console
          Browsing and Managing Resources
          Searching and Filtering Resources
          Searching for Objects in SAP ASE
            Manage Message Rows for Search Requests
          Configuring Retrieval Thresholds for the Administration Console
        Job Scheduling
          Executing and Stopping a Data Collection Job
          Deleting a Data Collection Job
          Resuming and Suspending a Data Collection Job
          Adding a New Schedule to a Job
          Viewing or Deleting a Schedule
          Modifying the Data Collection Interval for a Job
          Resuming and Suspending the Scheduler
          Viewing the Job Execution History
        Alerts
          SAP ASE Alerts
          Alert Types, Severities, and States for SAP ASE
          Creating an SAP ASE Alert
          Displaying SAP ASE Alerts
          Modifying an Alert
          Deleting an Alert
          Alert Subscriptions
            Adding or Modifying an Alert Subscription
            Unsubscribing from an Alert
            Enabling and Disabling Alert Subscription
          Alert Notifications
            Displaying Alert History and Resolutions
            Resolving Alerts
          Alert-Triggered Scripts
            Substitution Parameters for Scripts
            Testing an Alert-Triggered Script
            Alert-Triggered Script Examples
        Resources
          Unregistering a Resource
          Adding a Resource to a Perspective
          Removing a Resource from a Perspective
          Modifying a Resource’s Name and Connection Properties
          Searching for Resources in the Resource Explorer
        Perspectives
          Creating a Perspective
          Removing a Perspective
          Renaming a Perspective
        Views
          Managing a View
          Arranging View Layout in a Perspective
        Instances
          Enabling and Disabling Shared-Disk Mode
          Deploying an Instance from a Shared Disk Installation
          Refreshing or Converting an Instance
          Removing an Instance
          Shared-Disk Mode
          sccinstance Command
        Repository
          Scheduling Backups of the Repository
          Modifying the Backup Schedule
          Forcing an Immediate Backup
          Restoring the Repository from Backups
          Configuring Repository Purging
        Logging
          Viewing the SAP ASE Component Log
          Viewing SAP Control Center Server Logs
          Viewing the SAP Control Center Client Log
          Changing the Logging Level
          Logging or Message Levels
          Changing Logging Configuration
        SAP Control Center Console
          Console Commands
            help Command
            info Command
            shutdown command
            status Command
        Setting SAP ASE Parameters in the Configuration File
          Configuration Parameters for SAP ASE
      Manage and Monitor the SAP ASE Environment
        Managing an SAP ASE server
          Executing SQL Statements
          Registering the Agent for an SAP ASE Server
          Authenticating the Unified Agent
          Authenticating the SCC Agent
          Starting an SAP ASE Server
          Stopping an SAP ASE Server
          Configuring Retrieval Thresholds for the Administration Console
          SAP ASE Error Log
            Viewing the SAP ASE Error Log
            Searching the Error Log for Messages
            Managing Flag Definitions
              Importing Flag Definitions
              Exporting Flag Definitions
          Server Configuration
            Displaying Configuration Values
            Modifying Server Configuration Parameters
            Server Configuration Statistics and Details
            Server Monitor Settings
          Server Properties
          Activating a Role
          Managing Permissions
            Enabling Granular Permissions
          Replacing Compiled Object Definitions
        Displaying the Performance Overview
          Performance Overview Statistics and Details
        Caches
          Monitor Caches
            Monitoring SAP ASE Data Caches
            Modifying Data Cache Sizes
            Adding Data Cache Buffer Pools
            Data Cache Statistics and Details
            Monitoring the SAP ASE Procedure Cache
            Procedure Cache Statistics and Details
            Monitoring the SAP ASE Statement Cache
              Setting the Statement Cache Size
            Statement Cache Statistics and Details
            Monitoring SAP ASE In-memory Storage
          In-memory Storage Statistics and Details
          Manage Caches
            Creating a Cache
            Cache Properties
            Managing Binding Options
            Managing Buffer Pools
            Managing Cache Configurations
            Generating DDL for a Cache
            Deleting a Cache
        Clusters
          Monitor Clusters
            Cluster Instances
              Monitoring Cluster Instances in Cluster Configurations
              Cluster Instances Statistics and Details
            Cluster Interconnect
              Displaying the Cluster Overview
              Cluster Interconnect Statistics and Details
              Monitoring Interprocess Communication in Cluster Configurations
            Workload Management
              Monitoring Workloads in Cluster Configurations
              Workload Management Statistics and Details
          Manage Clusters
            Starting the SCC agent for a Cluster
            Starting the Unified Agent for a Cluster
            Preparing to Create a Cluster
            Creating a Cluster
            Registering a Cluster
            Registering the Agent and Starting a Cluster
            Displaying Cluster Configuration Values
            Starting a Cluster
            Stopping a Cluster
            Dropping a Cluster
            Viewing a Cluster Log
            Cluster Properties
            Manage Logical Clusters
              Adding a Logical Cluster
              Designating a Failover Logical Cluster
              Designating a Failback Logical Cluster
              Logical Cluster States
                Changing the State of a Logical Cluster
              Deleting a Logical Cluster
              Generating a DDL Script for a Logical Cluster
              Logical Cluster Properties
            Manage Cluster Instances
              Displaying Instance Configuration Values
              Starting an Instance
              Adding an Instance to a Cluster
              Stopping an Instance
              Deleting an Instance
              Instance Properties
              Viewing an Instance Log
            Manage Load Profiles
              Adding a Load Profile
              Deleting a Load Profile
              Generating a DDL Script for a Load Profile
              Load Profile Properties
            Manage Routes
              Adding a Route
              Deleting a Route
              Route Properties
            Manage Auxiliary Servers
              Configuring a Backup Server
              Deleting a Backup Server
              Backup Server Properties
              Configuring an XP Server
              Deleting an XP Server
              XP Server Properties
        Databases
          Monitor Databases
            Determining the Backup Status of a Database
            Displaying Resources Used by a Database
            Modifying Database Sizes
            Database Statistics and Details
            Displaying Information About Segments Used by a Database
          Manage Databases
            Creating a User Database
            Creating a Proxy Database
            Creating a Temporary Database
            Creating an Archive Database
            Creating an In-Memory Database
            Creating an In-Memory Temporary Database
            Creating an Encrypted Database
              Encrypting an Existing Database
              Suspending the Encryption Process
              Resuming the Encryption Process
              Decrypting an Encrypted Database
                Suspending the Decryption Process
                Resuming the Decryption Process
            Creating a Temporary Database Group
            Shrinking a Database
            Backing Up (Dumping) a Database
              Viewing Available Dump Configurations
              Creating a Dump Configuration
              Backing Up a Database Using a Dump Configuration
              Dump Configuration Properties
              Deleting a Dump Configuration
              Backing Up a Database or Transaction Log to Multiple Stripes
              Backing Up a Database Incrementally
              Backing Up a Database Incrementally Using a Dump Configuration
              Viewing Dump Records
              Purging Dump Records from Dump History
              Generating Database-Creation SQL for a Target Database
              Generating Database-Creation SQL from a Dump Image
              Backing Up Server Configuration Files
            Scheduling a Database Backup
              Requirements and Permissions for Scheduling Backups
              Creating a Schedule for Backups
              Schedule Properties
              Deleting a Schedule
              Scheduling a Backup Job in the Backup Wizard
              Creating a New Scheduled Backup Job
              Properties of a Scheduled Backup Job
              Manage a Scheduled Backup Job
                Enabling Scheduled Jobs
                Deleting a Backup Job from the Schedule
                Disabling Scheduled Jobs
                Running a Scheduled Job Now
                Rescheduling a Backup Job
                Terminating a Scheduled Job in Progress
              Viewing the Execution History of a Scheduled Backup Job
                Job History Properties
                Viewing the Contents of the Execution History Log
                Deleting the Execution History of a Scheduled Backup Job
              Job Scheduler Administration
              Set Up an Alert for When a Backup Job Fails
            Restoring (Loading) a Database
              Generating a Database Load Sequence
              Generating a Database Load Sequence for a Target Database from Dump History
              Restoring a Database from a Cumulative Dump
              Restoring a Database from a SQL Script
              Restoring a Database from a Point in Time
            Viewing Database Statistics
            Checkpointing Databases
            Checking Database Consistency
            Placing a Database in Quiesce-Hold
            Placing a Database in Quiesce-Release
            Mounting an SAP ASE Database
            Unmounting an SAP ASE Database
            Database Properties
              Changing Database Ownership
              Modifying Database Storage Allocations
              Modifying the Transaction Log Cache and the Log I/O Buffer Size
              Changing Database Options
            Generating DDL for a Database
            Deleting a Database
        Defaults
          Creating a Default
          Defaults Properties
          Replacing a Default Definition
          Deleting a Default
        Devices
          Monitor Devices
            Determining Device I/O Response and I/O per Second
            Modifying Device Sizes
            Device Statistics and Details
          Manage Devices
            Displaying a Device Object
            Creating a Database Device
            Creating an In-Memory Device
            Creating a Dump Device
            Database Device Properties
            In-Memory Device Properties
            Dump Device Properties
            Generating DDL for a Device
            Deleting a Database, In-Memory, or Dump Device
        Engines
          Monitor Engines
            Displaying Engine CPU Utilization
            Engine Statistics and Details
          Manage Engine Groups
            Creating Engine Groups
            Engine Groups Properties
            Deleting an Engine Group
            Generating DDL for an Engine Group
        Execution Classes
          Creating Execution Classes
          Execution Classes Properties
          Modifying Bindings to Execution Classes
        Extended Stored Procedures
          Creating an Extended Stored Procedure
          Replacing an Extended Stored Procedure Definition
          Extended Stored Procedures Properties
          Granting Execute Permission on an Extended Stored Procedure
          Revoking Execute Permission on an Extended Stored Procedure
          Deleting an Extended Stored Procedure
          Generating DDL for an Extended Stored Procedure
        Functions
          Manage Scalar Functions
            Creating a Scalar Function
            Replacing a Scalar User Defined Function Definition
            Scalar Function Properties
            Granting Execute Permission on a Scalar Function
            Revoking Execute Permission on a Scalar Function
            Deleting a Scalar Function
            Generating DDL for a Scalar Function
          Manage SQLJ Functions
            Creating a SQLJ Function
            Replacing a SQLJ Function Definition
            SQLJ Function Properties
            Deleting a SQLJ Function
            Generating DDL for a SQLJ Function
        Networks
          Managing Remote Servers
            Configuring a Server for Remote Procedure Calls
            Adding a Remote Server
            Deleting a Remote Server
            Remote Server Properties
              Testing a Remote Server Connection
              Setting Options for a Remote Server
              Managing Remote Server Login Mappings
              Managing CIS Roles and Logins Mappings
        Precomputed Result Sets
          Configuring SAP ASE to Use Precomputed Result Sets
          Viewing Precomputed Result Sets
          Creating a Precomputed Result Set
          Deleting a Precomputed Result Set
          Altering a Precomputed Result Set
          Refreshing Precomputed Result Sets
          Truncating a Precomputed Result Set
          Granting Permissions on Precomputed Result Sets
          Revoking Permissions on Precomputed Result Sets
          Granting Precomputed Result Set Permissions to a Specific User
          Revoking Precomputed Result Set Permissions from a Specific User
          Displaying Information About Precomputed Result Sets
          Generating DDL for a Precomputed Result Set
        Procedures
          Manage Stored Procedures
            Creating a Stored Procedure
            Replacing a Stored Procedure Definition
            Stored Procedure Properties
            Granting Execute Permission on a Stored Procedure
            Revoking Execute Permission on a Stored Procedure
            Deleting a Stored Procedure
            Generating DDL for a Stored Procedure
          Manage SQLJ Procedures
            Creating a SQLJ Procedure
            Replacing a SQLJ Procedure Definition
            SQLJ Procedure Properties
            Deleting a SQLJ Procedure
            Generating DDL for a SQLJ Procedure
        Processes
          Identifying Resource-Intensive Processes
          Identifying Blocked Processes and Blocking Processes
          Terminating Blocking Processes
          Identifying the Lead Blocker in a Chain
          Displaying the SQL Query Associated with a Process
          Displaying Wait Events for a Process
          Process Statistics and Details
        Replication Agents
          Monitoring RepAgent Threads
          Replication Agent Statistics and Details
        Rules
          Manage Rules
            Creating a Rule
            Replacing a Rule Definition
            Rule Properties
            Deleting a Rule
            Generating DDL for a Rule
        Security
          Manage Encryption Keys
            Modifying and Deleting a System Encryption Password
            Creating a System Encryption Password
            Creating a Master Key
            Master Key Properties
            Modifying, Regenerating, and Deleting a Master Key
            Dual Control and Split Knowledge
            Creating a Column Encryption Key
            Column Encryption Keys Properties
            Creating a Key Copy
            Modifying and Deleting a Column Encryption Key
            Creating a Database Encryption Key
            Database Encryption Keys Properties
            Granting Encryption Permissions to a Role, User, or Group
            Modifying a Database Encryption Key
            Deleting an Encryption Key
            Generate DDL for an Encryption Key
          Manage Login Profiles
            Creating a Login Profile
            Login Profile Properties
            Removing Roles Granted to a Login Profile
            Granting Roles to a Login Profile
            Deleting a Login Profile
            Displaying Logins Assigned to a Login Profile
            Transferring Login Attributes to a Login Profile
          Manage Logins
            Creating a Login
            Login Properties
            Managing Users Mapped to Logins
            Removing Roles from a Login
            Granting Roles to a Login
            Configuring Login Password Properties
            Changing a Login Password
            Displaying Login Account Properties
            Assigning Login Profiles to a Login
            Deleting a Login
          Manage Groups
            Creating a Group
            Adding or Removing Users to or from a Group
            Group Properties
            Setting Command Permissions for a Group
            Granting Object Permissions to a Group
            Revoking Object Permissions from a Group
            Granting Privileges to a Group
            Revoking Privileges from a Group
            Deleting a Group
            Generate DDL for a Group
          Manage Users
            Creating a User
            Transferring Ownership of a Database Object
            Users Properties
            Granting Object Permissions to a User
            Revoking Object Permissions from a User
            Granting Privileges to a User
            Revoking Privileges from a User
            Setting Command Permissions for a User
            Deleting a User
          Manage Roles
            Expiring a Role Password
            Creating a Role
            Restoring System Roles
            Role Properties
            Revoking Object Permission from a Role
            Granting Object Permissions to a Role
            Revoking Privileges from a Role
            Granting Privileges to a Role
            Creating Role Hierarchy
            Managing Mutually Exclusive Roles
            Removing Login Profiles Assigned to a Role
            Assigning Login Profiles to a Role
            Removing Logins Assigned to a Role
            Assigning Logins to a Role
            Setting Command Permissions for a Role
        Segments
          Monitor Segments
            Determining the Space Used by a Table on a Segment
            Extending a Segment in SAP ASE
            Segment Statistics and Details
          Manage Segments
            Displaying Segments
            Creating a Segment
            Segment Properties
            Removing a Threshold from a Segment
            Adding a Threshold to a Segment
            Removing a Database Device from a Segment
            Adding a Database Device to a Segment
            Deleting a Segment
            Generating DDL for a Segment
        Statistics
          Interpreting Statistics
          Updating Statistics on a Table
          Updating Statistics on Specific Columns
          Updating Statistics on an Index
          Updating Statistics for a Data Partition
          Updating Statistics on an Index Partition
          Deleting Statistics from a Table
          Deleting Statistics from a Column
          Deleting Statistics from a Data Partition
        SQL Activity
          Monitoring SQL Queries
          Executing SQL Statements
        Tables
          Creating a User or Proxy Table
          Creating a Column
          Creating an Index
          Restoring Table Data
          Creating a Foreign Key
          Creating a Check Constraint
          Checking Table Consistency
          Binding Defaults and Rules to a Column
          Placing a Table on a Segment
          Setting the Table Locking Scheme
          Creating a Unique Constraint or Primary Key
          Manage Table Compression
            Identifying Table Compression Candidates
            Initiating a Compression Estimate
            Applying Compression Settings
          Manage Index Compression
            Setting Index Compression on an Index
            Setting Index Compression on a Local Index Partition
            Setting Index Compression on a Table
          Manage Triggers
            Creating a Trigger
            Trigger Properties
            Replacing a Trigger Definition
          Incrementally Transferring Data
            Enabling Incremental Transfer
            Incrementally Transferring Data In
            Incrementally Transferring Data Out
          Bulk Copying Data
            Bulk Copying Data Into or Out of Tables
          Setting Table or Column Permissions
            Granting Table Permissions
            Revoking Table Permissions
            Granting Column Permissions
            Revoking Column Permissions
          Manage Partitions
            Partition Locking
              Enabling Partition Locking
            Enabling Semantic-based Partitioning
            Using a Hash Partition
            Using a Range Partition
            Using a List Partition
            Using a Round-Robin Partition
            Splitting a Partition
            Merging Partitions
            Moving a Partition
            Deleting a Partition
          Reorganize Tables and Table Objects
            Reorganizing Tables at the Database Level
            Reorganizing Tables
            Reorganizing Table Partitions
            Reorganizing Indexes
            Reorganizing Index Partitions
            Status Messages
          Table Properties
          Column Properties
          Index Properties
          Foreign Key Properties
          Check Constraint Properties
          Partition Properties
          Deleting a Table
          Deleting an Index
        Thread Pools
          Monitor Threads
            Identifying the Threads in a Thread Pool
            Thread Statistics and Details
          Manage Thread Pools
            Creating a Thread Pool
            Thread Pool Properties
        Transactions
          Identifying a Transaction’s Process
          Transaction Statistics and Details
        User-Defined Datatypes
          Adding a User-Defined Datatype
          User-Defined Datatypes Properties
          Deleting a User-Defined Datatype
        Views
          Creating a View
          Replacing a View Definition
          View Properties
          Granting Permissions on Views
          Revoking Permissions on Views
          Deleting a View
    Troubleshoot SAP Control Center for SAP ASE
      Data Display Problems
        Cannot Monitor SAP ASE or Display Statistics Chart
        Data on Screens or Charts Is Missing
        Database Objects Are Not Updated
        Error: No Result Set for this Query
        Error: No Data Was Found For Statistic
        Error: Unable to Format the Date String
        Properties for Engine Groups Incorrectly Displayed
        Same Name Engine Groups Are Not Selectable
        "Number of Transactions" KPI Is Not Updated
        Cannot Find Error Information For Monitor View
        Display Large Number of Objects in Administration Console
      Data Collection and Alert Problems
        Collection Job for SAP ASE Fails
        Alerts Are Configured But Do Not Fire
        Data Collections Fail to Complete
        Alerts Are Not Generated
      Authentication and Access Problems
        Cannot Log In
        SAP Control Center Fails to Start
        Browser Refresh (F5) Causes Logout
        Invalid Connection Profile
        Cannot Authenticate Server Configured with a Multibyte Character Set
        Features Are Not Enabled Although You Have sa_role
        Resetting the Online Help
      Performance Problems
        SAP ASE is Responding Slowly
        Memory Warnings at Startup
        SCC Out of Memory Errors
        Performance Statistics Do Not Cover Enough Time
      Collect Diagnostic Data
        Preparing to Collect Diagnostic Data
        Collecting Field Diagnostic Data
        Collecting Optimizer Diagnostic Data
        Upload Diagnostic Data
          Uploading Diagnostic Data Via FTP
          Submitting Diagnostic Data via E-mail Message
        Deleting a Diagnostic Data File
    Glossary: SAP Control Center for SAP ASE
  Utility Guide SAP Adaptive Server Enterprise 16.0
    Types of Utilities
      Threaded Versions of Utilities
      Installation or Configuration Utilities
      Utilities for Languages, Character Sets, and Sort Orders
      Utilities to Start Servers
      Database Creation and Manipulation Utilities
      Utilities to Gather Information
      Tuning Utility
      Utility to Manage a Cluster
    Utility Commands Reference
      auditinit
      backupserver
      bcp
        Usage for bcp
          Copying Tables with Indexes or Triggers Using bcp
          Using bcp with Compressed Data
      buildmaster
      certauth
      certpk12
      certreg
      charset
      cobpre
      cpre
      dataserver
        Usage for dataserver
          Dependencies and Conditions of dataserver -b and -w Options
          Potential Issues of Using dataserver -f and -w Options Together
      ddlgen
        Usage for ddlgen
          Hiding Passwords in ddlgen
          ddlgen and Encryption
            ddlgen for Encrypted Columns
            Encrypted Columns and Specifying the -XOD Flag in ddlgen
            ddlgen Support for Key Copies
            EKC Encryption Key Copy Filter and ddlgen
          Create Table DDL
      defncopy
      dscp
      dsedit
      extractjava
      installjava
        Usage for installjava
          Cases When Adding New JARs Causes Exceptions
          Updating JARs and Classes
          Locks
      isql
        Usage for isql
          Interactive isql Commands
          isql Session Commands
          Prompt Labels and Double Wildcards in an isql Session
          Command History in isql
      langinstall
      optdiag
        Usage for optdiag
          Byte Ordering and Binary optdiag Files
          optdiag Input Mode
      preupgrade
        Usage for preupgrade
          The preupgrade -D Parameter
      pwdcrypt
      qptune
      qrmutil
      showserver
      sqldbgr
        Usage for sqldbgr
          Error Messages in sqldbgr
      sqlloc
      sqllocres
      sqlsrvr
        Usage for sqlsrvr
          Starting an SAP ASE Server
          startsrvr Dependencies and Conditions with -b and -w
      sqlupgrade
      sqlupgraderes
      srvbuild
        Usage for srvbuild
          Using LDAP with srvbuild in a 64-bit Environment
      srvbuildres
      startserver
        Usage for startserver
          The Runserver File
      sybatch
      sybcluster
      syconfig
      sybdiag
        Usage for sybdiag
          Viewing sybdiag Output
          Configuration Options for sybdiag
      sybdumptran
        Usage for sybdumptran
      sybmigrate
      sybrestore
      sybtsmpasswd
      updatease
      xpserver
    Using bcp to Transfer Data to and from SAP ASE
      Methods for Moving Data
        Import and Export Data with bcp
      bcp Modes
      bcp Requirements
        bcp Permissions
        Before You Transfer
      Copy Data to Partitions Using bcp
      Improve bcp Performance
        Fast, Fast-logged, and Slow bcp
          Slow bcp
          Fast bcp
          Fast-logged bcp
          Copying Tables with Indexes
            Locking Scheme and Fast bcp
          Space Requirements for Copying
        Summary of Steps for Fast and Fast-logged bcp
        Bulk Copying Data into Partitioned Tables
          Copying Data Randomly Into Partitions
          Monitoring bcp Sessions with dbcc checktable and sp_helpsegment
          Reducing Logging by Increasing Page Allocations
        Using Parallel Bulk Copy to Copy Data into a Specific Partition
          bcp in and Locks
          Parallel Bulk Copy Methods
          Parallel Bulk Copy Syntax
          Using Parallel Bulk Copy on Round-robin Partitioned Tables
          Parallel Bulk Copy and IDENTITY Columns
            Retaining Sort Order
            Specifying the Value of a Table’s IDENTITY Column
      Bulk Copying Encrypted Data
      bcp Options
        Using the Default Formats
          Native Format
          Character Format
        Change Terminators from the Command Line
      Change the Defaults in Interactive bcp
        Respond to bcp Prompts
        File Storage Type
        Prefix Length
        Field length
        Field and Row Terminators
          Choose Terminators
      Format Files
      Examples of Copying Out Data Interactively
      Examples of Copying In Data Interactively
      bcp and Alternate Languages
      Support for Initialization Strings
      bcp and Row-Level Access Rules
      Copy In and Batch Files
        Improve Recoverability
        Batches and Partitioned Tables
      Copy Out and Text and Image Data
      Specify a Network Packet Size
      Copy In and Error Files
      Copy Out and Error Files
      Data Integrity for Defaults, Rules, and Triggers
      How bcp Differs from Other Utilities
    Using dataserver Build Servers
      Building a New Master Device
        Environments When Using dataserver
        Specifying Device and Logical Page Sizes When Building a New SAP ASE Server
        Starting an Existing a SAP ASE Server
        Upgrading to a Server With Larger Page Sizes
        Viewing the Current Server Limits
    Using dscp to View and Edit Server Entries
      Starting dscp
        Working with Server Entries
          Adding and Modifying Server Entries
            Adding a Server Entry
            Modifying or Deleting a Server Entry
          Copy Server Entries
          List and View Contents of Server Entries
          Delete Server Entries
        Exiting dscp
    Using dsedit to View and Edit Server Entries
      Add, View, and Edit Server Entries
      Using dsedit in UNIX
        Starting dsedit in UNIX
        Open an Editing Session in UNIX
        Modify Server Entries in UNIX
          Adding a New Server Entry in UNIX
          Viewing or Modifying a Server Entry in UNIX
          Add or Edit Network Transport Addresses
            TCP/IP Addresses
            SPX/IPX Addresses
        Copying a Server Entry to Another Interfaces File in UNIX
        Copying Server Entries Within the Current Session
        Copying Server Entries Between Sessions
      Using dsedit in Windows
        Starting dsedit in Windows
        Open an Editing Session in Windows
          Opening a Session in Windows
          Opening Additional Sessions in Windows
          Switching Between Sessions in Windows
        Modify Server Entries in Windows
          Adding a Server Entry
          Modifying a Server Attribute
          Renaming a Server Entry
          Deleting a Server Entry
        Copying Server Entries Within the Current Session in Windows
        Copying Server Entries Between Sessions in Windows
      Troubleshooting dsedit
    Using Interactive isql from the Command Line
      Starting isql
      Stopping isql
      Using Transact-SQL in isql
        Formatting isql Output
        Correcting isql Input
        set Options that Affect Output
      Changing the Command Terminator
      Performance Statistics Interaction with Command Terminator Values
      Input and Output Files
        UNIX command line redirection
    Using Interactive SQL in Graphics Mode
      Starting Interactive SQL
      The Main Interactive SQL Window
        Plan Dialog Tab
      The Interactive SQL Toolbar
      Open Multiple Windows
      Keyboard Shortcuts
      Display Data Using Interactive SQL
      Edit Table Values in Interactive SQL
        Copying Rows from the Interactive SQL Result Set
        Editing Rows from the Interactive SQL Result Set
        Inserting Rows into the Database from the Interactive SQL Result Set
        Deleting Rows from the Database Using Interactive SQL
      SQL Statements in Interactive SQL
        Canceling an Interactive SQL Command
        Combining Multiple Statements
        Looking Up Tables, Columns, and Procedures
        Recall Commands
        Logging Commands
      Configure Interactive SQL
        General Dialog Box
        Result Dialog Box
        Import/Export Dialog Box
        Messages Dialog Tab
        Editor Dialog Box
        Query Editor Dialog Box
      Processing Command Files
        Saving SQL Statements to a File
        Executing Command Files
        Saving, Loading, and Running Command Files
      The SQL Escape Syntax in Interactive SQL
      Interactive SQL Commands
    Interactive sybcluster Commands Reference
      Commands Active Before Connecting to a Cluster
      Commands Active After Connecting to a Cluster
      add backupserver
      add instance
      connect
      create backupserver
      create cluster
      create xpserver
      deploy plugin
      diagnose cluster
      diagnose instance
      disconnect
      drop backupserver
      drop cluster
      drop instance
      drop xpserver
      exit
      help
      localize
      quit
      set backupserver
      set cluster
      set instance
      set xpserver port
      show agents
      show backupserver config
      show cluster
      show instance
      show membership mode
      show session
      show xpserver
      shutdown cluster
      shutdown instance
      start cluster
      start instance
      upgrade server
      use
    Using sybmigrate to Migrate Data
      What sybmigrate Does
      What sybmigrate Does Not Do
      Before You Begin
        Permissions
          Changing Target Login Accounts
        Platforms
        Environment Settings
        Migrating Proxy Tables
      Migration process
        Overview of the Migration Process
        Pre-migration Considerations
        Configuration and Tuning for Higher Performance
          Configuration Considerations for SAP ASE
        Possible Errors to Avoid
        Auto-select Dependent Objects for Migration
        Migrating an Archive Database
          Upgrading an SAP ASE Server with an Archive Database
          Downgrading an SAP ASE Server with an Archive Database
        GUI Mode
          Setting Up Source Databases for Migration
          Begin the Migration
          Validating the Migration
          Migration and Validation Progress
        Resource File Mode
      Using sybmigrate with Encrypted Columns
      Post-migration Activities
      Migrate Databases in the Replication Server Domain
        Preparing for Migration
        Postmigration Procedures
          Restoring Primary Databases
          Restoring the RSSD
          Amending System Tables When the Logical Page Size Changes
          Restoring Replicate Databases
          Logs
        Migrating Databases That Support Wide Data
      Limitations
        Stopping High Availability
        Other Limitations
      Troubleshooting and Error Messages
    Using sybrestore to Restore Databases
      Before You Begin
      sybrestore Checks
        Compatibility Geometry Check
      sybrestore Syntax
      Restoring a Database in Noninteractive Mode
      Restoring a Database in Interactive Mode
        Interactive Menu Options
        Logging sybrestore Output
        Providing a Mapping Directory
        Restoring a Database to a Point In Time
          Example of Restoring a Database to a Point In Time
        Restoring User and System Databases
        Master Database Restore
          Prerequisites for Restoring a Master Database
          Configuration and Resource Files
            Creating or Editing the Restore Utility Configuration File
            Creating or Editing Resource Files
            Resource File Examples
          Restoring a Master Database
  Transact-SQL Users Guide 15.7
    SQL Building Blocks
      SQL in Adaptive Server
        Queries, data modification, and commands
        Tables, columns, and rows
        Relational operations
        Compiled objects
          Saving or restoring source text
          Verifying and encrypting source text
      Compliance to ANSI standards
        Federal Information Processing Standards (FIPS) flagger
        Chained transactions and isolation levels
        Identifiers
        SQL standard-style comments
        Right truncation of character strings
        Permissions required for update and delete statements
        Arithmetic errors
        Synonymous keywords
        Treatment of nulls
      Naming conventions
        SQL data characters
        SQL language characters
        Identifiers
          Multibyte character sets
          Delimited identifiers
          Uniqueness and qualification conventions
          Remote servers
      Expressions in Adaptive Server
        Arithmetic and character expressions
          Operator precedence
          Arithmetic operators
          Bitwise operators
          The string concatenation operator
          The comparison operators
          Nonstandard operators
          Character expression comparisons
          Empty strings
          Quotation marks
        Relational and logical expressions
          any, all, and in
          and and or
      Transact-SQL extensions
        compute clause
        Control-of-flow language
        Stored procedures
        Extended stored procedures
        Triggers
        Defaults and rules
        Error handling and set options
        Additional Adaptive Server extensions to SQL
      Adaptive Server login accounts
      isql utility
        Default databases
        Network-based security services with isql
      Displaying SQL text
    Queries: Selecting Data from a Table
      Queries
        select syntax
          Checking for identifiers in a select statement
      Choosing columns using the select clause
        Choosing all columns using select *
        Choosing specific columns
        Rearranging the column order
        Renaming columns in query results
        Using expressions
          Quoted strings in column headings
          Character strings in query results
          Computed values in the select list
          Arithmetic operator precedence
        Selecting text, unitext, and image values
          Using readtext
        Select list summary
      Using select for update
        Using select for update in cursors and DML
        Concurrency issues
      Eliminating duplicate query results with distinct
      Specifying tables with the from clause
      Selecting rows using the where clause
        Comparison operators in where clauses
        Ranges (between and not between)
        Lists (in and not in)
      Matching patterns
        Matching character strings: like
          Using not like
          Getting different results using not like and ^
          Using wildcard characters as literal characters
          Interaction of wildcard characters and square brackets
          Using trailing blanks and %
          Using wildcard characters in columns
        “Unknown” values: NULL
          Testing a column for null values
          Difference between false and unknown
          Substituting a value for NULLs
          Expressions that evaluate to NULL
          Concatenating strings and NULL
          System-generated NULLs
        Connecting conditions with logical operators
          Logical operator precedence
      Using multiple select items in a nested exists query
      Using a column alias in nested select statements
    Using Aggregates, Grouping, and Sorting
      Using aggregate functions
        Aggregate functions and datatypes
        count vs. count (*)
        Aggregate functions with distinct
        Null values and the aggregate functions
        Using statistical aggregates
          Standard deviation and variance
      Organizing query results into groups: the group by clause
        group by and SQL standards
        Nesting groups with group by
        Referencing other columns in queries using group by
        Expressions and group by
        Using group by in nested aggregates
        Null values and group by
        where clause and group by
        group by and all
        Aggregates without group by
      Selecting groups of data: the having clause
        How the having, group by, and where clauses interact
        Using having without group by
      Sorting query results: the order by clause
        order by and group by
        order by and group by used with select distinct
      Summarizing groups of data: the compute clause
        Row aggregates and compute
          Rules for compute clauses
        Specifying more than one column after compute
        Using more than one compute clause
        Applying an aggregate to more than one column
        Using different aggregates in the same compute clause
        Generating totals: compute without by
      Combining queries: the union operator
        Guidelines for union queries
        Using union with other Transact-SQL commands
    Joins: Retrieving Data from Several Tables
      How joins work
        Join syntax
        Joins and the relational model
      How joins are structured
        The from clause
        The where clause
          Join operators
          Datatypes in join columns
          Joins and text and image columns
      How joins are processed
      Equijoins and natural joins
      Joins with additional conditions
      Joins not based on equality
      Self-joins and correlation names
      The not-equal join
        Not-equal joins and subqueries
      Joining more than two tables
      Outer joins
        Inner and outer tables
        Outer join restrictions
        Views used with outer joins
        ANSI inner and outer joins
          Correlation name and column referencing rules for ANSI joins
          ANSI inner joins
        ANSI outer joins
          Should the predicate be in the on or where clause?
          Nested ANSI outer joins
          Converting outer joins with join-order-dependency
        Transact-SQL outer joins
          Using outer joins and aggregate extended columns
      Relocated joins
        Using relocated joins
        Configuring relocated joins
      How null values affect joins
      Determining which table columns to join
    Subqueries: Using Queries Within Other Queries
      How subqueries work
        Subquery restrictions
        Example of using a subquery
        Qualifying column names
        Subqueries with correlation names
        Multiple levels of nesting
        Using an asterisk in nested select statements
          Using table-name qualifiers
          Using nested queries with group by
          Examples
          Usage
        Subqueries in update, delete, and insert statements
        Subqueries in conditional statements
        Subqueries instead of expressions
      Types of subqueries
        Expression subqueries
          Using scalar aggregate functions to guarantee a single value
          Using group by and having in expression subqueries
          Using distinct with expression subqueries
        Quantified predicate subqueries
          Subqueries with any and all
        Subqueries used with in
        Subqueries used with not in
        Subqueries using not in with NULL
        Subqueries used with exists
        Subqueries used with not exists
        Finding intersection and difference with exists
        Subqueries using SQL derived tables
      Using correlated subqueries
        Correlated subqueries with correlation names
        Correlated subqueries with comparison operators
        Correlated subqueries in a having clause
    Using and Creating Datatypes
      How Transact-SQL datatypes work
      Using system-supplied datatypes
        Exact numeric types: integers
        Exact numeric types: decimal numbers
        Approximate numeric datatypes
        Money datatypes
        Date and time datatypes
        Character datatypes
          unichar datatype
          text datatype
          unitext datatype
        Binary datatypes
          image datatype
        The bit datatype
        The timestamp datatype
        The sysname and longsysname datatype
      Using LOB Locators in Transact-SQL Statements
        Creating a LOB locator
          Explicitly creating a locator
          Implicitly creating a locator
        Converting the locator value to the LOB value
        Locator scope
      Converting between datatypes
      Mixed-mode arithmetic and datatype hierarchy
        Working with money datatypes
        Determining precision and scale
      Creating user-defined datatypes
        Specifying length, precision, and scale
        Specifying null type
        Associating rules and defaults with user-defined datatypes
        Creating user-defined datatype with IDENTITY property
        Creating IDENTITY columns from user-defined datatypes
        Dropping a user-defined datatype
      Getting information about datatypes
    Adding, Changing, Transferring, and Deleting Data
      Referential integrity
      Transactions
      Using the sample databases
      Datatype entry rules
        char, nchar, unichar, univarchar, varchar, nvarchar, unitext, and text
        date and time
          Entering times
          Entering dates
          Searching for dates and times
        binary, varbinary, and image
        money and smallmoney
        float, real, and double precision
        decimal and numeric
        Integer types and their unsigned counterparts
        timestamp
      Adding new data
        Adding new rows with values
        Inserting data into specific columns
          Restricting column data: rules
          Using the NULL character string
          Inserting NULLs into columns that do not allow them
          Adding rows without values in all columns
          Changing a column’s value to NULL
          Adaptive-Server-generated values for IDENTITY columns
          Explicitly inserting data into an IDENTITY column
          Retrieving IDENTITY column values with @@identity
          Reserving a block of IDENTITY column values
          Reaching the IDENTITY column’s maximum value
        Adding new rows with select
          Using computed columns
          Inserting data into some columns
          Inserting data from the same table
      Creating nonmaterialized, non-null columns
        Adding nonmaterialized columns
        Tables that already have nonmaterialized columns
        Nonmaterialized column storage
        Altering nonmaterialized columns
        Limitations
      Changing existing data
        Using the set clause with update
          Assigning variables in the set clause
        Using the where clause with update
        Using the from clause with update
        Performing updates with joins
        Updating IDENTITY columns
      Changing text, unitext, and image data
      Trucating trailing zeros
      Transferring data incrementally
        Marking tables for incremental transfer
        Transferring tables from a destination file
        Converting Adaptive Server datatypes to IQ
        Storing transfer information
        Exceptions and errors
        Sample session for incremental data transfer
          Replacing data with new rows
      Deleting data
        Using the from clause with delete
        Deleting from IDENTITY columns
      Deleting all rows from a table
        truncate table syntax
    Creating Databases and Tables
      Databases and tables
        Enforcing data integrity in databases
        Permissions within databases
      Using and creating databases
        Choosing a database: use
        Creating a user database with create database
          The on clause
          The log on clause
          for load option
        quiesce database command
      Altering the sizes of databases
      Dropping databases
      Creating tables
        Maximum number of columns per table
        Example
        Choosing table names
        Creating tables in different databases
        create table syntax
        Using IDENTITY columns
          Creating IDENTITY columns with user-defined datatypes
          Referencing IDENTITY columns
          Referring to IDENTITY columns with syb_identity
          Automatically creating “hidden” IDENTITY columns
        Allowing null values in a column
          Constraints and rules used with null values
          Defaults and null values
          Nulls require variable-length datatypes
          text, unitext, and image columns
        Using temporary tables
          Ensuring that the temporary table name is unique
          Manipulating temporary tables in stored procedures
          General rules for temporary tables
      Managing identity gaps in tables
        Parameters for controlling identity gaps
        Comparison of identity burning set factor and identity_gap
          Reducing the identity number gap
        Setting the table-specific identity gap
        Changing the table-specific identity gap
        Displaying table-specific identity gap information
        Gaps from other causes
        When table inserts reach IDENTITY column maximum value
      Defining integrity constraints for tables
        Specifying table-level or column-level constraints
        Creating error messages for constraints
        After creating a check constraint
        Specifying default column values
        Specifying unique and primary key constraints
        Specifying referential integrity constraints
          Table-level or column-level referential integrity constraints
          Maximum number of references allowed for a table
          Using create schema for cross-referencing constraints
          General rules for creating referential integrity constraints
        Specifying check constraints
        Designing applications that use referential integrity
      Designing and creating a table
        Making a design sketch
        Creating the user-defined datatypes
        Choosing the columns that accept null values
        Defining the table
      Creating new tables from query results: select into
        Checking for errors
        Using select into with IDENTITY columns
          Selecting an IDENTITY column into a new table
          Selecting the IDENTITY column more than once
          Adding a new IDENTITY column with select into
          Defining a column for which the value must be computed
          IDENTITY columns selected into tables with unions or joins
      Altering existing tables
        Objects using select * do not list changes to table
        Using alter table on remote tables
        Adding columns
          Adding columns appends column IDs
          Adding NOT NULL columns
          Adding constraints
        Dropping columns
          Dropping columns renumbers the column ID
          Dropping constraints
        Modifying columns
          Converting datatypes
          Modifying tables may prevent successful bulk copy of previous dump
          Decreasing column length may truncate data
          Modifying datetime columns
          Modifying the NULL default value of a column
          Modifying columns that have precision or scale
          Modifying text, unitext, and image columns
        Adding, dropping, and modifying IDENTITY columns
          Adding IDENTITY columns
          Dropping IDENTITY columns
          Modifying IDENTITY columns
        Data copying
          Changing exp_row_size
        Modifying locking schemes and table schema
        Altering columns with user-defined datatypes
          Adding a column with user-defined datatypes
          Dropping a column with user-defined datatypes
          Modifying a column with user-defined datatypes
        Errors and warnings from alter table
          Errors and warnings generated by alter table modify
          Scripts generated by if exists()...alter table
        Renaming tables and other objects
          Renaming dependent objects
      Dropping tables
      Computed columns
        Using computed columns
          Computed columns example
        Indexes on computed columns
        Deterministic property
          How does the deterministic property affect computed columns?
          Examples
          How does the deterministic property affect function-based indexes?
      Assigning permissions to users
      Getting information about databases and tables
        Getting help on databases
        Getting help on database objects
          Using sp_help on database objects
          Using sp_helpconstraint to find a table’s constraint information
          Finding out how much space a table uses
          Listing tables, columns, and datatypes
          Finding an object name and ID
    SQL-Derived Tables
      Advantages of SQL-derived tables
        SQL-derived tables and optimization
      SQL-derived table syntax
        Derived column lists
        Correlated SQL-derived tables
      Using SQL-derived tables
        Nesting
        Subqueries using SQL-derived tables
        Unions
        Unions in subqueries
        Renaming columns with SQL-derived tables
        Constant expressions
        Aggregate functions
        Joins with SQL-derived tables
        Creating a table from a SQL-derived table
          Using views with SQL-derived tables
        Correlated attributes
    Partitioning Tables and Indexes
      Upgrading from Adaptive Server 12.5.x and earlier
      Data partitions
      Index partitions
      Partition IDs
      Locks and partitions
      Partitioning types
        Range partitioning
        Hash partitioning
        List partitioning
        Round-robin partitioning
        Composite partitioning keys
        Partition pruning
      Indexes and partitions
        Global indexes
          Global nonclustered index on unpartitioned table
          Global clustered index on unpartitioned table
          Global clustered index on round-robin partitioned table
          Global nonclustered index on partitioned table
        Local indexes
          Local clustered indexes
          Local nonclustered indexes
        Guaranteeing a unique index
      Creating and managing partitions
        Partitioning tasks
        Creating data partitions
          Creating a range-partitioned table
          Creating a hash-partitioned table
          Creating a list-partitioned table
          Creating a round-robin–partitioned table
        Creating partitioned indexes
          Creating global indexes
          Creating local indexes
          Creating clustered indexes on partitioned tables
        Creating a partitioned table from an existing table
      Altering data partitions
        Changing an unpartitioned table to a partitioned table
        Adding partitions to a partitioned table
        Changing the partitioning type
        Changing the partitioning key
        Unpartitioning round-robin–partitioned tables
        Using the partition parameter
        Altering partition-key columns
      Configuring partitions
      Updating, deleting, and inserting in partitioned tables
      Updating values in partition-key columns
      Displaying information about partitions
        Using functions
      Truncating a partition
      Using partitions to load table data
      Updating partition statistics
    Virtually hashed tables
      Structure of a virtually hashed table
      Creating a virtually hashed table
      Limitations for virtually hashed tables
      Commands that support virtually hashed tables
      Query processor support
      Monitor counter support
      System procedure support
    Views: Limiting Access to Data
      How views work
        Advantages of views
          Security
          Logical data independence
        Examples
      Creating views
        create view syntax
        Using the select statement with create view
          View definition with projection
          View definition with a computed column
          View definition with an aggregate or built-in function
          View definition with a join
          Views used with outer joins
          Views derived from other views
          distinct views
          Views that include IDENTITY columns
        Validating a view’s selection criteria
          Views derived from other views
      Retrieving data through views
        View resolution
        Redefining views
        Renaming views
        Altering or dropping underlying objects
      Modifying data through views
        Restrictions on updating views
          Computed columns in a view definition
          group by or compute in a view definition
          NULL values in underlying objects
          Views created using with check option
          Multitable views
          Views with IDENTITY columns
      Dropping views
      Using views as security mechanisms
      Getting information about views
        Using sp_help and sp_helptext to display view information
        Using sp_depends to list dependent objects
        Listing all views in a database
        Finding an object name and ID
    Creating Indexes on Tables
      How indexes work
        Comparing the two ways to create indexes
        Guidelines for using indexes
      Creating indexes
        create index syntax
        Indexing more than one column: composite indexes
        Indexing with function-based indexes
        Using the unique option
        Including IDENTITY columns in nonunique indexes
        Ascending and descending index-column values
        Using fillfactor, max_rows_per_page, and reservepagegap
      Indexes on computed columns
      Function-based indexes
      Using clustered or nonclustered indexes
        Creating clustered indexes on segments
      Specifying index options
        Using the ignore_dup_key option
        Using the ignore_dup_row and allow_dup_row options
        Using the sorted_data option
        Using the on segment_name option
      Dropping indexes
      Determining what indexes exist on a table
      Updating statistics about indexes
    Defining Defaults and Rules for Data
      How defaults and rules work
      Creating defaults
        create default syntax
        Binding defaults
        Unbinding defaults
        How defaults affect NULL values
      Dropping defaults
      Creating rules
        create rule syntax
        Binding rules
          Rules bound to columns
          Rules bound to user-defined datatypes
          Precedence of rules
        Rules and NULL values
        Unbinding rules
      Dropping rules
      Getting information about defaults and rules
      Sharing inline defaults
        Creating an inline shared default
        Unbinding a shared inline default
        Limitations
    Using Batches and Control-of-Flow Language
      Introduction
      Rules associated with batches
        Examples of using batches
        Batches submitted as files
      Using control-of-flow language
        if...else
        case expression
          Using case expression for alternative representation
          case and division by zero
          Using rand functions in case expressions
          case expression results
          case expressions and set ansinull
          case expression requires at least one non-null result
          Determining the result set
          case and value comparisons
          coalesce
          nullif
        begin...end
        while and break...continue
        declare and local variables
        goto
        return
        print
        raiserror
        Creating messages for print and raiserror
        waitfor
        Comments
          Slash-asterisk style comments
          Double-hyphen style comments
      Local variables
        Declaring local variables
        Local variables and select statements
        Local variables and update statements
        Local variables and subqueries
        Local variables and while loops and if…else blocks
        Variables and null values
      Global variables
        Transactions and global variables
          Checking for errors with @@error
          Checking IDENTITY values with @@identity
          Checking the transaction nesting level with @@trancount
          Checking the transaction state with @@transtate
          Checking the nesting level with @@nestlevel
          Checking the status from the last fetch
    Using Transact-SQL Functions in Queries
      Setting up a query
      Built-in functions
        System functions
        String functions
          Concatenating expressions
          Nesting string functions
          Limits on string functions
        Text and image functions
          Using readtext on unitext columns
        Aggregate functions
          Limitations
          Aggregate functions used with the group by clause
          Aggregate functions and null values
          Vector and scalar aggregates
          Aggregate functions as row aggregates
        Statistical aggregate functions
          Formulas for computing standard deviations
        Mathematical functions
        Date functions
        Datatype conversion functions
          Using the convert function for explicit conversions
          Datatype conversion guidelines and constraints
          Changing the date format
          Conversion error handling
        Security functions
        XML functions
      User-created functions
    Using Stored Procedures
      How stored procedures work
        Examples
        Permissions
        Performance
      Creating and executing stored procedures
        Using deferred name resolution
        Parameters
        Default parameters
          Using default parameters in stored procedures
          NULL as the default parameter
          Wildcard characters in the default parameter
        Using more than one parameter
        Using large object text, unitext, and image datatypes in stored procedures
        Procedure groups
        Using with recompile in create procedure
          Using with recompile
        Using with recompile in execute
        Nesting procedures within procedures
        Using temporary tables in stored procedures
        Setting options in stored procedures
          Query optimization settings
          Arguments for stored procedures
          Length of expressions, variables, and arguments
        Executing stored procedures
          Executing procedures after a time delay
          Executing procedures remotely
      Deferred compilation in stored procedures
      Returning information from stored procedures
        Return status
          Reserved return status values
          User-generated return values
        Checking roles in procedures
        Return parameters
          Passing values in parameters
          The output keyword
      Restrictions associated with stored procedures
        Qualifying names inside procedures
      Renaming stored procedures
        Renaming objects referenced by procedures
      Using stored procedures as security mechanisms
      Dropping stored procedures
      System procedures
        Executing system procedures
        Permissions on system procedures
        Types of system procedures
        Other Sybase-supplied procedures
          Catalog stored procedures
          System extended stored procedures
          dbcc procedures
      Getting information about stored procedures
        Getting a report with sp_help
        Viewing the source text of a procedure with sp_helptext
        Identifying dependent objects with sp_depends
          Using sp_depends with deferred_name_resolution
        Identifying permissions with sp_helprotect
    Using Extended Stored Procedures
      Overview
        XP Server
        Dynamic link library support
        Open Server API
        ESPs and permissions
        ESPs and performance
      Creating functions for ESPs
        Files for ESP development
        Open Server data structures
        Open Server return codes
        Outline of a simple ESP function
        ESP function example
        Building the DLL
          Search order for DLLs
          Sample makefile (UNIX)
          Sample definitions file
      Registering ESPs
        Using create procedure
        Using sp_addextendedproc
      Removing ESPs
        Renaming ESPs
      Executing ESPs
      System ESPs
      Getting information about ESPs
      ESP exceptions and messages
    Cursors: Accessing Data
      Selecting rows with cursors
      Sensitivity and scrollability
      Types of cursors
      Cursor scope
      Cursor scans and the cursor result set
      Making cursors updatable
        Determining which columns can be updated
      How processes cursors
      Monitoring cursor statements
      Using declare cursor
        declare cursor examples
      Opening cursors
      Fetching data rows using cursors
        fetch syntax
        Checking cursor status
        Getting multiple rows with each fetch
        Checking the number of rows fetched
      Updating and deleting rows using cursors
        Updating cursor result set rows
        Deleting cursor result set rows
      Closing and deallocating cursors
      Scrollable and forward-only cursor examples
        Forward-only (default) cursors
        Example table for scrollable cursors
        Insensitive scrollable cursors
        Semisensitive scrollable cursors
      Using cursors in stored procedures
      Cursors and locking
        Cursor-locking options
      Enhanced transaction support for updatable cursors
      Getting information about cursors
      Using browse mode instead of cursors
        Browsing a table
        Browse-mode restrictions
        Timestamping a new table for browsing
        Timestamping an existing table
        Comparing timestamp values
    Triggers: Enforcing Referential Integrity
      How triggers work
        Using triggers versus integrity constraints
      Creating triggers
        create trigger syntax
          SQL statements that are not allowed in triggers
      Using triggers to maintain referential integrity
        Testing data modifications against the trigger test tables
        Insert trigger example
        Delete trigger examples
          Cascading delete example
          Restricted delete examples
        Update trigger examples
          Restricted update triggers
          Updating a foreign key
      Multirow considerations
        Insert trigger example using multiple rows
        Delete trigger example using multiple rows
        Update trigger example using multiple rows
        Conditional insert trigger example using multiple rows
      Rolling back triggers
      Global login triggers
      Nesting triggers
        Trigger self-recursion
      Rules associated with triggers
        Triggers and permissions
        Trigger restrictions
        Implicit and explicit null values
        Triggers and performance
        set commands in triggers
        Renaming and triggers
        Trigger tips
      Disabling triggers
      Dropping triggers
      Getting information about triggers
        sp_help
        sp_helptext
        sp_depends
    In-Row Off-Row LOB
      Overview
      Compressing in-row LOB columns
      Migrating off-row LOB data to use in-row storage
        In-row LOB columns and bulk copy
        Examples of methods for migrating existing data
        Guidelines for selecting the in-row LOB length
      Downgrading with tables containing in-row LOB columns
    Using instead of Triggers
      Inserted and deleted logical tables
      Triggers and transactions
      Nesting and recursion
      instead of insert triggers
        Example
      instead of update trigger
      instead of delete trigger
      searched and positioned update and delete
      Getting information about triggers
    Transactions: Maintaining Data Consistency and Recovery
      How transactions work
        Transactions and consistency
        Transactions and recovery
      Using transactions
        Allowing data definition commands in transactions
        System procedures that are not allowed in transactions
        Beginning and committing transactions
        Rolling back and saving transactions
        Checking the state of transactions
        Nested transactions
        Example of a transaction
      Selecting the transaction mode and isolation level
        Choosing a transaction mode
          Transaction modes and nested transactions
          Finding the status of the current transaction mode
        Choosing an isolation level
          Default isolation levels for Adaptive Server and ANSI SQL
          Dirty reads
          Repeatable reads
          Finding the status of the current isolation level
          Changing the isolation level for a query
          Isolation level precedences
          Cursors and isolation levels
          Stored procedures and isolation levels
          Triggers and isolation levels
        Compliance with SQL standards
        Using the lock table command to improve performance
      Using transactions in stored procedures and triggers
        Errors and transaction rollbacks
        Transaction modes and stored procedures
          Running system procedures in chained mode
          Setting transaction modes for stored procedures
      Using cursors in transactions
      Issues to consider when using transactions
      Backup and recovery of transactions
    Locking Commands and Options
      Setting a time limit on waiting for locks
        wait/nowait option of the lock table command
        Setting a session-level lock-wait limit
        Setting a server-wide lock-wait limit
        Information on the number of lock-wait timeouts
      Readpast locking for queue processing
        Incompatible locks during readpast queries
        Allpages-locked tables and readpast queries
        Effects of isolation levels select queries with readpast
          Session-level transaction isolation levels and readpast
          Query-level isolation levels and readpast
        Data modification commands with readpast and isolation levels
        text, unitext, and image columns and readpast
        Readpast-locking examples
    The pubs2 Database
      Tables in the pubs2 database
        publishers table
        authors table
        titles table
        titleauthor table
        salesdetail table
        sales table
        stores table
        roysched table
        discounts table
        blurbs table
        au_pix table
      Diagram of the pubs2 database
    The pubs3 Database
      Tables in the pubs3 database
        publishers table
        authors table
        titles table
        titleauthor table
        salesdetail table
        sales table
        stores table
        store_employees table
        roysched table
        discounts table
        blurbs table
      Diagram of the pubs3 database
  System Administration Guide 15.7: Volume 1
    Overview of System Administration
      Adaptive Server administration tasks
        Roles required for system administration tasks
          Database owner
          Database object owner
        Using isql to perform system administration tasks
          Starting isql
          Entering statements
          Saving and reusing statements
        Using Sybase Central for system administration tasks
      System tables
        Querying the system tables
        Keys in system tables
        Updating system tables
      System procedures
        Using system procedures
        System procedure tables
        Creating system procedures
      System extended stored procedures
        Creating system ESPs
      Logging error messages
      Connecting to Adaptive Server
        The interfaces file
        Directory services
        LDAP as a directory service
          Multiple directory services
          LDAP directory services versus the Sybase interfaces file
      Security features available in Adaptive Server
    System and Optional Databases
      Overview of system databases
      master database
        Controlling object creation in master
        Backing up master and keeping copies of system tables
      model database
      sybsystemprocs database
      tempdb database
        Creating temporary tables
      sybsecurity database
      sybsystemdb database
      sybmgmtdb database
      pubs2 and pubs3 sample databases
        Maintaining the sample databases
        pubs2 image data
      dbccdb database
      sybdiag database
      Determining the version of the installation scripts
    System Administration for Beginners
      Logical page sizes
      Using “test” servers
        Planning resources
        Achieving performance goals
      Considerations when installing Sybase products
        Check product compatibility
        Install or upgrade Adaptive Server
        Install additional third-party software
        Configure and test client connections
      Allocating physical resources
        Dedicated versus shared servers
        Decision-support and OLTP applications
        Advance resource planning
        Operating system configuration
      Backup and recovery
        Keep up-to-date backups of master
          Keep offline copies of system tables
        Automate backup procedures
        Verify data consistency before backing up a database
        Monitor the log size
      Ongoing maintenance and troubleshooting
        Starting and stopping Adaptive Server
        Viewing and pruning the error log
      Keeping records
        Contact information
        Configuration information
        Maintenance schedules
        System information
        Disaster recovery plan
      Additional resources
    Managing and Monitoring Adaptive Server
      Sybase Control Center for Adaptive Server
      Adaptive Server Sybase Central Plug-in
        Using the Adaptive Server Plug-in
        Starting and stopping Sybase Central
        Registering Adaptive Server Plug-in
        Performing common tasks
        Using Interactive SQL
          Starting Interactive SQL
    Setting Configuration Parameters
      Overview
        The Adaptive Server configuration file
        Modifying configuration parameters
        Required roles for modifying configuration parameters
        Unit specification using sp_configure
        Global versus session settings
        Getting help information on configuration parameters
      Using sp_configure
        Syntax elements
          Parameter parsing
        Using sp_configure with a configuration file
          Naming tips for the configuration file
          Using sp_configure to read or write the configuration file
          Editing the configuration file
          Starting Adaptive Server with a configuration file
        The parameter hierarchy
        User-defined subsets of the parameter hierarchy: display levels
          The effect of the display level on sp_configure output
        Performance tuning with sp_configure and sp_sysmon
        Using configuration parameters in a clustered environment
      sp_configure output
      Named cache configuration parameters
      sysconfigures and syscurconfigs tables
        Querying syscurconfigs and sysconfigures: an example
      Configuration parameters
        Alphabetical listing of configuration parameters
          abstract plan cache
          abstract plan dump
          abstract plan load
          abstract plan replace
          additional network memory
          allocate max shared memory
          allow backward scans
          allow nested triggers
          allow procedure grouping
          allow remote access
          allow resource limits
          allow sendmsg
          allow sql server async i/o
          allow updates to system tables
          average cap size
          audit queue size
          auditing
          automatic cluster takeover
          builtin date strings
          caps per ccb
          capture compression statistics
          check password for digit
          CIPC large message pool size
          CIPC regular message pool size
          cis bulk insert array size
          cis bulk insert batch size
          cis connect timeout
          cis cursor rows
          cis idle connection timeout
          cis packet size
          cis rpc handling
          cluster heartbeat interval
          cluster heartbeat retries
          cluster redundancy level
          cluster vote timeout
          column default cache size
          compression info pool size
          compression memory size
          configuration file
          cost of a logical io
          cost of a physical io
          cost of a cpu unit
          cpu accounting flush interval
          cpu grace time
          current audit table
          deadlock checking period
          deadlock pipe active
          deadlock pipe max messages
          deadlock retries
          default character set id
          default database size
          default exp_row_size percent
          default fill factor percent
          default language id
          default network packet size
          default sortorder id
          default unicode sortorder
          default XML sortorder
          deferred name resolution
          disable character set conversions
          disable disk mirroring
          disable varbinary truncation
          disk i/o structures
          DMA object pool size
          dtm detach timeout period
          dtm lock timeout period
          dump on conditions
          dynamic allocation on demand
          enable backupserver HA
          enable cis
          enable compression
          enable console logging
          enable DTM
          enable encrypted columns
          enable enterprise java beans
          enable file access
          enable full-text search
          enable functionality group
          enable inline default sharing
          enable HA
          enable housekeeper GC
          enable hp posix async i/o
          enable i/o fencing
          enable java
          enable job scheduler
          enable ldap user auth
          enable literal autoparam
          enable logins during recovery
          enable merge join
          enable metrics capture
          enable monitoring
          enable pam user auth
          enable pci
          enable permissive unicode
          enable query tuning mem limit
          enable query tuning time limit
          enable real time messaging
          enable rep agent threads
          enable row level access control
          enable semantic partitioning
          enable sort-merge join and JTC
          enable sql debugger
          enable ssl
          enable stmt cache monitoring
          enable surrogate processing
          enable unicode conversion
          enable unicode normalization
          enable webservices
          enable xact coordination
          enable xml
          engine memory log size
          errorlog pipe active
          errorlog pipe max messages
          esp execution priority
          esp execution stacksize
          esp unload dll
          event buffers per engine
          event log computer name (Windows only)
          event logging (Windows only)
          executable codesize + overhead
          extended cache size
          FIPS login password encryption
          global async prefetch limit
          global cache partition number
          heap memory per user
          histogram tuning factor
          housekeeper free write percent
          i/o accounting flush interval
          i/o batch size
          i/o polling process count
          identity burning set factor
          identity grab size
          identity reservation size
          idle migration timeout
          job scheduler interval
          job scheduler tasks
          js job output width
          kernel mode
          kernel resource memory
          license information
          lock address spinlock ratio
          lock hashtable size
          lock scheme
          lock shared memory
          lock spinlock ratio
          lock table spinlock ratio
          lock timeout pipe active
          lock timeout pipe max messages
          lock wait period
          log audit logon failure
          log audit logon success
          max async i/os per engine
          max async i/os per server
          max cis remote connections
          max concurrently recovered db
          max memory
          max native threads per engine
          max nesting level
          max network packet size
          max number network listeners
          max online engines
          max online Q engines
          max parallel degree
          max pci slots
          max query parallel degree
          max repartition degree
          max resource granularity
          max scan parallel degree
          max SQL text monitored
          max transfer history
          maximum dump conditions
          max buffers per lava operator
          maximum failed logins
          maximum job output
          memory alignment boundary
          memory per worker process
          messaging memory
          metrics elap max
          metrics exec max
          metrics lio max
          metrics pio max
          min pages for parallel scan
          minimum password length
          mnc_full_index_filter
          msg confidentiality reqd
          msg integrity reqd
          net password encryption required
          number of alarms
          number of aux scan descriptors
          number of backup connections
          number of ccbs
          number of checkpoint tasks
          number of devices
          number of disk tasks
          number of dtx participants
          number of dump threads
          number of engines at startup
          number of histogram steps
          number of index trips
          number of java sockets
          number of large i/o buffers
          number of locks
          number of mailboxes
          number of messages
          number of network tasks
          number of oam trips
          number of open databases
          number of open indexes
          number of open objects
          number of open partitions
          number of pre-allocated extents
          number of Q engines at startup
          number of remote connections
          number of remote logins
          number of remote sites
          number of sort buffers
          number of user connections
          number of worker processes
          o/s file descriptors
          object lockwait timing
          open index hash spinlock ratio
          open index spinlock ratio
          open object spinlock ratio
          optimization goal
          optimization timeout limit
          optimizer level
          page lock promotion HWM
          page lock promotion LWM
          page lock promotion PCT
          page utilization percent
          partition groups
          partition spinlock ratio
          pci memory size
          per object statistics active
          percent database for history
          percent database for output
          percent history free
          percent output free
          performance monitoring option
          permission cache entries
          plan text pipe active
          plan text pipe max messages
          print deadlock information
          print recovery information
          procedure cache size
          procedure deferred compilation
          process wait events
          prod-consumer overlap factor
          quorum heartbeat interval
          quorum heartbeat retries
          quoted identifier enhancements
          read committed with lock
          recovery interval in minutes
          remote server pre-read packets
          restricted decrypt permission
          row lock promotion HWM
          row lock promotion LWM
          row lock promotion PCT
          rtm thread idle wait period
          runnable process search count
          sampling percent
          secure default login
          select for update
          select on syscomments.text
          send doneinproc tokens
          session migration timeout
          session tempdb log cache size
          shared memory starting address
          size of auto identity column
          size of global fixed heap
          size of process object heap
          size of shared class heap
          size of unilib cache
          sproc optimize timeout limit
          SQL batch capture
          SQL Perfmon Integration (Windows only)
          sql server clock tick length
          sql text pipe active
          sql text pipe max messages
          stack guard size
          stack size
          start mail session (Windows only)
          start xp server during boot
          startup delay
          statement cache size
          statement pipe active
          statement pipe max messages
          statement statistics active
          streamlined dynamic SQL
          strict dtm enforcement
          suppress js max task message
          suspend audit when device full
          syb_sendmsg port number
          sysstatistics flush interval
          systemwide password expiration
          tape retention in days
          tcp no delay
          text prefetch size
          time slice
          total data cache size
          total logical memory
          total physical memory
          transfer utility memory size
          txn to pss ratio
          unified login required
          upgrade version
          use security services
          user log cache size
          user log cache spinlock ratio
          wait event timing
          workload manager cache size
          xact coordination interval
          xp_cmdshell context
    Overview of Disk Resource Issues
      Device allocation and object placement
      Commands for managing disk resources
      Considerations in storage management decisions
        Recovery
          Keeping logs on a separate device
          Mirroring
        Performance
      Status and defaults at installation time
      System tables that manage storage
        The sysdevices table
        The sysusages table
        The syssegments table
        The sysindexes table
        The syspartitions table
    Managing Remote Servers
      Overview
      Managing remote servers
        Adding a remote server
          Examples of adding remote servers
        Managing remote server names
        Setting server connection options
          Using the timeouts option
          Using the net password encryption option
          Using the security mechanism option
        Getting information about servers
        Dropping remote servers
      Adding remote logins
        Mapping users’ server IDs
        Mapping remote logins to particular local names
        Mapping all remote logins to one local name
        Keeping remote login names for local servers
        Example of remote user login mapping
      Password checking for remote users
        Effects of using the untrusted mode
      Getting information about remote logins
      Configuration parameters for remote logins
    Initializing Database Devices
      Database devices
      Using the disk init command
      disk init syntax
        Specifying a logical device name
        Specifying a physical device name
        Choosing a device number
        Specifying the device size
        Specifying the dsync setting (optional)
          Performance implications of dsync
          Limitations and restrictions of dsync
        Using directio to bypass operating system buffer
        Other optional parameters for disk init
      Getting information about devices
      Dropping devices
      Designating default devices
        Choosing default and nondefault devices
      Increasing the size of devices with disk resize
        Insufficient disk space
    Setting Database Options
      Using the sp_dboption procedure
      Database option descriptions
      Viewing the options on a database
      Displaying currently set switches with sysoptions
    Configuring Character Sets, Sort Orders, and Languages
      Understanding internationalization and localization
      Advantages of internationalized systems
      A sample internationalized system
      Elements of an internationalized system
      Selecting the character set for your server
        Unicode
          Character set installation
          Configuration parameters
          Functions
          Using unichar columns
          Using unitext
          Open Client interoperability
          Java interoperability
          Limitations
        Selecting the server default character set
      Selecting the sort order
        Using sort orders
        Different types of sort orders
        Selecting the default sort order
          Chinese Pinyin sort order
          Selecting case-insensitive sort orders for Chinese and Japanese character sets
          Selecting the default Unicode sort order
      Selecting a language for system messages
      Setting up your server: examples
        A Spanish-version server
        A U.S.-based company in Japan
        A Japan-based company with multinational clients
      Changing the character set, sort order, or message language
        Changing the default character set
        Changing the sort order with a resources file
        Changing the default sort order
        Reconfiguring the character set, sort order, or message language
        Unicode examples
          Schema
          Converting to UTF-8
          Migrating selected columns to unichar
          Migrating to or from unitext
        Preliminary steps
        Setting the user’s default language
        Recovery after reconfiguration
          Using sp_indsuspect to find corrupt indexes
          Rebuilding indexes after changing the sort order
          Upgrading text data after changing character sets
          Retrieving text values after changing character sets
        Handling suspect partitions
          Fixing tables with suspect partitions
          Handling suspect partitions in cross-platform dump and load operations
      Installing date strings for unsupported languages
        Server versus client date interpretation
      Internationalization and localization files
        Types of internationalization files
        Character sets directory structure
        Types of localization files
        Software messages directory structure
        Message languages and global variables
    Configuring Client/Server Character Set Conversions
      Character set conversion
      Supported character set conversions
        Conversion for native character sets
        Conversion in a Unicode system
        Adaptive Server direct conversions
        Unicode conversions
          Allowing Unicode noncharacters
      Choosing a conversion type
        Non-Unicode client/server systems
        Unicode client/server systems
        Configuring the server
      Enabling and disabling character set conversion
        Characters that cannot be converted
      Error handling in character set conversion
      Conversions and changes to data lengths
        Configuring your system and application
      Specifying the character set for utility programs
        Display and file character set command line options
          Setting the display character set
          Setting the file character set
    Diagnosing System Problems
      How Adaptive Server uses error messages
        Error log format
        Error messages and message numbers
        Variables in error message text
      Adaptive Server error logging
        Severity levels
        Severity levels 10 – 18
          Level 10: Status information
          Level 11: Specified database object not found
          Level 12: Wrong datatype encountered
          Level 13: User transaction syntax error
          Level 14: Insufficient permission to execute command
          Level 15: Syntax error in SQL statement
          Level 16: Miscellaneous user error
          Level 17: Insufficient resources
          Level 18: Nonfatal internal error detected
        Severity levels 19 – 26
          Level 19: Adaptive Server fatal error in resource
          Level 20: Adaptive Server fatal error in current process
          Level 21: Adaptive Server fatal error in database processes
          Level 22: Adaptive Server fatal error: Table integrity suspect
          Level 23: Fatal error: Database integrity suspect
          Level 24: Hardware error or system table corruption
          Level 25: Adaptive Server internal error
          Level 26: Rule error
        Reporting errors
      Backup Server error logging
      Killing processes
        Using kill with statusonly
        Using sp_lock to examine blocking processes
      Housekeeper functionality
        Housekeeper wash
        Housekeeper chores
        Housekeeper garbage collection
          Running at user priority
        Configuring enable housekeeper GC
          Using the reorg command
      Shutting down servers
        Shutting down Adaptive Server
        Shutting down a Backup Server
          Checking for active dumps and loads
          Using nowait on a Backup Server
      Learning about known problems
  System Administration Guide 15.7: Volume 2
    Limiting Access to Server Resources
      Resource limits
      Planning resource limits
      Enabling resource limits
      Defining time ranges
        Determining the time ranges you need
        Creating named time ranges
          A time range example
        Modifying a named time range
        Dropping a named time range
        When do time range changes take effect?
      Identifying users and limits
        Identifying heavy-usage users
        Identifying heavy-usage applications
        Choosing a limit type
        Determining time of enforcement
        Determining the scope of resource limits
      Understanding limit types
        Limiting I/O cost
          Identifying I/O costs
          Calculating the I/O cost of a cursor
          The scope of the io_cost limit type
        Limiting elapsed time
          The scope of the elapsed_time limit type
        Limiting the size of the result set
          The scope of the row_count limit type
        Setting limits for tempdb space usage
        Limiting idle time
      Creating a resource limit
        Resource limit examples
          Examples
      Getting information on existing limits
        Listing all existing resource limits
      Modifying resource limits
      Dropping resource limits
      Resource limit precedence
        Time ranges
        Resource limits
    Mirroring Database Devices
      Disk mirroring
      Deciding what to mirror
        Mirroring using minimal physical disk space
        Mirroring for nonstop recovery
      Conditions that do not disable mirroring
      Disk mirroring commands
        Initializing mirrors
        Unmirroring a device
          Effects on system tables
        Restarting mirrors
        waitfor mirrorexit
        Mirroring the master device
        Getting information about devices and mirrors
      Disk mirroring tutorial
      Disk resizing and mirroring
    Configuring Memory
      Determining memory availability for Adaptive Server
      How Adaptive Server allocates memory
        Disk space allocation
        Larger logical page sizes and buffers
        Heap memory
          Calculating heap memory
      How Adaptive Server uses memory
      Determining the amount of memory Adaptive Server needs
        Determining Adaptive Server memory configuration
        If you are upgrading
      Determining the amount of memory Adaptive Server can use
      Configuration parameters that affect memory allocation
      Dynamically allocating memory
        If Adaptive Server cannot start
        Dynamically decreasing memory configuration parameters
      Configuring thread pools
        Determining the total numberof threads
        Tuning the syb_blocking_pool
      System procedures for configuring memory
        Using sp_configure to set configuration parameters
          Memory available for dynamic growth
        Using sp_helpconfig
        Using sp_monitorconfig
      Configuration parameters that control Adaptive Server memory
        Adaptive Server executable code size
        Data and procedure caches
          Determining the procedure cache size
          Determining the default data cache size
          Monitoring cache space
        Kernel resource memory
        User connections
        Open databases, open indexes, and open objects
        Number of locks
        Database devices and disk I/O structures
      Other parameters that use memory
        Parallel processing
          Worker processes
        Remote servers
          Number of remote sites
          Other configuration parameters for RPCs
        Referential integrity
        Other parameters that affect memory
      The statement cache
        Setting the statement cache
          Ad hoc query processing
          Monitoring the statement cache
          Purging the statement cache
          Printing statement summaries
          Displaying the SQL plan for cached statements
    Configuring Data Caches
      The Adaptive Server data cache
      Cache configuration commands and system procedures
      Information on data caches
      Configuring data caches
        Creating a new cache
          Insufficient space for new cache
        Adding memory to an existing named cache
        Decreasing the size of a cache
        Deleting a cache
        Explicitly configuring the default cache
        Changing the cache type
      Configuring cache replacement policy
      Dividing a data cache into memory pools
        Matching log I/O size for log caches
      Binding objects to caches
        Cache binding restrictions
      Getting information about cache bindings
        Checking cache overhead
        How overhead affects total cache space
      Dropping cache bindings
      Changing the wash area for a memory pool
        When the wash area is too small
        When the wash area is too large
        Setting the housekeeper to avoid washes for cache
      Changing the asynchronous prefetch limit for a pool
      Changing the size of memory pools
        Moving space from the memory pool
        Moving space from other memory pools
      Adding cache partitions
        Setting the number of cache partitions
        Setting the number of local cache partitions
        Precedence
      Dropping a memory pool
        When pools cannot be dropped due to page use
      Cache binding effects on memory and query plans
        Flushing pages from cache
        Locking to perform bindings
        Cache binding effects on stored procedures and triggers
      Configuring data caches using the configuration file
        Cache and pool entries in the configuration file
        Cache configuration guidelines
          Configuration file errors
    Managing Multiprocessor Servers
      Adaptive Server kernels
      Target architecture
      Kernel modes
        Switching kernel modes
      Tasks
        Using threads to run tasks
      Configuring an SMP environment
        Thread pools
        Managing engines
          Configuring engines in process mode
          Configuring engines in threaded mode
          Choosing the right number of engines
        Starting and stopping engines
          Monitoring engine status
          Starting and stopping engines with sp_engine
        Managing user connections (process mode only)
        Configuration parameters that affect SMP systems
          Configuring spinlock ratio parameters
    Creating and Managing User Databases
      Commands for creating and managing user databases
      Permissions for managing user databases
      Using the create database command
      Assigning space and devices to databases
        Default database size and devices
        Estimating the required space
      Placing the transaction log on a separate device
        Estimating the transaction log size
        Default log size and device
        Moving the transaction log to another device
      Shrinking log space
        Using dump and load database when shrinking log space
          Example of sequence using dump and load database
        Using dump and load transaction when shrinking log space
          Example of sequence using dump and load transaction
      Using the for load option for database recovery
      Using the with override option with create database
      Changing database ownership
      Altering databases
        alter database syntax
      Using the drop database command
      System tables that manage space allocation
        The sysusages table
          The segmap column
          The lstart, size, and vstart columns
      Getting information about database storage
        Database device names and options
        Checking the amount of space used
          Checking space used in a database
          Checking summary information for a table
          Checking information for a table and its indexes
        Querying system table for space usage information
    Database Mount and Unmount
      Overview
      Manifest file
      Copying and moving databases
      Performance considerations
      Device verification
      Mounting and unmounting databases
        Unmounting a database
        Mounting a database
        Creating a mountable copy of a database
        Moving databases from one Adaptive Server to another
        System restrictions
        quiesce database extension
    Distributed Transaction Management
      Affected transaction types
        Distributed transactions coordinated by external transaction managers
          Behavior for transaction manager-coordinated transactions
          Enhanced transaction manager for Adaptive Server version 15.0.3 or later
        RPC and CIS transactions
          New behavior for RPC and CIS transactions
        SYB2PC transactions
      Enabling DTM features
        Installing a license key
        Enabling DTM features
          enable dtm parameter
          enable xact coordination parameter
        Configuring transaction resources
          Calculating required transaction descriptors
          Setting the number of transaction descriptors
      Using Adaptive Server coordination services
        Overview of transaction coordination services
          Hierarchical transaction coordination
          X/Open XA-compliant behavior in DTP environments
        Requirements and behavior
        Configuring participant server resources
          number of dtx participants parameter
          Optimizing number of dtx participants for your system
        Using transaction coordination services in heterogeneous environments
          strict dtm enforcement parameter
        Monitoring coordinated transactions and participants
      DTM administration and troubleshooting
        Transactions and threads of control
          Implications for system administrators
          Lock manager changes to support detached transactions
        Getting information about distributed transactions
          Transaction identification in systransactions
          Viewing active transactions with sp_transactions
          Determining the commit node and gtrid with sp_transactions
        Steps to execute external transactions
        Crash recovery procedures for distributed transactions
          Transactions coordinated with MSDTC
          Transactions coordinated by Adaptive Server or X/Open XA
          Transactions coordinated with SYB2PC
        Heuristically completing transactions
          Completing prepared transactions
          Completing transactions that are not prepared
          Determining the commit status for Adaptive Server transactions
        Programming versus configuration considerations
          Behavior of DDLs within distributed transactions
          Adaptive Server implicit rollback in external transactions
    Creating and Using Segments
      Adaptive Server segments
        System-defined segments
      How Adaptive Server uses segments
        Controlling space usage
        Improving performance
          Separating tables, indexes, and logs
          Splitting tables
        Moving a table to another device
      Creating segments
      Changing the scope of segments
        Extending the scope of segments
          Automatically extending the scope of a segment
        Reducing the scope of a segment
      Assigning database objects to segments
        Creating new objects on segments
        Placing existing objects on segments
        Placing text pages on a separate device
        Creating clustered indexes on segments
      Dropping segments
      Getting information about segments
        sp_helpsegment
        sp_helpdb
        sp_help and sp_helpindex
      Segments and system tables
      A segment tutorial
    Using the reorg Command
      reorg command and its parameters
        Using the optdiag utility to assess the need for a reorg
      Moving forwarded rows to home pages
        Using reorg compact to remove row forwarding
      Reclaiming unused space from deletions and updates
        Reclaming space without the reorg command
      Reclaiming unused space and undoing row forwarding
      Rebuilding a table
        Prerequisites for running reorg rebuild
          Changing space management settings before using reorg rebuild
      Using the reorg rebuild command on indexes
        Rebuilding indexes with reorg rebuild index_name partition_name
        Space requirements for rebuilding an index
        Status messages
      resume and time options for reorganizing large tables
        Specifying no_of_minutes in the time option
    Checking Database Consistency
      What is the database consistency checker?
      Page and object allocation
        Understanding the object allocation map (OAM)
        Understanding page linkage
      What checks can be performed with dbcc?
        Understanding the output from dbcc commands
      Checking consistency of databases and tables
        dbcc checkstorage
          Advantages of using dbcc checkstorage
          Comparison of dbcc checkstorage and other dbcc commands
          Understanding the dbcc checkstorage operation
          Performance and scalability
        dbcc checktable
        dbcc checkdb
      Checking page allocation
        dbcc checkalloc
        dbcc indexalloc
        dbcc tablealloc
        dbcc textalloc
      Correcting allocation errors using the fix | nofix option
      Generating reports with dbcc tablealloc and dbcc indexalloc
      Checking consistency of system tables
      Strategies for using consistency checking commands
        Using large I/O and asynchronous prefetch
        Scheduling database maintenance at your site
          Database use
          Backup schedule
          Size of tables and importance of data
        Errors generated by database consistency problems
        Reporting on aborted checkstorage and checkverify operations
          Aborting with error 100032
        Comparison of soft and hard faults
          Soft faults
          Hard faults
      Verifying faults with dbcc checkverify
        How dbcc checkverify works
        When to use dbcc checkverify
        How to use dbcc checkverify
      Preparing to use dbcc checkstorage
        Planning resources
          Examples of sp_plan_dbccdb output
          Planning workspace size
        Configuring worker processes
        Setting up a named cache for dbcc
        Configuring an 8-page I/O buffer pool
        Allocating disk space for dbccdb
        Segments for workspaces
        Creating the dbccdb database
      Updating the dbcc_config table
        Adding default configuration values with sp_dbcc_updateconfig
        Deleting configuration values with sp_dbcc_updateconfig
        Viewing the current configuration values
      Maintaining dbccdb
        Reevaluating and updating dbccdb configuration
        Cleaning up dbccdb
        Removing workspaces
        Performing consistency checks on dbccdb
      Generating reports from dbccdb
        Reporting a summary of dbcc checkstorage operations
        Reporting configuration, statistics and fault information
      Upgrading compiled objects with dbcc upgrade_object
        Finding compiled object errors before production
          Reserved word errors
          Missing, truncated, or corrupted source text
          Quoted identifier errors
          Temporary table references
          select * potential problem areas
        Using database dumps in upgrades
          Upgrading using dump and load
          Upgrading compiled objects in database dumps
        Determining whether a compiled object has been upgraded
    Developing a Backup and Recovery Plan
      Keeping track of database changes
        Getting information about the transaction log
        Using delayed_commit to determine when log records are committed
        Designating responsibility for backups
      Synchronizing a database and its log: checkpoints
        Setting the recovery interval
        Automatic checkpoint procedure
          Checkpoint after user database upgrade
        Truncating the log after automatic checkpoints
        Free checkpoints
        Manually requesting a checkpoint
      Automatic recovery after a system failure or shutdown
      Fast recovery
        Adaptive Server start-up sequence
        Bringing engines online early
        Parallel recovery
        Database recovery
        Recovery order
          Changing or deleting the recovery position of a database
          Listing the user-assigned recovery order of databases
        Parallel checkpoints
        Recovery state
        Tuning for fast recovery
          Database layout
          Runtime configuration suggestions
          Setting space accounting
      Fault isolation during recovery
        Persistence of offline pages
        Configuring recovery fault isolation
          Isolating suspect pages
          Raising the number of suspect pages allowed
        Getting information about offline databases and pages
        Bringing offline pages online
        Index-level fault isolation for data-only-locked tables
        Side effects of offline pages
        Recovery strategies using recovery fault isolation
          Reload strategy
          Repair strategy
        Assessing the extent of corruption
      Using the dump and load commands
        Making routine database dumps: dump database
        Making routine transaction log dumps: dump transaction
        Copying the log after device failure: dump tran with no_truncate
        Restoring the entire database: load database
        Applying changes to the database: load transaction
        Making the database available to users: online database
        Dumping and loading databases across platforms
          Dumping a database
          Loading a database
        Restrictions for dumping and loading databases and transactions
        Performance notes
        Moving a database to another Adaptive Server
        Upgrading a user database
        Using the special dump transaction options
        Using the special load options to identify dump files
        Restoring a database from backups
      Suspending and resuming updates to databases
        Guidelines for using quiesce database
        Maintaining server roles in a primary and secondary relationship
        Starting the secondary server with the -q option
        “in quiesce” database log record value updated
        Updating the dump sequence number
        Backing up primary devices with quiesce database
          Recovery of databases for warm standby method
        Making archived copies during the quiescent state
      Using mount and unmount commands
      Using Backup Server for backup and recovery
        Communicating with Backup Server
        Mounting a new volume
        Starting and stopping Backup Server
        Configuring your server for remote access
        Choosing backup media
          Protecting backup tapes from being overwritten
          Dumping to files or disks
      Creating logical device names for local dump devices
        Listing the current device names
        Adding a backup device
      Scheduling backups of user databases
        Scheduling routine backups
        Other times to back up a database
          Dumping a user database after upgrading
          Dumping a database after creating an index
          Dumping a database after unlogged operations
          Dumping a database when the log has been truncated
      Scheduling backups of master
        Dumping master after each change
        Saving scripts and system tables
        Truncating the master database transaction log
        Avoiding volume changes and recovery
      Scheduling backups of the model database
        Truncating the model database’s transaction log
      Scheduling backups of the sybsystemprocs database
      Configuring Adaptive Server for simultaneous loads
      Gathering backup statistics
    Backing Up and Restoring User Databases
      Specifying the database and dump device
        Rules for specifying database names
        Rules for specifying dump devices
        Tape device determination by Backup Server
          Tape sevice configuration file
      Compressing a dump
        Backup Server dump files and compressed dumps
        Loading compressed dumps
      Specifying a remote Backup Server
      Specifying tape density, block size, and capacity
        Overriding the default density
        Overriding the default block size
          Specifying a larger block size value
        Specifying tape capacity for dump commands
        Non-rewinding tape functionality for Backup Server
          Tape operations
          Dump version compatibility
      Specifying the volume name
        Loading from a multifile volume
      Identifying a dump
      Improving dump or load performance
        Compatibility with prior versions
        Labels stored in integer format
        Configuring system resources
          Setting shared memory usage
          Setting maximum number of stripes
          Setting the maximum number of network connections
          Setting the maximum number of service threads
      Specifying additional dump devices: the stripe on clause
        Dumping to multiple devices
        Loading from multiple devices
        Using fewer devices to load than to dump
        Specifying the characteristics of individual devices
      Tape handling options
        Specifying whether to dismount the tape
        Rewinding the tape
        Protecting dump files from being overwritten
        Reinitializing a volume before a dump
      Dumping and loading databases with password protection
      Overriding the default message destination
      Bringing databases online with standby_access
        Determining when to use with standby_access
        Bring databases online with standby_access
      Getting information about dump files
        Requesting dump header information
        Determining the database, device, file name, and date
      Copying the log after a device failure
      Truncating the log
        Truncating a log that is not on a separate segment
        Truncating the log in early development environments
        Truncating a log that has no free space
          Dangers of using with truncate_only and with no_log
          Providing enough log space
      Responding to volume change requests
        Volume change prompts for dumps
        Volume change prompts for loads
      Recovering a database: step-by-step instructions
        Getting a current dump of the transaction log
        Examining the space usage
        Dropping the databases
        Re-creating the databases
        Loading the database
        Loading the transaction logs
          Loading a transaction log to a point in time
        Bringing the databases online
          Replicated databases
      Loading database dumps from older versions
        Upgrading a dump to the current version of Adaptive Server
        The database offline status bit
        Version identifiers
      Cache bindings and loading databases
        Databases and cache bindings
        Database objects and cache bindings
          Checking on cache bindings
      Cross-database constraints and loading databases
    Restoring the System Databases
      Recovering a system database
      Recovering the master database
        About the recovery process
        Summary of recovery procedure
        Finding copies of system tables
        Building a new master device
        Starting Adaptive Server in master-recover mode
        Re-creating device allocations for master
        Checking your Backup Server sysservers information
        Verifying that your Backup Server is running
        Loading a backup of master
        Updating the number of devices configuration parameter
        Restarting Adaptive Server in master-recover mode
        Checking system tables to verify current backup of master
        Restarting Adaptive Server
        Restoring server user IDs
        Restoring the model database
        Checking Adaptive Server
        Backing up master
      Recovering the model database
      Recovering the sybsystemprocs database
        Restoring sybsystemprocs with installmaster
        Restoring sybsystemprocs with load database
      How to Reduce the Size of tempdb
        Reset tempdb to default size
      Restoring system tables with disk reinit and disk refit
        Restoring sysdevices with disk reinit
        Restoring sysusages and sysdatabase with disk refit
    Archive Database Access
      Overview
        Components of an archive database
          The database dump
          The modified pages section
          The sysaltusages table and the scratch database
        Working with an archive database
          DDLGen support for archive database access
      Configuring an archive database
        Sizing the modified pages section
        Increasing the amount of space allocated to the modified pages section
        Materializing an archive database
          Using load database with norecovery
          Using logical devices with an archive database
          load database limitations with an archive database
        Bringing an archive database online
        Loading a transaction log into an archive database
        Dropping an archive database
      Using an archive database
        Using SQL commands with an archive database
        Using dbcc commands with an archive database
        Typical archive database command sequence
      Compressed dumps for an archive database
        Creating a compression memory pool
      Upgrading and downgrading an archive database
        Upgrading an Adaptive Server with an archive database
        Downgrading an Adaptive Server with an archive database
        Compatibility issues for a compressed dump
      Archive database limitations
    Expanding Databases Automatically
      Understanding disks, devices, databases, and segments
      Threshold action procedures
      Installing automatic database expansion procedures
      Running sp_dbextend
        Command options in the sp_dbextend interface
        Validating current thresholds
      Setting up a database for automatic expansion
      Restrictions and limitations
    Managing Free Space with Thresholds
      Monitoring free space with the last-chance threshold
        Crossing the threshold
        Controlling how often sp_thresholdaction executes
      Rollback records and the last-chance threshold
        Calculating the space for rollback records
          Using lct_admin to determine the free log space
        Determining the current space for rollback records
        Effect of rollback records on the last-chance threshold
        User-defined thresholds
      Last-chance threshold and user log caches for shared log and data segments
        Using lct_admin abort to abort suspended transactions
      Adding space to the master database’s transaction log
      Automatically aborting or suspending processes
        Using abort tran on log full to abort transactions
      Waking suspended processes
      Adding, changing, and deleting thresholds
        Displaying information about existing thresholds
        Thresholds and system tables
        Adding a free-space threshold
        Changing or specifying a new free-space threshold
        Dropping a threshold
      Creating a free-space threshold for the log segment
        Testing and adjusting the new threshold
      Creating additional thresholds on other segments
        Determining threshold placement
      Creating threshold procedures
        Declaring procedure parameters
        Generating error log messages
        Dumping the transaction log
        A simple threshold procedure
        A more complex procedure
        Deciding where to put a threshold procedure
      Disabling free-space accounting for data segments
  Migration Technology Guide 15.5
    About this book
    Migration Strategy
      Preupgrade considerations
        Understanding optimization goals
          Optimization criteria
        Resource recommendations for Adaptive Server 15.0
        Incorporating statistics in Adaptive Server 15.0
        Recommended testing before upgrade
      Migrating to Adaptive Server 15.0 features
        Upgrading, and using new features immediately
        Upgrading, and using new features later
        Upgrading, but not using new features
      Troubleshooting
        Query processing tips
        Information to capture before contacting Technical Support
          701 errors
          Performance problems with a limited number of queries
          System-wide performance issues
          Uploading diagnostics to Technical Support
    QPTune
      Setting up your system
      Using QPTune to fix missing statistics
        Starting QPTune to fix missing statistics
        Collecting statistics
        Fixing statistics
        Using undo_fix_stats
      Using QPTune to tune queries or applications
        Starting QPTune to tune queries or applications
          Simple start
          Custom start
        Collecting metrics
        Comparing metrics
        Applying the best results
      Configuration file
      Examples
      Upgrade issues
      Localization
      QPTune GUI
        Environment and system requirements
        Starting the QPTune GUI
        Fixing missing statistics
        Tuning Task
      QPTune reference information
    Running the Query Processor in Compatibility Mode
      Enabling compatibility mode
      Feature support in compatibility mode
      Additional trace flag for diagnostics
      New stored procedure sp_compatmode
      Changes to @@qpmode global variable
      Diagnostic tool
  Performance and Tuning Series: Basics 15.7
    Introduction to the Basics
      Good performance
        Response time
        Throughput
        Designing for performance
      Tuning performance
        Tuning levels
          Application layer
          Database layer
          Adaptive Server layer
          Devices layer
          Network layer
          Hardware layer
          Operating system layer
      Identifying system limits
        Threads, thread pools, engines and CPUs
        Varying logical page sizes
        Number of columns and column size
        Maximum length of expressions, variables, and stored procedure arguments
        Number of logins
        Performance implications for limits
      Size of kernel resource memory
      Analyzing performance
        Normal forms
        Locking
        Special considerations
    Networks and Performance
      Potential performance problems
        Basic questions on network performance
        Techniques summary
      Engine and thread affinity
        Network listeners
          Network listeners in process mode
      How Adaptive Server uses the network
      Configuring the I/O controller
        Dynamically reconfiguring I/O tasks
      Changing network packet sizes
      Large versus default packet sizes for user connections
        Number of packets is important
        Adaptive Server evaluation tools
        Other evaluation tools
        Server-based techniques for reducing network traffic
      Impact of other server activities
        Single user versus multiple users
      Improving network performance
        Isolate heavy network users
        Set tcp no delay on TCP networks
        Configure multiple network listeners
    Using Engines and CPUs
      Background concepts
        How Adaptive Server processes client requests
        Client task implementation
      Single-CPU process model
        Scheduling engines to the CPU
        Scheduling tasks to the engine
        Execution task scheduling
          Scheduling client task processing time
          Maintaining CPU availability during idle time
      Adaptive Server SMP process model
        Scheduling engines to CPUs
        Scheduling Adaptive Server tasks to engines
        Multiple network engines
        Task priorities and run queues
        Processing scenario
      Asynchronous log service
        Understanding the user log cache (ULC) architecture
        When to use ALS
        Using the ALS
          ULC flusher
          Log writer
      Housekeeper wash task improves CPU utilization
        Side effects of the housekeeper wash task
        Configuring the housekeeper wash task
          Changing the percentage by which writes can be increased
          Disabling the housekeeper wash task
          Allowing the housekeeper wash task to work continuously
      Measuring CPU usage
        Single-CPU machines
          Using sp_monitor to measure CPU usage
          Using sp_sysmon to measure CPU usage
          Operating system commands and CPU usage
        Determining when to configure additional engines
        Taking engines offline
      Enabling engine-to-CPU affinity
      Multiprocessor application design guidelines
    Distributing Engine Resources
      Successfully distributing resources
        Environment analysis and planning
          Analyzing the environment
          Phase 1 – execution object behavior
          Phase 2 – the entire environment
        Performing benchmark tests
        Setting goals
        Results analysis and tuning
      Managing preferred access to resources
      Types of execution classes
      Execution class attributes
        Base priority
          Setting the task priority
        Task-to-engine affinity
          Engine group affinity when switching modes
      Setting execution class attributes
        Assigning execution classes
        Scheduling service tasks
        Creating user-defined execution class task affinity
        How execution class bindings affect scheduling
          Execution class bindings
          Engine affinity can affect scheduling in process mode
        Setting attributes for a session only
        Getting information about execution classes
      Determining precedence and scope
        Multiple execution objects and ECs
          Precedence rule
          Scope rule
        Resolving a precedence conflict
        Examples: determining precedence
      Example scenario using precedence rules
        Planning
        Configuration
        Execution characteristics
      Considerations for engine resource distribution
        Client applications: OLTP and DSS
          Unintrusive client applications
          I/O-bound client applications
          Critical applications
        Adaptive Server logins: high-priority users
        Stored procedures: “hot spots”
    Memory Use and Performance
      How memory affects performance
      How much memory to configure
      Dynamic reconfiguration
        How memory is allocated
        Large allocation in Adaptive Server
      Caches in Adaptive Server
        Cache sizes and buffer pools
      Procedure cache
        Getting information about the procedure cache size
          Monitoring procedure cache performance
        Procedure cache sizing
        Estimating stored procedure size
        Estimating the procedure cache size for a sort
        Estimating the amount of procedure cache used by create index
        Reducing query processing latency
          Reusing dynamic SQL LWPs across multiple connections
      Statement cache
      Data cache
        Page aging in data cache
        Effect of data cache on retrievals
        Effect of data modifications on the cache
        Data cache performance
        Testing data cache performance
          Cache hit ratio for a single query
          Cache hit ratio information from sp_sysmon
      Configuring the data cache to improve performance
        Commands to configure named data caches
        Tuning named caches
        Cache configuration goals
        Gather data, plan, and then implement
        Evaluating cache needs
        Large I/O and performance
          The optimizer and cache choices
          Choosing the right mix of I/O sizes for a cache
        Reducing spinlock contention with cache partitions
        Cache replacement strategies and policies
          Strategies
          Policies
      Named data cache recommendations
        Sizing caches for special objects, tempdb, and transaction logs
          Examining cache needs for tempdb
          Examining cache needs for transaction logs
          Choosing the I/O size for the transaction log
          Configuring for large log I/O size
          Additional tuning tips for log caches
        Basing data pool sizes on query plans and I/O
          Checking I/O size for queries
        Configuring buffer wash size
        Overhead of pool configuration and binding objects
          Pool configuration overhead
          Cache binding overhead
      Maintaining data cache performance for large I/O
        Diagnosing excessive I/O counts
        Using sp_sysmon to check large I/O performance
      Speed of recovery
        Tuning the recovery interval
        Effects of the housekeeper wash task on recovery time
      Auditing and performance
        Sizing the audit queue
        Auditing performance guidelines
      Text and image pages
    Tuning Asynchronous Prefetch
      How asynchronous prefetch improves performance
        Improving query performance by prefetching pages
        Prefetching control mechanisms in a multiuser environment
        Look-ahead set during recovery
          Prefetching log pages
          Prefetching data and index pages
        Look-ahead set during sequential scans
        Look-ahead set during nonclustered index access
        Look-ahead set during dbcc checks
          Allocation checking
          checkdb and checktable
        Look-ahead set minimum and maximum sizes
      When prefetch is automatically disabled
        Flooding pools
        I/O system overloads
        Unnecessary reads
          Page chain fragmentation
      Tuning goals for asynchronous prefetch
        Commands for configuration
      Other Adaptive Server performance features
        Large I/O
          Sizing and limits for the 16K pool
          Limits for the 2K pool
        Fetch-and-discard (MRU) scans
        Parallel scans and large I/Os
          Hash-based table scans
          Partition-based scans
      Special settings for asynchronous prefetch limits
        Setting limits for recovery
        Setting limits for dbcc
      Maintenance activities for high prefetch performance
        Eliminating kinks in heap tables
        Eliminating kinks in clustered index tables
        Eliminating kinks in nonclustered indexes
      Performance monitoring and asynchronous prefetch
  Performance and Tuning Series: Improving Performance with Statistical Analysis 15.7
    Using the set statistics Commands
      set command syntax
      Using simulated statistics
      Checking subquery cache performance
      Checking compile and execute time
        Converting ticks to milliseconds
      Reporting physical and logical I/O statistics
        Total actual I/O cost value
        Statistics for writes
        Statistics for reads
          Sample output with and without an index
        statistics io output for cursors
        Scan count
          Queries reporting a scan count of 1
          Queries reporting a scan count of more than 1
          Queries reporting scan count of 0
        Relationship between physical and logical reads
          Logical reads, physical reads, and 2K I/O
          Physical reads and large I/O
          Reads and writes on worktables
          Effects of caching on reads
        statistics io and merge joins
      Analyzing queries with set statistics plancost
        set statistics plancost example
    Statistics Tables and Displaying Statistics with optdiag
      System tables that store statistics
        systabstats table
        sysstatistics table
      Viewing statistics with the optdiag utility
        optdiag syntax
        optdiag header information
        Table statistics
          Table-level derived statistics
          Data page cluster ratio
          Space utilization
          Large I/O efficiency
        Index statistics
          Index-level derived statistics
          Data page cluster ratio
          Index page cluster ratio
          Data row cluster ratio
          Space utilization for an index
          Large I/O efficiency for an index
        Column statistics
          Sample output for column statistics
          Range cell and total density values
          Range and in-between selectivity values
        Histogram displays
          Sample output for histograms
          Understanding histogram output
          Histograms for columns with highly duplicated values
          Choosing the number of steps for highly duplicated values
        Configuring the histogram tuning factor
          How many histogram steps?
      Changing statistics with optdiag
        Using optdiag binary
          When to use binary
        Updating selectivities with optdiag input mode
        Editing histograms
          Adding frequency count cells to a histogram
          Skipping load-time verification for step numbering
          Rules checked during histogram loading
          Re-creating indexes without losing statistics updates
      Using simulated statistics
        optdiag syntax for simulated statistics
        Simulated statistics output
        Requirements for loading and using simulated statistics
          Using simulated statistics in the original database
          Using simulated statistics in another database
        Dropping simulated statistics
        Running queries with simulated statistics
          showplan messages for simulated statistics
      Character data containing quotation marks
      Effects of SQL commands on statistics
        How query processing affects systabstats
      Viewing statistics and histograms using sp_showoptstats
  Performance and Tuning Series: Locking and Concurrency Control 15.7
    Introduction to Locking
      How locking affects performance
      Locking and data consistency
      Granularity of locks and locking schemes
        Allpages locking
        Datapages locking
        Datarows locking
      Types of locks in Adaptive Server
        Page and row locks
        Table locks
          Commands that take intent locks
        Demand locks
          Demand locking with serial execution
          Demand locking with parallel execution
        Row-locked system tables
        Range locking for serializable reads
        Latches
      Lock compatibility and lock sufficiency
      How isolation levels affect locking
        Isolation level 0, read uncommitted
        Isolation level 1, read committed
        Isolation level 2, repeatable read
        Isolation level 3, serializable reads
        Adaptive Server default isolation level
      Lock types and duration during query processing
        Lock types during create index commands
        Locking for select queries at isolation level 1
        Table scans and isolation levels 2 and 3
          Table scans and table locks at isolation level 3
          Isolation level 2 and allpages-locked tables
        When update locks are not required
        Locking during or processing
          Processing or queries for allpages-locked tables
          Processing or queries for data-only-locked tables
        Skipping uncommitted inserts during selects
          Skipping uncommitted inserts during deletes, updates, and inserts
          Locking during DMLs on tables with referential integrity constraints
        Using alternative predicates to skip nonqualifying rows
      Pseudocolumn-level locking
        Select queries that do not reference the updated column
        Qualifying old and new values for uncommitted updates
      Reducing contention
    Locking Configuration and Tuning
      Locking and performance
        Using sp_sysmon and sp_object_stats
        Reducing lock contention
          Adding indexes to reduce contention
          Keeping transactions short
          Avoiding hot spots
        Additional locking guidelines
      Configuring locks and lock promotion thresholds
        Configuring the Adaptive Server lock limit
          Estimating number of locks for data-only-locked tables
        Setting lock promotion thresholds
          Lock promotion and scan sessions
          Lock promotion high water mark
          Lock promotion low water mark
          Lock promotion percent
          Setting server-wide lock promotion thresholds
          Setting the lock promotion threshold for a table or database
          Precedence of settings
          Dropping database and table settings
          Using sp_sysmon while tuning lock promotion thresholds
      Choosing the locking scheme for a table
        Analyzing existing applications
        Choosing a locking scheme based on contention statistics
        Monitoring and managing tables after conversion
        Applications not likely to benefit from data-only locking
          Tables where clustered index performance must remain high
          Tables with maximum-length rows
      Optimistic index locking
        Using optimistic index locking
        Cautions and issues
    Locking Reports
      Locking tools
        Getting information about blocked processes
        Viewing locks with sp_lock
        Viewing locks with sp_familylock
        Intrafamily blocking during network buffer merges
        Monitoring lock timeouts
      Deadlocks and concurrency
        Server-side versus application-side deadlocks
          Application deadlock example
        Server task deadlocks
        Deadlocks and parallel queries
        Printing deadlock information to the error log
        Avoiding deadlocks
          Acquiring locks on objects in the same order
          Delaying deadlock checking
      Identifying tables where concurrency is a problem
      Lock management reporting
    Using Locking Commands
      Specifying the locking scheme for a table
        Specifying a server-wide locking scheme
        Specifying a locking scheme with create table
        Changing a locking scheme with alter table
        Before and after changing locking schemes
        Expense of switching to or from allpages locking
        Sort performance during alter table
        Specifying a locking scheme with select into
      Controlling isolation levels
        Setting isolation levels for a session
        Syntax for query-level and table-level locking options
        Using holdlock, noholdlock, or shared
        Using the at isolation clause
        Making locks more restrictive
        Making locks less restrictive
      Readpast locking
      Cursors and locking
        Using the shared keyword
      Additional locking commands
        lock table
        Lock timeouts
    Indexes
      Types of indexes
        Index pages
          Root level
          Leaf level
          Intermediate level
        Index size
      Indexes and partitions
        Local indexes on partitioned tables
        Global indexes on partitioned tables
        Local versus global indexes
        Unsupported partition index types
      Clustered indexes on allpages-locked tables
        Clustered indexes and select operations
          Relationship between physical and logical reads
        Clustered indexes and insert operations
        Page splitting on full data pages
          Exceptions to page splitting
        Page splitting on index pages
        Performance impacts of page splitting
        Overflow pages
        Clustered indexes and delete operations
          Deleting the last row on a page
          Index page merges
      Nonclustered indexes
        Leaf pages revisited
        Nonclustered index structure
        Nonclustered indexes and select operations
        Nonclustered index performance
        Nonclustered indexes and insert operations
        Nonclustered indexes and delete operations
        Clustered indexes on data-only-locked tables
      Index covering
        Covering matching index scans
        Covering nonmatching index scans
      Indexes and caching
        Using separate caches for data and index pages
        Index trips through the cache
    Indexing for Concurrency Control
      How indexes affect performance
      Detecting indexing problems
        Symptoms of poor indexing
          Lack of indexes is causing table scans
          Index is not selective enough
          Index does not support range queries
          Too many indexes slow data modification
          Index entries are too large
          Exception for wide data rows and wide index rows
      Fixing corrupted indexes
      Index limits and requirements
      Choosing indexes
        Index keys and logical keys
        Guidelines for clustered indexes
        Choosing clustered indexes
        Candidates for nonclustered indexes
        Choosing function-based indexes
        Index selection
          Examples of using index selection
        Other indexing guidelines
        Choosing nonclustered indexes
          Performance price for data modification
        Choosing composite indexes
        Key order and performance in composite indexes
        Advantages and disadvantages of composite indexes
        Using online reorg rebuild for data-only-locked indexes
      Techniques for choosing indexes
        Choosing an index for a range query
        Adding a point query with different indexing requirements
      Index and statistics maintenance
        Dropping indexes that hurt performance
        Choosing space management properties for indexes
      Additional indexing tips
        Creating artificial columns
        Keeping index entries short and avoiding overhead
        Dropping and rebuilding indexes
        Configuring enough sort buffers
        Creating the clustered index first
        Configure large buffer pools
      Asynchronous log service
        Understanding the user log cache (ULC) architecture
        When to use ALS
        Using ALS
          ULC flusher
          Log writer
          Stored procedure support for ALS
  Performance and Tuning Series: Monitoring Adaptive Server with sp_sysmon 15.7
    Introduction to sp_sysmon
      Using sp_sysmon
        When to run sp_sysmon
      Invoking sp_sysmon
        Fixed-time intervals
        Using begin_sample and end_sample
        Specifying report sections for output
        Specifying the application detail parameter
        Using the noclear option
        Redirecting output to a file
    Monitoring Performance with sp_sysmon
      How to use the reports
        Header information
        Reading output
          Rows
          Columns in output
        Interpreting the data
          Per-second and per-transaction data
          Percent of total and count data
          Per engine data
          Total or summary data
      Cache Wizard
        Cache wizard syntax
        Preparing to run the cache wizard
        Sample output
        Sample output for Cache Wizard
      Kernel utilization
        Kernel Utilization – threaded mode
          Sample output
          Engine Utilization (Tick %)
          Average Runnable Tasks
          CPU Yields by Engine
          Thread Utilization (OS %)
          Page Faults at OS
          Context Switches at OS
          CtlibController, DiskController, and NetController Activity
          Blocking Call Activity
        Kernel Utilization – process mode
          Sample output
          Engine Busy Utilization
          CPU Yields by Engine
          Network Checks
          Disk I/O Checks
          Total Disk I/O Checks
      Worker Process Management
        Sample output
        Worker Process Requests
        Worker Process Usage
        Memory Requests for Worker Processes
        Avg Mem Ever Used By a WP
      Parallel Query Management
        Sample output
        Parallel Query Usage
        Merge Lock Requests
        Sort Buffer Waits
      Task Management
        Sample output
        Connections Opened
        Task Context Switches by Engine
        Task Context Switches Due To
          Voluntary Yields
          Cache Search Misses
          Exceeding I/O Batch Size
          System Disk Writes
          Logical Lock Contention
          Address Lock Contention
          Latch Contention
          Physical, logical, and object Lock Transition
          Log Semaphore Contention
          PLC Lock Contention
          Group Commit Sleeps
          Last Log Page Writes
          Modify Conflicts
          I/O Device Contention
          Network Packet Received
          Network Packet Sent
          Network Services
          Other Causes
      Application Management
        Requesting detailed application information
        Sample output
        Application Statistics Summary (All Applications)
          Priority Changes
          Allotted Slices Exhausted
          Skipped Tasks By Engine
          Engine Scope Changes
        Per Application Or Per Application And Login
          Application Activity
          Application Priority Changes
          Application I/Os Completed
          Resource Limits Violated
      ESP Management
        Sample output
          ESP Requests
          Avg. Time to Execute an ESP
      Housekeeper Task Activity
        Sample output
        Buffer Cache Washes
        Garbage Collections
        Pages Processed in GC
        Statistics Updates
      Monitor Access to Executing SQL
        Sample output
        Waits on Execution Plans
        Number of SQL Text Overflows
        Maximum SQL Text Requested
      Transaction Profile
        Sample output
        Transaction Summary
          How to count multidatabase transactions
        Transaction Detail
        Inserts
          Fully and minimally logged
          Total Rows Inserted
        Updates and update detail sections
          Updates
          Data-Only-Locked Updates
        Deletes
          Fully and minimally logged
          Total Rows Deleted
      Transaction Management
        Sample output
        ULC Flushes to Xact Log
          Any Logging Mode DMLs
          Fully Logged DMLs
          Minimally Logged DMLs
        Total ULC Flushes
        ULC Flushes Skipped
          Fully Logged DMLs
          Minimally Logged DMLs
          Total ULC Flushes Skips
        ULC Log Records
          Fully Logged DMLs
          Minimally Logged DMLs
          Total ULC Log Records
        Max ULC Size During Sample
          Fully Logged DMLs
          Minimally Logged DMLs
        ML-DMLs Sub-Command Scans
          ULC scans
          syslogs Scans
          Total Sub-Command Scans
        ML-DMLs ULC Efficiency
          Discarded Sub-Commands
          Logged Sub-Commands
        Total ML-DML Sub-Commands
        ULC Semaphore Requests
        Log Semaphore Requests
        Transaction Log Writes
        Transaction Log Allocations
        Avg # Writes per Log Page
        Tuning Recommendations for Transaction Management
      Index Management
        Sample output
        Nonclustered Maintenance
          Ins/Upd Requiring Maint
          Deletes Requiring Maintenance
          RID Upd from Clust Split
          Upd/Del DOL Req Maint
        Page Splits
          Reducing page splits for ascending key inserts
          Default data page splitting
          Effects of ascending inserts
          Setting ascending inserts mode for a table
          Retries and Deadlocks
          Add Index Level
        Page Shrinks
        Index Scans
      Metadata Cache Management
        Sample output
        Open Object, Index, Partition, and Database Usage
        Descriptors immediately discarded
        Object Manager Spinlock Contention
        Object and Index Spinlock Contention
        Index Hash Spinlock Contention
          Using sp_monitorconfig to find metadata cache usage statistics
        Partition Spinlock Contention
        Partition Hash Spinlock Contention
      Lock Management
        Sample output
        Lock Summary
        Lock Detail
          Exclusive Address and Shared Address
          Last Page Locks on Heaps
          Table Lock Hashtable
        Deadlocks by Lock Type
        Deadlock Detection
          Deadlock Searches
          Searches Skipped
          Average Deadlocks per Search
        Lock Promotions
        Lock Time-out Information
        Cluster Lock Summary
      Data Cache Management
        Sample output
        Cache Statistics Summary (All Caches)
          Cache Search Summary
          Cache Turnover
          Cache Strategy Summary
          Large I/O Usage
          Large I/O Effectiveness
          Asynchronous Prefetch Activity Report
          Other Asynchronous Prefetch Statistics
          Dirty Read Behavior
        Cache Management by Cache
          Cache Spinlock Contention
          Utilization
          Cache Search, Hit, and Miss Information
          Pool Turnover
          Cluster Cache Behavior
          Buffer Wash Behavior
          Cache Strategy
          Large I/O Usage
          Large I/O Detail
          Dirty Read Behavior
      Procedure Cache Management
        Sample output
        Procedure Requests
        Procedure Reads from Disk
        Procedure Writes to Disk
        Procedure Removals
        Procedure Recompilations
        SQL Statement Cache
          Sample output
      Memory Management
        Sample output
        Pages Allocated
        Pages Released
      Recovery Management
        Sample output
        Checkpoints
          # of Normal Checkpoints
          # of Free Checkpoints
          Total Checkpoints
        Average Time per Normal Checkpoint
        Average Time per Free Checkpoint
        Increasing the Housekeeper Batch Limit
      Disk I/O Management
        Sample output
        Maximum Outstanding I/Os
        I/Os Delayed by
          Disk I/O Structures
          Server Configuration Limit
          Engine Configuration Limit
          Operating System Limit
        Requested and Completed Disk I/Os
          Total Requested Disk I/Os
          Completed Disk I/Os
        Device Activity Detail
          Reads and Writes
          Total I/Os
          Mirror Semaphore Granted and Waited
      Network I/O Management
        Sample output
        Total Network I/Os Requests
        Network I/Os Delayed
        Total TDS Packets Received
        Total Bytes Received
        Average Bytes Received per Packet
        Total TDS Packets Sent
        Total Bytes Sent
        Average Bytes Sent per Packet
      Replication Agent
        Sample output
          Log Scan Summary
          Log Records Scanned
          Log Records Processed
          Number of Log Scans
          Amount of Time for Log Scans
          Longest Time for Log Scan
          Average Time per Log Scan
          Log Scan Activity
          Transaction Activity
          Log Extension Wait
          Schema Cache
          Backward Schema
          Truncation Point Movement
          Connections to Replication Server
          Network Packet Information
          I/O Wait from RS
  Performance and Tuning Series: Monitoring Tables 15.7
    Introduction to Monitoring Tables
      Monitoring tables in Adaptive Server
        Where does the monitoring information come from?
        Using Transact-SQL to monitor performance
      Installing the monitoring tables
        Versions earlier than 15.0.2, except Cluster Edition
          Configuring loopback proxy server for 15.0.1 ESD #2 and earlier
      Remotely accessing and editing monitoring tables
      Configuring the monitoring tables to collect data
        Allocating memory for pipe error messages
        Configuration parameters for the monitoring tables
        Error 12036
      The mon_role and additional access controls
      Wrapping counter datatypes
      Stateful historical monitoring tables
        Transient monitoring data
      Using monitoring tables in a clustered environment
        Configuring the system view
        InstanceID added to monitor instances
      Monitoring tables for the statement cache
        Configuring Adaptive Server to monitor the statement cache
        Deleting statements from the statement cache
        Obtaining the hash key from the SQL text
        Displaying text and parameter information for cached statements
      Examples of querying the monitoring tables
    Wait Events
      Event 19: xact coord: pause during idle loop
        Action
      Event 29: waiting for regular buffer read to complete
        Action
      Event 30: wait to write MASS while MASS is changing
        Action
      Event 31: waiting for buf write to complete before writing
        Action
      Event 32: waiting for an APF buffer read to complete
        Action
      Event 35: waiting for buffer validation to complete
        Action
      Event 36: waiting for MASS to finish writing before changing
        Action
      Event 37: wait for MASS to finish changing before changing
        Action
      Event 41: wait to acquire latch
        Action
      Event 46: wait for buf write to finish getting buf from LRU
        Action
      Event 51: waiting for last i/o on MASS to complete
        Action
      Event 52: waiting for i/o on MASS initiated by another task
        Action
      Event 53: waiting for MASS to finish changing to start i/o
        Action
      Event 54: waiting for write of the last log page to complete
        Action
      Event 55: wait for i/o to finish after writing last log page
        Action
      Event 57: checkpoint process idle loop
        Action
      Event 61: hk: pause for some time
        Action
      Event 70: waiting for device semaphore
        Action
&n