TFS connection string with user name/password - tfs

Is the scenario where TFS app server connection to the DB using user name/password (instead of integrated security), a supported one? If not, can it be done tinkering with web.configs?

There is documentation for earlier versions where you can find a connection string: Services Web.Config File Settings in Team Foundation Server Components.
I also have tried the change of a db account for my tfs 2015 and this works:
Find the web.config file under (TFS_Install_DIR)\Application Tier\Web Services:
Change the applicationDatabase key:
But this is unofficial way and I do not know any risks ))

Related

TFS246017: Team Foundation Server could not connect to the database

While attempting Branch operation from within VS I get the error message TFS246017: Team Foundation Server could not connect to the database. Verify that the instance is specified correctly, that the server that is hosting the database is operational, and that network problems are not blocking communication with the server. (The error message box looks like the one in this question).
I logged on to the TFS virtual machine. In event viewer I see a warnning with with the same message as above + Process Name: w3wp, User: domain\MyUser. The IIS TFS site is started.
I opened the TFS console on the TFS machine using both domain\MyUser and domain\tfssetup (this is the user running the Visual Studio Team Foundation Background Job agent service), the console opens successfully. Both users appear in the Administration Console Users list. I did reapply account for both users. I also did update password for domain\MyUser. It shows a connection string with Datasource and Initial Catalog. I logged in to the DB machine, opened SQLSERVER users: the tfssetup user is there with sysadmin and owner of relevant instances. I also added the domain\MyUser and added admin privileges (but the error persists).
I also installed SSMS on TFS machine & was able to connect to DB server using both domain\MyUser and domain\tfssetup and view tables.
This error did not happen in the past. This error didn't happen when branching a different location in the source control ($/Project1/Main vs $/Project2/Main) beforehand. The Source Control Explorer appears to show OK (so TFS is working). Using Visual Studio 2013. TFS 2017. AFAIK Virtual Machines were not moved, IP address were not changed. Using vSphere it seems there is enough disk space for both TFS and DB machines. The error appears after ~4 seconds.
What else can be tried?
Looking in the TFS SQLSERVER log there was a "SERVER ASSERTION" error and this was the cause for the TFS generic error.
In my case the error was very similiar to the one here. CHECKDB and updating to the latest service pack didn't help. What helped was changing the recovery mode to full as recommended in that thread.

Upgrading TFS2012.2 to TFS2012.3

I'm trying to upgrade from TFS2012.2 to TFS2012.3.
I downloaded the ISO, ran the tfs_server.exe, and after a few reboots, I'm prompted with the Upgrade Wizard.
On step two(2) "Specify a Team Foundation Server configuration database to upgrade", I need to specify a SQL Server Instance. But when I click "List Available Databases", no database shows up in the list.
I tried different combinations of SQL Server Instance (servername, servername.domain, ., (local)) but all of them returns an empty list. Note SQL is not running named instance.
SQL is up and running and I can see the TFS databases (Tfs_Configuration, Tfs_DefaultCollection, Tfs_Warehouse).
Everything is running on this one machine.
Digging deeper, in the Event Logs (Team Foundation Server Build Service Events), I found this:
Exception Message: TF400686: The requested schema property TFS_SCHEMA_VERSION did not match the expected value. The server requires the Microsoft Team Foundation Server 2012 M49 schema but the database currently implements Microsoft Team Foundation Server 2012 M44 (QU2). (type DatabaseSchemaException)
I'm not sure if this is a clue or not.
Last point: If I go to the TFS Admin Console, when I click on Application Tier, the screen shows a "This features has been installed but needs to be configured. Click on Configure Installed Features to begin initial configuration."
Did I miss a step?

How can I create a local user profile for the anonymous user of an ASP.Net MVC application under IIS 7?

