Installing Vault on Mosso; can't figure out sgvaultuser

If you are having a problem using Vault, post a message here.

Moderator: SourceGear

Post Reply
lfonlfonlfon
Posts: 10
Joined: Wed Mar 26, 2008 7:01 am

Installing Vault on Mosso; can't figure out sgvaultuser

Post by lfonlfonlfon » Wed Mar 26, 2008 7:17 am

I'm moving our Vault 4.1 installation from our own environment to a professional host. We are using Mosso. I've had no end of problems.

I have moved both of the databases, sgvault and sgmaster, to Mosso's environment and I'm trying to get the connectionstring to work.

The web app works (to the extent that I can see the "successfully installed" page and I can get to the login page) but when I try to login I keep getting this error message:
Login Failed: The Vault Server could not establish a connection to the database. Please check the server's log for detailed information. (FailDBConn)
There is absolutely no way I can get to that log file. I don't even know where it would be sitting since Mosso is using a clustered environment. And there are other issues I think that would be causing the problem anyway.

When you create databases on Mosso you have to create a unique SQL user account for each database you create. So both sgvault and sgmaster have to have a unqiue SQL user account.

Some questions

1) Will the login fail if BOTH databases, sgvault and sgmaster, are not accessible? If I only have access to sgvault, can I still login? I've tried to get Mosso to assign dbo access to the sgvaultuser user for BOTH databases but so far they've been dragging their feet.

2) Do you have "sgvaultuser" hardcoded in the code anywhere? It is impossible for me to use that name since Mosso makes us create new, unique SQL user accounts that begin with a number. For instance, mine looks like 12345_sgvaultuser. I changed the web.config so that the connectionstring would have this User Id. But if you have the user "sgvaultuser" exactly hardcoded in the system, then I'm boned.

3) Will the ConfigPath variable in the web.config work with a relative path. At first, it failed. After I changed its value to "~/Vault.config", it seems to be working now. But I'm wondering if this will cause problems down the road.

4) Do you have any other KB articles or information for hosting Vault on 3rd party providers where we don't have root or remote desktop access and we have to work through control panels?

Thanks for the help. We've been using Vault for years and love it.

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Mar 26, 2008 9:59 am

1) Will the login fail if BOTH databases, sgvault and sgmaster, are not accessible? If I only have access to sgvault, can I still login?
Vault 4.1 needs both sgmaster and sgvault. Sgmaster stores all user information and every transaction is associated with a user and that user's options and security rights, so sgmaster is constantly being accessed.
2) Do you have "sgvaultuser" hardcoded in the code anywhere? It is impossible for me to use that name since Mosso makes us create new, unique SQL user accounts that begin with a number. For instance, mine looks like 12345_sgvaultuser. I changed the web.config so that the connectionstring would have this User Id. But if you have the user "sgvaultuser" exactly hardcoded in the system, then I'm boned.
The sgvaultuser account is not hardcoded. You can change the username in SQL Server and in the web.config in the Vault Service directory. But whatever account you use, like 12345_sgvaultuser, must have access to BOTH sgvault and sgmaster. The reason is that Vault Server makes only one connection to SQL Server via IIS. The connection is to the sgvault database, and then using stored procedures in sgvault, calls are made to the sgmaster database.
3) Will the ConfigPath variable in the web.config work with a relative path. At first, it failed. After I changed its value to "~/Vault.config", it seems to be working now. But I'm wondering if this will cause problems down the road.
I don't know think we've tested this, but I would think that as long as the Vault Service can find the Vault.config file, you should be OK.

4) Do you have any other KB articles or information for hosting Vault on 3rd party providers where we don't have root or remote desktop access and we have to work through control panels?
No, sorry. Each hosting company has different requirements/restrictions, so there's not one way to set things up or manage a Vault Server on a host. For this reason, we can provide information about how Vault works and what you need for a Vault installation, but can't provide support for specific hosting environments.

A couple other notes:

