Icon Starting and Configuring the ElevateDB Server

ElevateDB comes with a GUI ElevateDB Server called edbsrvr.exe. The edbsrvr GUI ElevateDB Server can be run as a normal application in Windows or as a Windows service. If running the ElevateDB Server as a normal application there is nothing else to do besides start up the ElevateDB Server from the directory in which ElevateDB was installed. You can find the GUI ElevateDB Server in the \servers\edbsrvr sub-directory under the main installation directory.

Installing the ElevateDB Server as a Service
If you wish to run the ElevateDB Server as a Windows service you must install it as a service by running the ElevateDB Server with the /install command-line switch set. For example, to install the ElevateDB Server as a service using the Run command window under Windows 2000 or 2003 you would specify the following command:

edbsrvr.exe /install

To uninstall the ElevateDB Server as a Windows service you must run the ElevateDB Server with the /uninstall command-line switch set. For example, to uninstall the ElevateDB Server as a service using the Run command window under Windows 2000 or 2003 you would specify the following command:

edbsrvr.exe /uninstall

If you wish to install the ElevateDB Server so that it does not interact with the desktop at all, which is required in instances where the current user will be logged out of the system, then you should use the /nointeract flag along with the /install command-line switch:

edbsrvr.exe /install /nointeract

This will install the service as a non-interactive service and the ElevateDB Server will not display a user interface when it is started.

Finally, by default the service will display a "Service installed" dialog box when the service is installed successfully. This is sometimes not desired during installations, and in these cases you can use the /silent command-line switch to suppress the dialog box:

edbsrvr.exe /install /silent

Starting the ElevateDB Server
The main difference between starting the GUI ElevateDB Server as a normal application and starting the GUI ElevateDB Server as a Windows service is that the normal application can be started just like any other application via Run dialog, command-line, or via a Start Menu program link or desktop link, while the service must be either started via the Services dialog or by using the NET START command-line command.

Starting the ElevateDB Server as a Normal Application

You can start and configure the GUI ElevateDB Server as a normal application by completing the following steps.

1. Start the appropriate version of the ElevateDB Server (edbsrvr.exe). If you wish to work with ANSI ElevateDB databases, then you should click on the link for the "ElevateDB Server". If you wish to work with Unicode ElevateDB databases, then you should click on the link for the "ElevateDB Server (Unicode)".

Image

2. Make sure that the configuration file folder is set to the desired folder:

a. In the system tray, right-click on the ElevateDB Server icon to bring up the server menu, and click on the Restore option on the server menu.

Image

b. In the Tasks pane, click on the Stop Server link.

Image

c. In the Tasks pane, click on the Edit Server Options link.

Image

d. Under the Configuration tab, make sure that the Configuration File - File Folder is set to the desired folder.

Image

e. Click on the OK button.

f. In the Tasks pane, click on the Start Server link.

Image

e. Click on the close button in the upper-right-hand corner of the ElevateDB Server window to close the server window.

Image

Starting the ElevateDB Server as a Service

To start the GUI ElevateDB Server as a Windows service, you can use the NET START command from the command-line:

net start edbsrvr

Information In order to start the GUI database server as a Windows service the database server must have already been installed as a service using the /install command-line switch (see above).

Configuration Reference
Both the GUI ElevateDB Server and the command-line ElevateDB Server store their configuration information in an .INI file that is, by default, located in the following directory under Windows 2000/XP/2003 Server:

C:\Documents and Settings\All Users\Application Data\Elevate Software\ElevateDB Server

in the following directory under Windows Vista or higher (including Windows 7 and Server 2008):

C:\ProgramData\Elevate Software\ElevateDB Server

and in the same directory as the edbsrvr application under Windows 9x/ME.

The name of the .INI configuration file is determined by the name of the application. For example, for the edbsrvr.exe application, the name of the .INI file would be edbsrvr.ini.

