Indigo

System Requirements

Operating Systems

Database Servers

Tested Configurations

Bingo has been successfully tested on the following configurations:

Database Operating System
SQL Server 2005 Express (32-bit) Windows XP Professional
SQL Server 2005 Standard (32-bit) Windows 2003 Server
SQL Server 2008 Express (32-bit) Windows Vista Home Premium
SQL Server 2008 Standard (32-bit) Windows XP Professional
SQL Server 2008 Standard (64-bit) Windows Server 2008 R2 Standard
SQL Server 2008 Standard (64-bit) Windows 7 Enterprise

Setting Up a Server

For indexing Bingo uses @@SERVERNAME constant for establishing internal connections and it should return correct server name. If multiple SQL Server instances are installed then @@SERVERNAME should contain service name as well. To get server name you can execute the following code:

select @@SERVERNAME

If it returns invalid name you should execute the following commands:

sp_dropserver <invalid server name returned by @@SERVERNAME or from executing sp_helpserver procedure>
sp_addserver <valid server name>, 'local'

'SQL Server Browser' service should be started for accepting connections that are created during Bingo indexing operation. If this service isn't started then you might get the error during index creation indicating that connection cannot be established.

If you are using bingo with big tables or a lot of tables then you have to configure memory parameters in Microsoft SQL Server. Configuration is depends on 32-bit or 64-bit computer architecture you are using.

32-bit

By default MS SQL Server provided possibility to allocate only 256Mb in all CLR code. If memory limit is reached then you will get the following exception:

.NET Framework execution was aborted by escalation policy because of out of memory.

To adjust memory limit for CLR you have to specify the -g switch in SQL Server Configuration Manager. For example to set memory limit for CLR code to 512Mb you need to add -g512 switch the Startup Parameters in the properties for your SQL Server instance in SQL Server Configuration Manager.

Note: In 32-bit architecture total allocatable memory is limited to 2GB unless you added /3gb switch to boot.ini file or specify “Use AWE to allocate memory” in SQL Server settings. So increasing memory limit for CLR you reduce memory limit for internal SQL Server cache and etc.

64-bit

By default MS SQL Server tries to take all the memory available in the system. Sometimes (mostly on large databases), when the CLR engine underlying the SQL Server tries to allocate some memory for Bingo, you will get the same exception:

.NET Framework execution was aborted by escalation policy because of out of memory.

And the following message will be logged to the system log:

AppDomain <name> is marked for unload due to memory pressure.

To restrict the amount of memory that MS SQL Server can take (thus leaving more memory for Bingo), we recommend setting the “Maximium server memory” in “Server Properties→Memory” tab in SQL Server Management Studio to some value less that the actual size of your memory minus 1 GB.

Installation Procedure

Log in as Administrator. Run the bingo-sqlserver-install.bat file located in Bingo installation file set. The help message from the script is the following:

Usage: bingo-sqlserver-install.bat [parameters]
Parameters:
  -?, -help
    Print this help message
  -server name
    SQL Server name (default is local SQL Server)
  -database database (obligatory)
    Database to install on.
  -libdir path
    Target directory to install bingo-core-c.dll (default C:\bingo)
    If the directory does not exist, it will be created.
  -dbaname name
    Database administrator login (default is current user).
  -dbapass password
    Database administrator password.
    If the password is not specified, you will have to enter it later.
  -bingoname name
    Name of cartridge pseudo-user (default "bingo").
  -bingopass password
    Password of the pseudo-user (default "bingo").
  -y
    Do not ask for confirmation.

Note: The installer automatically issues ALTER DATABASE $(database) SET ENABLE_BROKER statement if the ENABLE_BROKER option is not activated on your database. As this involves exclusive database lock, we recommend you in this case to restart the database prior to the installation.

Examples

For the most simple installation, the defaults are taken, including C:\bingo directory for binaries. You have to specify only the -database flag with the name of your database:

bingo-sqlserver-install.bat -database mydb

If you use an SQL Server user account for DBA user (normally 'sa'), you have to specify it with the -dbaname option:

bingo-sqlserver-install.bat -database mydb -dbaname sa

You may want to install Bingo binaries into some directory other than C:\bingo:

bingo-sqlserver-install.bat -database mydb -libdir "C:\Program Files\Bingo"

To run in the non-interactive mode, you must specify -y

bingo-sqlserver-install.bat -database mydb -y

(and also -dbass when you specify -dbaname)

bingo-sqlserver-install.bat -database mydb -dbaname sa -dbapass pwd123 -y

Uninstalling the Cartridge

To uninstall the cartridge, you must:

  1. Remove all special indices created by users, by calling bingo.DropIndex() function
  2. Run bingo-sqlserver-uninstall.bat with the same -dbaname , -bingoname, and -database parameters you passed to the installer.

The help message from the uninstall script is the following:

Usage: bingo-sqlserver-uninstall.bat [parameters]
Parameters:
  -?, -help
    Print this help message
  -database database (obligatory)
    Database to remove Bingo from.
  -dbaname name
    Database administrator login (default is current user).
  -dbapass password
    Database administrator password.
    If the password is not specified, you will have to enter it later.
  -bingoname name
    Name of cartridge pseudo-user (default "bingo").
  -y
    Do not ask for confirmation.