--the Vault Server log, sgvault.log, is important for troubleshooting and support, so you do need to have access to it. The default location is on the Vault Server machine in C:\Windows\Temp\sgvault.

--You mentioned this host uses clustering. Do they have other successful Vault installations running? I ask this because we don't support the Vault Server on a cluster -- we haven't tested this type of configuration. The Vault Server uses an application cache in IIS, and as far as we know, this cache is unique to each machine. This could lead to incomplete transaction information dispersed across multiple server machines. You might check with your hosting provider about whether the IIS application cache is shared across machines in their clustering.

Although we haven't tested clustering of SQL Server machines for the Vault database, we've had reports from users who have successfully used clustering for their SQL Servers.
Linda Bauer
SourceGear
Technical Support Manager

lfonlfonlfon
Posts: 10
Joined: Wed Mar 26, 2008 7:01 am

Post by lfonlfonlfon » Wed Mar 26, 2008 11:28 am

I've been in contact with Mosso and they've now fully confirmed that they do NOT allow a single SQL user account to access more than one database. This seems very odd to me, but it is a hard wall that they won't go past at this point. In other words, I can't setup sgvaultuser to be dbo on both sgvault and sgmaster. I would have to have an sgvaultuser and an sgmasteruser.

So is there ANY way that I can configure Vault to have a unique SQL user account for each database? Any web.config overrides or anything?

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Wed Mar 26, 2008 12:50 pm

Sorry, no. As I mentioned before the communication between sgvault and sgmaster is written in the stored procedures and requires that the same user have access to both databases.

My only suggestion at this point is to find a more Vault-friendly hosting company.

We have a couple hosting companies on our Partners page, AbnHost and OrcsWeb:

http://www.sourcegear.com/company/partners.html
Linda Bauer
SourceGear
Technical Support Manager

lfonlfonlfon
Posts: 10
Joined: Wed Mar 26, 2008 7:01 am

Post by lfonlfonlfon » Wed Mar 26, 2008 1:18 pm

You guys (SourceGear, LLC) should consider hosting this as a service. It ould be easy for you to setup your own custom web interface and allow people to setup accounts and repositories as needed.

I checked out the partners you listed. Those prices are outrageously expensive. They float around $50 per month for 100MB. And some only include 1 developer. That's nuts. You can get your own semi-dedicated box at most hosts for $80-100 per month. We have 300MB of source in our Vault instance and more than a few developers. They'd be charging us more than it would cost to just rent our own dedicated box and set it up for ourselves.

Add to that the fact that those services are doing very little. Since the product is JUST Vault for the cost, they aren't supporting control panels, databases, IIS, DNS or other features and products for those developers; just the Vault setup and administration.

I would suggest a price more in the range of $20 per month per repository for up to 5 users per account. Hosting prices have gotten a lot more competitive.

(Just my two cents as an FYI)

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Mar 28, 2008 11:19 am

Thanks for suggestion, though we've pretty much determined our business is software development, rather than hosting.
Linda Bauer
SourceGear
Technical Support Manager

gsmalter
Posts: 115
Joined: Sat Jul 09, 2005 11:13 am

Post by gsmalter » Fri Mar 28, 2008 2:16 pm

I have suggested it before, and second the hosting suggestion. Even if you partner with someone and make it totally transparent to us. Nobody wants to host their own email server, source control server, or anything really. People are a lot more likely to use the product if they aren't responsible for maintaining it and backing it up.

Also, you could then charge a subscription fee and everyone would always have the latest version. Then you wouldn't have to support old versions of your product, and you wouldn't have to convince people to upgrade.

It really works out better for everyone if you guys can come up with an arrangement.
Vault 5.0, Visual Studio 2010, Enhanced Client

lbauer
Posts: 9736
Joined: Tue Dec 16, 2003 1:25 pm
Location: SourceGear

Post by lbauer » Fri Mar 28, 2008 3:40 pm

Thanks. We don't currently have plans for this, but we'll give it some thought.
Linda Bauer
SourceGear
Technical Support Manager

Post Reply