Troubleshooting

The most common problem that requires urgent assistance:

The encrypted database is not online, not accessible and shown in SQL Management Studio as “Suspect” or “In Recovery”

First of all, if you need the database ASAP(!!!) decrypt it. You can do this even if the database is offline.

Actually, this severe looking problem can be fixed quickly. In general it means SQL Server can’t read the database properly.

There are two probable reasons for this:

Reason 1: DbDefence has not been started.

This is the most common reason. Sometimes it happens when you deploy the database to a customer, but forget to install DbDefence. To check whether DbDefence is running, execute SQL statement exec master..dbd_status. The correct result should display a row of data with Status “On”.

If you get an error message instead of the row of data, then the core dll called DBDEFENCE.DLL is missing or SQL Server can’t load it. The DLL is automatically installed into the Binn folder of the SQL Server instance during the installation. If DLL is there, then something prevents its loading.

Solution: Check the logs of your AV software, and whitelist the DLL if necessary. If DLL is missing, reinstall DbDefence. You will not need to re-encrypt the databases. After installation, restart the SQL Server instance or take the database offline then put it back online. The database should be accessible.

If Status is OFF and Error 1 or 2: This indicates a license error. Run SQL statement exec master..dbd_reg_info to see a detailed message. Possible reasons: If you were running a temporary license, it may have expired; If you updated DbDefence but forgot to update the license, the SQL statement may give you “license is too old for this version”.

Solution: update the license at https://www.database-encryption.com/update-support.html then re-activate the software. Restart the SQL Server instance after activation or take the database offline then put it back online.

If Status is OFF and Error number is 0: This error happens when something prevents DbDefence from being loaded into the SQL Server process. Usually this is caused by anti-virus software. Such software may prevent installation of important DbDefence components.

Solution: 1. Check the logs of AV software and whitelist blocked components. All components of DbDefence are digitally signed and you may whitelist them by its digital signature "Activecrypt Software Ltd." 2. Check whether the DbDefence driver and service are installed correctly: Start the administrator command line and execute "net start acrwatchdrv". This should give the message "The requested service has already been started." Anything else means core driver is misfunctioning. Execute "net start acrwatchsrv". This should give the message "The acrwatchsrv service was started successfully.". Normally it quits quickly and doesn't run constantly. If the message says that services weren't found, then you need to re-install DbDefence. AV software must not interfere with the installation.

We're working with AV software vendors to permanently whitelist our software. AVAST has already whitelisted all our components, but other vendors respond slowly.

If Status is OFF and Error number is more than 2. This is an incompatibility error. DbDefence can’t run on this newer build of SQL Server.

Solution: Download and install the latest version of DbDefence or downgrade SQL Server to the previous working version. Before updating DbDefence please make sure that the license is in good standing by running SQL statement exec master..dbd_reg_info. Check the returned field “SupportExpirationDate”. If it has expired, the newer version may not run with the existing license. You need to update the license at https://www.database-encryption.com/update-support.html then re-activate the software. Restart the SQL Server instance after activation or take the database offline then put in back online.

If support has not expired, download and install the latest version of DbDefence. There is no need to uninstall the previous version or re-encrypt databases. Restart the SQL Server instance after the software update.

Reason 2: The database size exceeds the license limitation

If you check Windows Application Event Log, you may notice a message from DbDefence@<SQL Instance Name> saying "Database size exceeds license limitation"

In this case, you can quickly get a 3-day unlimited license at https://www.database-encryption.com/update-support.html. If an encrypted database was not bound to the DbDefence licensee, apply a new activation key and restart the instance. Now you have some time to check out why the database grew that big, shrink it, or upgrade the license.