Information As of the 2.09 release of ElevateDB, if the ElevateDB Server finds an .ini with the proper name in the same directory as the server .exe, it will use it instead of the .ini file in the common application data directory for Windows.

All of the configuration entries in the ElevateDB Server .INI configuration files are stored under a section called "Server" (see below for how multiple server instances can change this). Each of the individual configuration entries in this section are as follows:

Configuration EntryDescription
No User InterfaceSpecifies that the server will run without a user interface. This is useful in situations where you don't want the server to display an interface or an icon in the system tray, such as when running the server as a Windows service. The default value is 0 (False). Setting this entry to 1 (True) will turn off the server UI.
Encryption PasswordSpecifies the encryption password used by the ElevateDB Server for all encryption purposes. The ElevateDB Server uses this password for all configuration file encryption, table files encryption (for encrypted tables), and for encrypting all communications with a remote session when it uses encryption for the session. Likewise, you can force the ElevateDB Server to only accept encrypted connections from remote sessions by setting the "Server Encrypted Only" configuration entry (below) to True. The default value is 'elevatesoft'.

ElevateDB uses the Blowfish block cipher encryption algorithm with 128-bit MD5 hash keys for encryption. Please see the Encryption topic for more information.
SignatureSpecifies the signature used by the ElevateDB Server for all communications and database access. The ElevateDB Server uses this signature for all configuration file access, table files access, and for encrypting all communications with a remote session. A signature is useful for "branding" a server so that it only communicates with sessions that are using a specific signature, rejecting any that do not use that signature. The default value is 'edb_signature'.
Licensed SessionsSpecifies that a certain maximum number of concurrent licensed sessions be allowed. The default value is 4096 sessions. Specifying a lower figure will allow no more than the specified number of sessions to concurrently access the same configuration.
Large File SupportSpecifies whether the large file support is enabled or not. Enabling large file support greatly increases the maximum file sizes permitted for ElevateDB table files. However, large file sizes are only usable under Windows NT 4 or higher, and cannot be used under Windows 9x/ME. The default value is 0 (False).
Configuration FolderSpecifies the path where the ElevateDB Server should look for the configuration file. The configuration file is used to store the information in the Configuration Database in ElevateDB. If the path specified does not exist, then an error will be raised when the ElevateDB Server is started. If the path exists, but the configuration file does not exist in the path, then the ElevateDB Server will create the configuration file as necessary.

Information It is very important that you do not have more than one instance of the ElevateDB Server using different configuration files and accessing the same database(s). Doing so will cause locking errors. All instances of the ElevateDB Server must use the same configuration file if they will be accessing the same database(s).

