I'm in the process of planning to move our EV 10 databases from our old SQL 2005 server to our SQL 2012 server. I'm following this tech note for steps: https://www.veritas.com/support/en_US/article.TECH35744. I want to utilize the referenced PowerShell script located here: https://www.veritas.com/support/en_US/article.TECH214373 to make the changes on the vault server once the database has been moved by our SQL team, but I'm having trouble with the syntax and want to make sure I understand it fully before I am halfway into the process and can't make the script work based on my assumptions.
The tech note page states that I should use the FQDN of the source and destination SQL servers with the -SourceSQLServerName and -DestinationSQLServerName parameters, and the example screenshot shows "MyOldSQL.MyDomain.local" and "MyNewSql.MyDomain.local" specified with no quotes.
In our environment, we have the vault databases in their own instances. For example, the vault databases are in MyOldSQL\Vault and the new databases will end up in MyNewSQL\Vault. Do I need to specify the instance in the parameters for this script, and should it be enclosed in quotes, like so:
.\EVSQLServerMove.ps1 -SourceSQLServerName "MyOldSQL\Vault" -DestinationSQLServerName "MyNewSQL\Vault"
or am I totally off base here? I looked at the script itself and do not see any better documentation about the syntax inside either. Like I said, I don't have a way to test this before hand, and I would like to run it correctly the first time and not take a guess during this important part of the process, so I want to check with the community and see if anyone has any input here. Has anyone moved the databases using this script when they are in a non-default instance, and how did you specify the instance in the parameters for the script?
i have tried this in my TestLab. The Script works well for environments with eqal präfix naming convention.
Do the following Steps:
- Install NEW DB Server, with equal Settings.
- Export Alias Names like "Directory Servive Computer".
- Set the SQL permission on the Destination SQL Server.
- Activate "MSSQLServer" protocols.
Import like this:
.\EVSQLServerMove.ps1 -s SRV-HQ1-SQL1.domain.labs -d SRV-HQ2-SQL2.domain.labs -o c:\temp
The Script will only run, if you have set the right SQL permissions else you get some errors:
- Ausnahme beim Aufrufen von "Fill"... Databases not found!
Export from my log:
Enterprise Vault SQL Server Updater
10:34:08.882 Log started 24.05.2016 10:34:08
10:34:08.882 Creating SQL objects
10:34:08.882 Looking for EV databases on SRV-HQ2-SS1.archive.labs
10:34:08.882 Find-EVDatabases:Query: SELECT * FROM EnterpriseVaultDirectory.sys.databases
10:34:08.882 Find-EVDatabases:SQL connection string: Server=SRV-HQ2-SS1.archive.labs;database=EnterpriseVaultDirectory;trusted_connection=True
10:34:08.898 Find-EVDatabases:8 total databases present on SRV-HQ2-SS1.archive.labs
10:34:08.898 Find-EVDatabases:Filtering for EV databases
10:34:08.898 Find-EVDatabases:4 EV databases present on SRV-HQ2-SS1.archive.labs
10:34:08.898 Looking for EV databases on SRV-HQ2-SS2.archive.labs
10:34:08.898 Find-EVDatabases:Query: SELECT * FROM EnterpriseVaultDirectory.sys.databases
10:34:08.898 Find-EVDatabases:SQL connection string: Server=SRV-HQ2-SS2.archive.labs;database=EnterpriseVaultDirectory;trusted_connection=True
10:34:18.429 Find-EVDatabases:8 total databases present on SRV-HQ2-SS2.archive.labs
10:34:18.429 Find-EVDatabases:Filtering for EV databases
10:34:18.429 Find-EVDatabases:4 EV databases present on SRV-HQ2-SS2.archive.labs
10:34:19.460 Comparing results of database lookup
10:34:19.460 Displaying table of results in console
10:34:19.460 4 EV database(s) found on source (SRV-HQ2-SS1.archive.labs):
10:34:19.476 4 EV database(s) found on destination (SRV-HQ2-SS2.archive.labs):
10:34:19.476 4 EV databases found on both (i.e., successfully moved to new SQL server):
10:34:19.476 Only databases that were found on both source and destination servers will have their pointers reassigned
10:34:19.476 Checking that EV services have been stopped
10:35:23.226 Formatting list of DB names for use in SQL statement
10:35:23.226 Calling function Update-FPDB
10:35:23.241 Update-FPDB:Query: UPDATE dbo.FingerprintCatalogueDatabase SET SQLServer = 'SRV-HQ2-SS2.archive.labs' WHERE DatabaseName IN ('EnterpriseVaultDirectory','EnterpriseVaultMonitoring','EVVSGEVStorage1_1_1','EVVSVaultStore1_1')
10:35:23.241 Update-FPDB:SQL connection string: Server=SRV-HQ2-SS2.archive.labs;database=EnterpriseVaultDirectory;trusted_connection=True
10:35:23.241 Update-FPDB:Opening SQL connection
10:35:23.241 Update-FPDB:Executing query
10:35:23.257 Update-FPDB:Query returned 1 row(s)
10:35:23.257 Update-FPDB:Updated 1 Fingerprint Database location(s)
10:35:23.257 Update-FPDB:Closing SQL connection
10:35:23.273 Calling function Update-MonDB
10:35:23.273 Update-MonDB:Query: UPDATE dbo.MonitoringSettings SET SQLServer = 'SRV-HQ2-SS2.archive.labs' WHERE DatabaseName IN ('EnterpriseVaultDirectory','EnterpriseVaultMonitoring','EVVSGEVStorage1_1_1','EVVSVaultStore1_1')
10:35:23.273 Update-MonDB:SQL connection string: Server=SRV-HQ2-SS2.archive.labs;database=EnterpriseVaultDirectory;trusted_connection=True
10:35:23.273 Update-MonDB:Opening SQL connection
10:35:23.273 Update-MonDB:Executing query
10:35:23.288 Update-MonDB:Query returned 1 row(s)
10:35:23.288 Update-MonDB:Updated 1 Monitoring Database location(s)
10:35:23.288 Update-MonDB:Closing SQL connection
10:35:23.288 Calling function Update-DirectoryReg
10:35:23.288 Update-DirectoryReg:Testing whether a Directory Database was among those moved
10:35:23.304 Update-DirectoryReg:Yes we have to update the Directory Database location
10:35:23.304 Update-DirectoryReg:CPU detected as 64-bit so the registry path is HKLM:\Software\Wow6432Node\KVS\Enterprise Vault\Directory\DirectoryService
10:35:23.320 Update-DirectoryReg:Updating 'SQLServer Name' value to SRV-HQ2-SS2.archive.labs
10:35:23.320 Update-DirectoryReg:Directory Database location updated in EV server Registry
10:35:23.320 Calling function Update-VSDB
10:35:23.335 Update-VSDB:Query: UPDATE dbo.VaultStoreEntry SET SQLServer = 'SRV-HQ2-SS2.archive.labs' WHERE DatabaseName IN ('EnterpriseVaultDirectory','EnterpriseVaultMonitoring','EVVSGEVStorage1_1_1','EVVSVaultStore1_1')
10:35:23.335 Update-VSDB:SQL connection string: Server=SRV-HQ2-SS2.archive.labs;database=EnterpriseVaultDirectory;trusted_connection=True
10:35:23.335 Update-VSDB:Opening SQL connection
10:35:23.335 Update-VSDB:Executing query
10:35:23.367 Update-VSDB:Query returned 1 row(s)
10:35:23.367 Update-VSDB:Updated 1 Vault Store Database location(s)
10:35:23.367 Update-VSDB:Closing SQL connection
10:35:23.382 Calling function Update-AuditDB
10:35:23.382 Update-AuditDB:Testing whether an Audit Database was among those moved
10:35:23.382 Update-AuditDB:There was no moved Audit Database to update
10:35:23.382 All updates complete
10:35:23.382 Total number of databases updated: 4
10:35:23.398 Exiting script
Total runtime: 00:01:14.5157863
wilbur-wetterquarz, that doesn't really answer my question. I'm trying to figure out if I need to put quotes "" around the server name if I have vault installed in an instance.... since I'm worried about the \ character messing up the syntax.
For the rest of the community... am I off base with thinking that the Veritas provided script is the easiest/best way to accomplish the changes? I'm now leaning towards following the manual steps in the DB move article, since it appears nobody uses the script at all, or maybe if they do they haven't ran into the specific scenario that I'm trying to sort out. Namely: what syntax do I use to specify the database server when the vault database is in an instance other than the default. Our vault databases are in an instance called "SQLDBServer\Vault".