Problem
How to change the Backup Exec database location to a new instance using BEUtility.
Note: Ensure the SQL server version to which the database is moved to is same or higher than the existing SQL server version. NT SERVICE\MSSQL$Instance account with which the new instance is running (if defaults were used during installation ) should have permissions to access the bedb_dat.mdf and bedb_log.ldf files in the path C:\Program Files\Veritas\Backup Exec\Data
Migration of db to a new instance will be successful if:
The SQL instance has the logon type as "local system" OR the current SQL instance logon account is manually given read/write permissions to access the Data folder. The logon account name can be checked in services against the SQL server instance name.
Solution
- Path - C:\Program Files\Symantec\Backup Exec\beutility.exe (For Backup Exec versions till BE 15 and environment upgraded to BE 16 or BE 20)
- Path - C:\Program Files\Veritas\Backup Exec\beutility.exe (For fresh BE 16 or BE 20 install)
3. Click " Yes" on The Remote Registry Service pop-up message if displayed.
4. Select or manually enter servername\instancename in the Destination SQL Server instance and click OK
5. Allow the process to complete and click close.
TROUBLESHOOTING:
A) In case of an error please check the user account with which new Instance of SQL is running. The new user can be provided appropriate rights in Backup Exec Install Path\Data folder.
1. Right-click the Data folder
2. Select Properties
3. Go to the Security tab.
4. Click Edit
5. Click the Add button
6. Type the logon account name(NT SERVICE\MSSQL$Instance in this case) in the object name box and click OK.
7. Grant the permissions needed to the newly added account.
B) Enable Common language runtime (CLR) functionality
Stop Backup Exec services
Open an elevated command prompt to C:\TEMP
Start sqlcmd
sqlcmd -E -S <new server name>\<new instance name>
Execute the following SQL command
1> sp_configure 'clr enabled', 1
2> go
Configuration option 'clr enabled' changed from 1 to 1. Run the RECONFIGURE statement to install.
1> reconfigure
2> go
1> USE bedb
2> go
Changed database context to 'BEDB'.
1> EXEC sp_changedbowner 'sa'
2> go
1> ALTER DATABASE bedb SET TRUSTWORTHY ON
2> go
1> exit
Start Backup Exec services
C) Backup Exec services won't start due to Database Recovery error. (X:\Program Files\Veritas\Backup Exec\Logs\DBrecover.log
CREATE DATABASE permission denied in database 'master'.
Execute command failed: 0x80040e14
OS ERROR: 0x80040e14 (-2147217900)
Deinitialize...
-----------------------------
Process completed
Status: DBU_ERROR_DATABASE_ATTACH_FAILED
-----------------------------
The Backup Exec Service Account (BESA) aka the account the Backup Exec service are running as must have SQL dbcreator and sysadmin role. Please refer to Microsoft SQL Server Documentation to grant SQL roles.