The default value is the current folder where the server application is running.
Configuration In MemorySpecifies that the configuration file will be "virtual" for all sessions in the ElevateDB Server, and reside only in the process's memory. The default value is 0 (False).
Configuration NameSpecifies the root name (without extension) used by the ElevateDB Server for the configuration file. The extension used for the configuration file is determined by the "Configuration File Extension" configuration entry (below). The location of the configuration file is determined by the "COnfiguration Folder" configuration entry (above). The default value is 'EDBConfig'.
Configuration File ExtensionSpecifies the extension to be used for the configuration file. The deafult value is '.EDBCfg'.
Lock Files ExtensionSpecifies the extension to be used for the configuration and catalog lock files. The default value is '.EDBLck'.
Log File ExtensionSpecifies the extension to be used for the log file. The default value is '.EDBLog'.
Maximum Log File SizeSpecifies the maximum log file size. The default value is 1048576 bytes.
Log Information EventsSpecifies that information events should be logged in the log file. The default value is 1 (True).
Log Warning EventsSpecifies that warning events should be logged in the log file. The default value is 1 (True).
Log Error EventsSpecifies that error events should be logged in the log file. The default value is 1 (True).
Catalog NameSpecifies the root name (without extension) used by the ElevateDB Server for all database catalog files. The extension used for the catalog files is determined by the "Catalog Files Extension" configuration entry (below). The location of the catalog file is determined by the path designated for the applicable database when the database was created. Please see the CREATE DATABASE topic for more information. The default value is 'EDBDatabase'.
Catalog Files ExtensionSpecifies the extension to be used for database catalog files. The default value is '.EDBCat'.
Backup Files ExtensionSpecifies the extension to be used for database backup files. The default value is '.EDBBkp'.
Update Files ExtensionSpecifies the extension to be used for database update files. The default value is '.EDBUpd'. Update files are used to store logged updates for the purposes of synchronizing two different copies of the same database.
Table Files ExtensionSpecifies the extension to be used for database table files. The default value is '.EDBTbl'.
Table Index Files ExtensionSpecifies the extension to be used for database table index files. The default value is '.EDBIdx'.
Table BLOB Files ExtensionSpecifies the extension to be used for database table BLOB files. The default value is '.EDBBlb'.
Table Publish Files ExtensionSpecifies the extension to be used for database table publish files. The default value is '.EDBPbl'. Publish files are used to store the logged updates for a table.
Temporary Tables FolderSpecifies where the ElevateDB Server creates any temporary tables that are required for storing query result sets. The default value is the user-specific temporary tables path for the operating system.
Server NameIdentifies the ElevateDB Server to external clients once they have connected to the ElevateDB Server. The default value is 'edbsrvr' for the GUI ElevateDB Server. This configuration item is not used for named server instances (see below Multiple Server Instances for more information on named server instances).
Server DescriptionUsed in conjunction with the "Server Name" configuration entry to give more information about the ElevateDB Server to external clients once they have connected to the ElevateDB Server. The default value is 'ElevateDB Server'.
Server AddressSpecifies the IP address that the ElevateDB Server should bind to when listening for incoming connections from remote sessions. The default value is blank (""), which specifies that the ElevateDB Server should bind to all available IP addresses.
Server PortSpecifies the port that the ElevateDB Server should bind to when listening for incoming connections from remote sessions. The default value is 12010.
Server Thread Cache SizeSpecifies the number of threads that the ElevateDB Server should actively cache for connections. When a thread is terminated in the server it will be added to this thread cache until the number of threads cached reaches this value. This allows the ElevateDB Server to re-use the threads from the cache instead of having to constantly create/destroy the threads as needed, which can improve the performance of the ElevateDB Server if there are many connections and disconnections occurring. The default value is 10.
Server Encrypted OnlySpecifies whether all incoming connections from remote sessions should be encrypted or not. If this configuration entry is set to 1 (True), then all incoming connections to the ElevateDB Server that are not encrypted will be rejected with an error. The default value is 0 (False).

Information If you intend to use encrypted connections to an ElevateDB Server over a public network then you should always use a different "Encryption Password" configuration entry (above) from the default password.
Server Session TimeoutSpecifies how long the ElevateDB Server should wait for a request from a connected remote session before it disconnects the session. This is done to keep the number of concurrent connections at a minimum. Once a session has been disconnected by the ElevateDB Server, the session is then considered to be "dead" until either the remote session reconnects to the session in the server, or the server removes the session according to the parameters specified by the "Server Dead Session Interval", "Server Dead Session Expiration", and "Server Maximum Dead Sessions" configuration entries (below). A remote session may enable pinging in order to prevent the ElevateDB Server from disconnecting the remote session due to this configuration entry.

The default value is 180 seconds, or 3 minutes.
Server Dead Session IntervalSpecifies how often the ElevateDB Server will poll the disconnected sessions to see if any need to be removed according to the "Server Dead Session Expiration" or "Server Maximum Dead Sessions" configuration entries (below). The default value is 30 seconds.
Server Dead Session ExpirationSpecifies how long a session can exist in the ElevateDB Server in a disconnected, or "dead", state before the server removes the session. This is done to prevent a situation where "dead" sessions accumulate from client applications whose network connections were permanently interrupted.

