r2 - 01 Feb 2010 - 00:48:05 - OlegSmolovYou are here: Wiki >  AppLogic27 Web > CatDatabaseAppliancesSQLCid
ALERT! AppLogic 2.7/2.8 Documentation The latest production release is AppLogic 3.0.30

SQL08X/SQL08WG/SQL08D/SQL08W/SQL08S/SQL08E: Microsoft SQL Server Appliances - Implementation

Base Class

The WIN03y appliance image is used as the base class for SQL08y appliance.

Class Volumes

SQL itself is not sensitive to the volume configuration and will work on most any setup. Besides the SQL Server services, it does not require any additional software to be able to start. .NET Framework 3.5 SP1 and Microsoft Installer 4.5 are the only dependencies for SQL. The setup chosen for the 1.0.5 release is as follows: - boot volume, 7GB (SQL08X? /WG) or 8GB size (SQL08D? /W/S/E), mounted as "C:", writable, instantiable. The boot volume contains a basic Windows installation as the one present on the WIN03 appliance.

In summary, SQL's boot volume contains:

  • Microsoft Server 2003, as base OS image (as installed on the WIN03 appliance)
  • SQL Server 2008 database engine version 10.x, for data storage and query processing
  • PHP 5.2.10 Win32
  • Microsoft SQL Driver for PHP v1.1
  • .NET Framework 3.5 SP1
  • sshd, used for logging into the component through the default interface

In addition to the class volume, SQL requires a user-supplied data volume that is used to store the actual database: - data volume, user-defined size (minimum 1GB) mounted as "D:", writable, placeholder.

Contents of the release directory:

Exported appliance images:

  • SQL08X-version.tar.bz2
  • SQL08WG-version.tar.bz2
  • SQL08D-version.tar.bz2
  • SQL08W-version.tar.bz2
  • SQL08S-version.tar.bz2
  • SQL08E-version.tar.bz2

SQL MSI: install this to re-create the appliance:

  • SQL_Windows-version.msi

SQL automated build script: use this to automatically build SQL appliance

  • SQL-build-version.tar.bz2
  • SQL64-build-version.tar.bz2

SQL automated test suite: use this to test SQL appliance

  • SQLx32x64-test-version.tar.bz2

Theory of Operation

SQL consists of one main background service called SQLServer. This daemon is loaded in the background when SQL is started.

In addition to the service above, there are several other processes that SQL runs in the background when SQLServer is started:

  • SQL Analysis Services
  • SQL Integration Services
  • SQL Full-text Filter Daemon Launcher
  • SQL Server VSS Writer

SQL clients must use the MSSQL protocol to communicate with the SQLServer service. Microsoft provides an ODBC-library which is used by a majority of the clients. In addition, there are other implementations of the protocol for many other types of clients such as JDBC.

Configuration

General

SQL is configured using SQL Server Enterprise Manager and modifying system configuration database, which contains all of the SQL configuration settings. There are multiple SQL properties that affect multiple SQL Server settings; start script changes those by executing sql-statements from a command line, using properties supplied by AppLogic.

The table below shows the mapping of SQL properties to SQL Server settings. For any SQL Server setting not in the table and not mentioned in this section, SQL leaves it as its default value.

SQL Property SQL Server setting in master-database Notes
read_only read only
max_connections User Connections

Auto-creation

When SQL is configured to auto-create the database (user_db_name is defined), it first checks whether the database exists on the configured data volume.

Users

SQL configures SQL Server to allow any valid database user ('sa' is pre-configured and could be used here) to access the database in any other way - locally or remotely. Only connections through the in terminal are accepted. The client of SQL has to connect under 'sa' user, or create own roles and users granting appropriate rights to them.

Appliance Implementation Details

The SQL appliance contains the following files in the /appliance folder on its boot volume. These files are used to implement the appliance:

File Type Description
appliance.sh Bash script Appliance main controlling script - invoked when the appliance is booted.
sql_init.sh Bash script Script that checks for free space available on data volume and reports to dashboard
/bin/sqlmon.php PHP script Script that reports the SQL statistics to the MON

Important Notes

  • The D:\ folder must be owned by Administrator.

-- OlegSmolov - 26 Aug 2009

 
Copyright © CA 2005-2011. All Rights Reserved.
%