By default, the Connexion installer will perform the following database operations that require sysadmin access to the database server:
- Creates 2 databases: A configuration database (2 file groups: PRIMARY, LOG), and a message database (3 file groups: PRIMARY, INDEX, LOG)
- Creates a database user and assign the user as db_owner to the databases created in (1)
- Enables .net on the Sql Server instance: EXEC sp_configure 'clr enabled', 1;
- Installs an optional .NET assembly and function used for searching text within a message. (If this function is not available, searching for data within a message will fail)
- Installs an optional view that provides decompressed message data
In some cases it is not possible to install Connexion using a user with 'sysadmin' privileges. Under this condition, the following manual steps must be performed to configure Connexion:
- Manually create the configuration database. The database name must start with 'CXN_' (default is CXN_Connexion):
- Manually create the message database.
(a) The database name should be the name of the configuration database with '_Default' appended. For example, 'CXN_Connexion_Default'.
(b) You must add an index filegroup named exactly 'INDEX'
- Create / edit your installer user. This is the user you will use to run the Configuration Wizard (this wizard configures/upgrades Connexion and the various databases). This user should have db_owner permissions on the two databases you've created.
- Create / edit your service user. This is the user you will use to run the Configuration service. This user should have reader/writer permissions on the two databases you've created.
Now run the Configuration wizard using an account that has Local administrator rights (in order to manage local folders, services, certificates, etc.)
You may need to use the 'runas' functionality from a command line in order to impersonate a user which has these required privileges:
runas /user:MyUserWithAdminPriv ConfigurationWizard.exe
If the user currently running the Configuration wizard has DBO access to the Connexion database(s) you have created, then you can use the "Current User" option in the 'Database Connexions' tab:
If your current user does not have DBO access to the Connexion database(s), you can provide the credentials of a Windows/Domain account which does. Please note that this account must be valid on the current machine (meaning that if it's a Windows user, this user must exist locally. If you provide a domain user, the current machine must be joined to the domain).
You can alternately provide SQL Server credentials via the 'SQL Server Authentication' option.
Once the configuration wizard has successfully run, YOU MUST GRANT STORED PROCEDURE EXECUTE PERMISSIONS TO THE SERVICE USER MANUALLY. The following statement will do this:
Use CXN_Connexion2_Default GRANT EXECUTE TO [NICKWORK-PC\__cxne_user__]