For the test purposes of getting our developers back up and running on another server quickly after a server crash, I am trying to make a backup from one server and then restore it on another server. Both servers have SQL Server 2000 installed. Each night a job runs in SQL Server to backup the Vault database. That way if I come in the next morning and the server Vault resides on is dead I can take the backup file and restore it on the another server that I install Vault on. I have tried this numerous times and each time I get a "FailDBFault" error when I try to open the Vault client on the server where I did the restore.
Here are the steps I use to recreate:
1. On primary Vault server I run a backup from within SQL Server 2000 on the sgvault database.
2. On the secondary Vault server I go into SQL Server 2000 and create a new blank sgvault database.
3. I right click on the sgvault database on the secondary Vault server and do a restore and point it to the file from the primary Vault server sgvault database backup.
4. Next I restart IIS on the secondary Vault server and then run the following sql script (with the real server name replacing "(SERVERNAME)" to setup permissions for ASPNET process:
USE [master]
IF ( NOT EXISTS (SELECT sid FROM syslogins WHERE name = '(SERVERNAME)\ASPNET') )
EXEC sp_grantlogin N'(SERVERNAME)\ASPNET'
-- next access should be granted in the vault database
USE [sgvault]
EXEC sp_grantdbaccess N'(SERVERNAME)\ASPNET'
EXEC sp_addrolemember N'db_owner', N'(SERVERNAME)\ASPNET'
GO
5. Now on the secondary Vault server, I open the Vault client and I get the "FailDBFault" error. I can see all the folders and files for the default repository but if I try to check a file out I get the same error again. In the Vault Admin Tool I get the "FailDBFault" error after I log in successfully and go to the Obliterate tab and select the default repository.
Here is what shows in the sgvault.log file on the secondary Vault server at the time when I tried all of this:
----8/13/2008 10:32:56 AM admin--dsi-trmsrv.decisionsciencesinc.com(10.0.0.9)--SSL Disabled System.Data.SqlClient.SqlException: Procedure or function splockcheckoutlist has too many arguments specified.
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at VaultServiceSQL.VaultSqlSCC.CreateDBLockObject(VaultSqlConn conn, SqlCommand cmd, Int32 nDefaultRetVal) at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream)
at System.Data.SqlClient.SqlCommand.ExecuteNonQuery()
at VaultServiceSQL.VaultSqlSCC.CreateDBLockObject(VaultSqlConn conn, SqlCommand cmd, Int32 nDefaultRetVal)
----8/13/2008 10:32:56 AM admin--dsi-trmsrv.decisionsciencesinc.com(10.0.0.9)--SSL Disabled GetCheckOutListChanges returned: FailDBFault
Here is the primary Vault server information:
Client Information
Vault Client Version: 3.5.1.4786
.Net Framework Version: 1.1.4322.2407
Operating System: Microsoft(R) Windows(R) Server 2003, Standard Edition
Service Pack: 2.0
OS Version: 5.2.3790
Total Physical Memory: 3.75 GB
Time Zone: (GMT-06:00) Central Time (US & Canada)
Server Information
Vault Server Version: 3.5.1.4786
.Net Framework Version: 1.1.4322.2407
Operating System: Microsoft(R) Windows(R) Server 2003, Standard Edition
Service Pack: 2.0
OS Version: 5.2.3790
Timezone: (GMT-06:00) Central Time (US & Canada)
SQL Version: Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Developer Edition on Windows NT 5.2 (Build 3790: Service Pack 2)
Here is the secondary Vault server information:
Client Information
Vault Client Version: 3.5.3.5169
.Net Framework Version: 1.1.4322.2407
Operating System: Microsoft Windows 2000 Server
Service Pack: 4.0
OS Version: 5.0.2195
Total Physical Memory: 2 GB
Time Zone: (GMT-06:00) Central Time (US & Canada)
Server Information
Vault Server Version: 3.5.3.5169
.Net Framework Version: 1.1.4322.2407
Operating System: Microsoft Windows 2000 Server
Service Pack: 4.0
OS Version: 5.0.2195
Timezone: (GMT-06:00) Central Time (US & Canada)
SQL Version: Microsoft SQL Server 2000 - 8.00.760 (Intel X86)
Dec 17 2002 14:22:05
Copyright (c) 1988-2003 Microsoft Corporation
Developer Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
FailDBFault error after backup and restore
Moderator: SourceGear
Re: FailDBFault error after backup and restore
You don't have to do this. You can just perform the restore and type in sgvault for the database name.On the secondary Vault server I go into SQL Server 2000 and create a new blank sgvault database.
I would suggest an uninstall and resintall of Vault for that particular error so that the procedure is recreated. You will keep your database and then tell it to use the database during the re-install. It takes all of 5 minutes. You might want to take a look at our Install Guide if you have never done the install before.Procedure or function splockcheckoutlist has too many arguments specified.
Also, I would highly recommend you upgrade to Vault 3.5.3. There were some very nice improvements made from 3.5.1 and it would be a free upgrade for you.
Beth Kieler
SourceGear Technical Support
SourceGear Technical Support