I've been experimenting with ASP.Net MVC, and have come across a problem that is probably not specifically MVC related. But I cannot get the authentication in the default MVC application (the one created by the wizard when you create a new MVC project) to work properly under IIS 7 on Windows 7.
If I run under the Visual Studio environment, it works, but if I switch the settings to run under IIS instead, I get the following exception trying to submit the login or registration:
Failed to generate a user instance of
SQL Server due to failure in
retrieving the user's local
application data path. Please make
sure the user has a local user profile
on the computer. The connection will
be closed.
I believe that this is because the website runs under my own account in Visual Studio, but under the IUSR account in IIS. Google searches on the exception message have been unhelpful so far.
So, can one create a local user profile for the IUSR account? If so, how? Is there something else I should be doing to get the SQLExpress engine to work under the anonymous account in IIS 7?
I also tried configuring the IIS website to use my account, but since this is my home machine, my account doesn't have a password, and it appears that IIS won't let a website be configured to use an account without a password. Or, since this is my first experience with IIS 7, and configuration feels very different than IIS 5/6, I am just missing the right setting that will let me configure the account to use for anonymous access.
EDIT: Some additional information. If I empty the App_Data folder and try again from IIS, SQLExpress attempts to create my database and fails, but the exception message has further information with the following suggestions.
SQLExpress database file auto-creation
error:
The connection string specifies a
local Sql Server Express instance
using a database location within the
applications App_Data directory. The
provider attempted to automatically
create the application services
database because the provider
determined that the database does not
exist. The following configuration
requirements are necessary to
successfully check for existence of
the application services database and
automatically create the application
services database:
If the applications App_Data directory does not already exist, the
web server account must have read and
write access to the applications
directory. This is necessary because
the web server account will
automatically create the App_Data
directory if it does not already
exist.
If the applications App_Data directory already exists, the web
server account only requires read and
write access to the applications
App_Data directory. This is necessary
because the web server account will
attempt to verify that the Sql Server
Express database already exists within
the applications App_Data directory.
Revoking read access on the App_Data
directory from the web server account
will prevent the provider from
correctly determining if the Sql
Server Express database already
exists. This will cause an error when
the provider attempts to create a
duplicate of an already existing
database. Write access is required
because the web server accounts
credentials are used when creating the
new database.
Sql Server Express must be installed on the machine.
The process identity for the web server account must have a local user
profile. See the readme document for
details on how to create a local user
profile for both machine and domain
accounts.
I've pretty extensively confirmed that the first three suggestions have been satisfied. The fourth seems to be the cause of my problems, but I can't figure out how to do that. And although the suggestion claims there is a readme document that describes it, I have not been able to find that document.
I got this problem as well running under medium trust. The process that creates the database requires at least High trust. You can check this by looking in your Web.Config for
<trust level="TrustLevel" />
If there is no trust specified in your Web.Config, try adding it and set it to either Full or High. If this doesn't work, there is a machine.config in your IIS which you would need to modify.
That being said, the best route I have found to solve this is to just use aspnet_regsql.exe to create the necessary tables and then change the connection string in your Web.Config to look at it directly.
I solved "The directory 'LocalApplicationData' does not exist." error when running an SSIS package through an SQL Job by ensuring the SQL SSIS service and SQL Server Agent service were running under the same account as the swql job was set to use!
This in my case was a domain account.
Solution: Try UNINSTALLING any updates before you started experiencing the issue. I spent countless hours - wasted hours that I will never get back in my life - reading and following every solution possible without success. I uninstalled all SQL Server updates and now everything works fine.

Can't create new project in Team Foundation Server

We're switching over to Team Foundation for our version control, and I have to learn it and set it up. Our IT guy did the installation of the both the data tier and the app tier, and he is of course convinced that it's right. However when i log in as tfssetup and try to create a new project, i get the error:
Error
Insufficient permissions to create a new SQL Server Reporting Services at tsttfsapp1.
Explanation
The permissions granted your user name and ID on the SQL Server Reporting Services at tsttfsapp1 do not allow you create a new project. You must be granted specific permission by the server administrator.
User Action
Contact the Administrator for the SQL Server Reporting Services at tsttfsapp1 and ask that the permission "Content Manager" be added to your user account
So i tried to log in to http://servername/Reports_TFS it asks for the credentials but doesn't accept them. Even stranger when i try to access it from a computer and user that aren't on the same domain as the app tier server, it doesn't ask for credentials and lets me right in. As far as i know the default name of the site should be Reports, not Reports_TFS is it possible that his renaming of that could be causing the problem?
tfssetup is definitely a "Content Manager" as far as i can tell, so i don't understand why we are getting this problem. Also any recommendation for good websites or books that can take a complete beginner and help me become an expert in 3 weeks (what's left of the 6 week time frame allowed for me to learn) would be appreciated.
Thanks
I'm not sure this will help, but we had this error at my place of work on our 2005 TFS server. We opened a ticket with Microsoft and sent them our TFS database. They were able to replicate the issue with the copy of the database. Somehow the TFS database had gotten into an invalid state, but they weren't able to determine how this happened or how to fix it. Unfortunately, this error kept us from being able to upgrade the server to TFS 2008 too. We ended up getting latest of all the code and adding it to source control on a new install of TFS. What a pain.
OK so it turns out it was only a problem because I was using a 2005 client with a 2008 server. A 2008 client has no problem creating a project on the 2008 server, but the 2005 client is not able to create a project on a 2008 server.

TFS cannot retrieve the list of team projects

When I trying to access to list of my project from TFS, the error message as following prompting out
TF31001: Team Foundation cannot retrieve the list of team projects from Team Foundation Server 10.0.80.50. The Team Foundation Server returned the following error: Error creating the Web Proxy specified in the 'system.net/defaultProxy' configuration section..
Does anyone facing this problem before and how do you solve it?
Thanks in advance
I got the same error out of sudden. Spent some time with my colleagues playing with different ways of launching Visual Studio 2008 and its configuration settings. I have found a couple of ways to bypass this error, although still don’t know what the original cause is. 1) Start VS with command line like this: devenv.exe /resetaddin. 2) Comment out the system.net setting within the devenv.exe.config. Like this:
<system.net>
<!-- <settings>
<ipv6 enabled="true"/>
</settings>
-->
</system.net>
They both work. I found the second option is more continent. Without this ipv6 setting I am not sure what else may be affected. But, at least I can make an emergency connection to my TFS server to check-in some files.
Team Explorer connects via web service to TFS. It sounds like you have a config issue with the proxy settings in IE that is preventing you from connecting to your server.
Try navigating to one of the web services directly using IE (e.g. http://yourtfsservername:8080/Services/v1.0/ServerStatus.asmx) and see if you get an error. If so, check your proxy settings - if they look OK, see if you can exclude the TFS server from being accessed via the proxy and go direct instead.
John Cheng's answer was so helpful. I changed the devenv.exe.config file like he mentioned and was able to connect to TFS. Before that, I had even tried re-installing Team Explorer to no benefit.

Resources