Database error occurred (SQL error 18054) when map

2019-04-26 01:04发布

问题:

I'm using VS2010 as a client for a TFS instance. I created a workspace, and need to map a TFS directory to a local directory - let's call the local directory "D:\aaa\bbb\ccc\ddd". When I navigate to "Manage Workspaces" and click "edit" to change the local directory to this path, I am presented with the following error: 1

This error occurs when I try to map: "D:\aaa", "D:\aaa\bbb", "D:\aaa\bbb\ccc".

Now, if I create a folder called: "D:\aaa\bbb\ccc1\ddd", the mapping works, and I do not receive this error.

Can anyone help? I've been pulling my hair out for about a day over this.

Thank you.

[EDIT01: I tried mapping all other folders under the D:\ drive, and only one other folder fails the mapping. I receive the same error as with "D:\aaa\bbb\ccc\ddd" ]

回答1:

SQL Errors

First of all, you should not be receiving SQL Error 18054 (or any SQL errors) from TFS.

You should have your TFS administrator connect to the SQL server that hosts the master DB for your TFS server and run the following query:

select * from master.dbo.sysmessages where error > 50000

If this is a TFS2010 server, your TFS administrator may be able to use TFSConfig PrepSql to re-install the error messages.

If this is a TFS2008 server, your TFS administrator will need to open Add/Remove programs and run a repair on TFS.

Your actual problem

This sounds obvious at first, two local paths cannot point to the same place in the repository for the same workspace. However, the one that catches a lot of folks un-aware is that you cannot have two repository paths mapped to one local path on the same computer.

In TFS, you cannot have two folders with overlapping mappings. Since D:\aaa\bbb\ccc\ddd is a sub-folder of D:\aaa, then you cannot add it.

One thing you can do though, is cloak folders so that they aren't part of the workspace mappings. In your case, you might want to map D:\aaa and add a cloak for all the other subfolders in that directory, except for D:\aaa\bbb.