Information If all of the remote sessions accessing the ElevateDB Server are using pinging, then you should set this property to the minimum value of 10 seconds so that sessions are removed as soon as they stop pinging the server.

The default value is 300 seconds, or 5 minutes.
Server Maximum Dead SessionsSpecifies how many "dead" sessions can accumulate in the ElevateDB Server before the server begins to remove them immediately, irrespective of the "Server Dead Session Expiration" configuration entry (above). If the "Server Maximum Dead Sessions" configuration entry is exceeded, then the server removes the "dead" sessions in oldest-to-youngest order until the number of "dead" sessions is at or under the setting for this configuration entry. The default value is 64.
Server Authorized AddressesSpecifies which IP addresses are authorized to access the ElevateDB Server. This is commonly referred to as a "white list". There is no limit to the number of addresses that can be specified, and the IP address entries may contain the asterisk (*) wildcard character to represent any portion of an address.

Information Due to the way that .INI file entries must be specified, multiple addresses must be separated with the literal value "<#CR#><#LF#>" (without the quotes) instead of actual line feeds.
Server Blocked AddressesSpecifies which IP addresses are not allowed to access the ElevateDB Server. This is commonly referred to as a "black list". There is no limit to the number of addresses that can be specified, and the IP address entries may contain the asterisk (*) wildcard character to represent any portion of an address.

Information Due to the way that .INI file entries must be specified, multiple addresses must be separated with the literal value "<#CR#><#LF#>" (without the quotes) instead of actual line feeds.
Server Run JobsSpecifies whether the ElevateDB Server is allowed to schedule and run jobs that are defined in the Configuration Database. If this property is set to 1 (True, and the default), then the "Server Job Category" configuration entry (below) determines which category of jobs that the server will schedule and run.
Server Job CategorySpecifies which job category the ElevateDB Server will schedule and run if the "Server Run Jobs" configuration entry is set to 1 (True). This configuration entry can contain any value, and the default value is blank (''), which indicates that the server can run all job categories. A job category is assigned to each job when it is created via the CREATE JOB DDL statement.

Multiple Server Instances
Multiple instances of the ElevateDB Server can be run on the same physical machine through named server instances. Named server instances are simply instances of the ElevateDB Server that were executed using two special command-line switches:

edbsrvr.exe /name=<Server Instance Name> /desc=<Server Instance Description>

Named server instances use the passed name and description to provide the name of the ElevateDB Server instance, as well as the description. The name parameter is also used to determine which section of the edbsrvr.ini file is used for configuration purposes. Instead of just the normal "Server" section being used in the edbsrvr.ini file, the section is named using the provided server name. For example, if the named server instance is called "MyServer", then the section in the edbsrvr.ini file where the configuration is stored will be the following:

[Server_MyServer]

The description parameter, if also specified, is immediately written to the named server instance section of the edbsrvr.ini file. All other configuration options described above in the Configuration Reference must be modified using the Edit Server Options in the GUI ElevateDB Server. You can run the GUI ElevateDB Server as a normal application in order to modify the configuration of a named server instance. For example, to modify the MyServer configuration you would use the following from the command-line:

edbsrvr.exe /name=MyServer"

In order to use a named server instance as a Windows service, the /name parameter must be specified during the installation of the service. For example, if the named server instance is called "MyServer", then the service installation would be accomplished using the following from the command-line:

edbsrvr.exe /install /name=MyServer /desc="My Server"

When you want to start the named server instance as a service, you would simply just use the following from the command-line:

net start MyServer

The following example shows how you would install two ElevateDB Server named server instances as Windows services, and then start them:

edbsrvr.exe /install /name=MyFirstServer /desc="My First Server"

edbsrvr.exe /install /name=MySecondServer /desc="My Second Server"

net start MyFirstServer

net start MySecondServer

Warning You will need to verify that the port being used by each named server instance is unique, or one or more named server instance will not start due to a port conflict. As mentioned above, you can use the GUI ElevateDB Server run as a normal application to modify the configuration of any named server instance.
Image