Showing results for 
Search instead for 
Did you mean: 
Using a custom SQL instance with Backup Exec installs.


Oh, where do I has been a little while since my last post, and that is primarily because I volunteered for a new role within our department. My role now allows me to focus 100% of my time on issues that matter to you, and that is exactly what I have been doing since the beginning of the year! It is an awesome opportunity for me (and my peers who joined me), so that you will ultimately reap the benefits of our labor. I can say that there have been many long nights and weekends invested so far, and I know that the final results will yield many satisfied customers. That means more to me than you will ever know! It is the sole reason I volunteered, and it is what motivates me every day. Thank you for being a loyal customer!

So, part of my efforts recently led me to a topic which I have not covered before. That topic is using a custom SQL server instance with Backup Exec. We have supported it for many years now, but there are some impacts you should consider when using your own instance for the Backup Exec database. Let me list them and then I will elaborate further.

SQL Express Instance (BKUPEXEC)

Custom SQL Instance

Installed by the installer

Installed by the user

Upgraded by the installer

Maintained by the user

Memory limit set by installer

Memory set by the user

Network access configured by installer

Network access configured by user

Data paths are default and share same disk

Data paths set by the user

Backup of SQL files created by maintenance

Backup managed by the user.

Firewall rules added by installer

Firewall rules configured by the user.

Express database size limit (4GB currently)

DB limit dependent on SQL version used.

Patched via Windows Update

Patched by Windows Update

Secure folder by default

Default inheritance on folders


SQL Express Instance Installed by Backup Exec
As the chart above shows, the Backup Exec installation program does a significant amount of work to get the instance configured and setup for use. This is primarily to make the installation easy and simple. However, there are limitations to the performance set by Microsoft on the SQL Express instance. This is one of the main reasons why the Backup Exec installation program allows users to target a custom instance. The drawbacks to using a custom instance is that much of the work is left to the user to configure, manage, and patch the instance. When the Backup Exec installation program creates an instance, it uses (SERVERNAME\BKUPEXEC) where SERVERNAME is the name of your server. The installation program expects that this instance is ours and we will manage it. Your instance should be anything other than a local instance called BKUPEXEC.

Memory Limit Set by the Backup Exec installation program
I know that many times users have upgrade failures and support installs an instance like "BKUPEXEC1", then installs the product and targets that instance. The Backup Exec installation program expects that the user will maintain and manage this instance. I am afraid this information is not well understood by some of the support members, and is done merely as a workaround to get the product installed. The upside is that it gets the product working for the user, but there are consequences for that choice that may not be obvious. One such consequence is that the Backup Exec installation program will not set the memory limit for the instance, so the SQL instance is left to consume as much memory as it deems necessary. When the Backup Exec installation program configures an instance, the installer will configure the SQL maximum memory limit to 25% of the available RAM. User-defined instances are left to their default configuration, or user-defined configuration.

Windows Update Patching and Upgrades by the Installer
Patching will typically be done via Windows Update. In addition, upgrades for Backup Exec almost always ship with the latest version of SQL Express available at the time of release. The Backup Exec installation program embeds the latest SQL Express installation program which also includes any released service packs to date. When performing a Backup Exec upgrade, if the instance of "BKUPEXEC" is not at the current service pack revision, the Backup Exec installation program will upgrade the instance during the product upgrade.

The Backup Exec installation program has one view of the installed SQL instance. If the instance is on the local machine and is named "BKUPEXEC", then it is an instance we installed and we should manage it. If the instance is local with any other instance name, then the user created it and it is their responsibility to manage and maintain it. If the instance is on a remote server with any instance name, then it is also a user created instance and their responsibility to manage it. This includes upgrading the instance with service packs and security updates, etc.

Secure Folder by Default
When the user selected SQL instance is on the same server as Backup Exec, the Backup Exec database resides in our data folder. That data folder is ACL restricted to administrators, backup operators, and the system account only. There are security reasons behind this restriction. When the SQL instance exists on a remote server, the database file paths are managed by the user and should have their permissions restricted accordingly. Many times users have read permissions to these paths because of inheritance defaults from higher level directories. If users have access to the computer or these paths, it is recommended that you remove any user read access and simply limit it to administrators, backup operators and the system account only! The installation program also queries user-targeted SQL instances for the database paths. This is because some users will put the BEDB(MDF) on one disk, and Logs(LDF) on another disk for performance reasons. When using a remote SQL Server instance, the Backup Exec installation program will place the Backup Exec database files in those configured folders by default.

Database Size Limit (4GB)
SQL Express 2005(The current version with Backup Exec 2012) has a database size limit of 4GB. This is typically sufficient for a backup server that operates independently. However, if you are using the Central Administration Server Option (CASO) with Managed Backup Server, you may need better performance and a larger database to scale out. You may also want a larger database if you wish to retain more history than the defaults. In cases like these, a user-defined SQL instance may make sense.

Firewall Rules Added by Installer
When the Backup Exec installation program installs and configures a default instance, firewall rules will be automatically added for our SQL Express instance. If it is a user-defined instance, these rules are not added and if required, should be added by the user. These rules typically are required when running with the CASO and managed Backup Exec server option, and are not usually required without it.

As you can see, the Backup Exec installation program does a bunch of work for you, but there can be times when you want something different for a good reason. Such as a SQL Express 2008 instance, because it is your company standard, or you want performance gains obtained with SQL Server instance that is native on an x64 server. Whatever your reason, there are pro's and con's for choosing the non-default instance. I hope this blog offers some insight for customers who may ask themselves this question. If you have feedback for our team, we welcome it!