在TFS中映射本地目录时发生数据库错误(SQL错误18054)

a d*_*per 7 sql-server error-handling tfs

我正在使用VS2010作为TFS实例的客户端.我创建了一个工作区,需要将TFS目录映射到本地目录 - 让我们调用本地目录" D:\ aaa\bbb\ccc\ddd ".当我导航到"管理工作区"并单击"编辑"将本地目录更改为此路径时,出现以下错误:1

当我尝试映射时出现此错误:" D:\ aaa "," D:\ aaa\bbb "," D:\ aaa\bbb\ccc ".

现在,如果我创建一个名为" D:\ aaa\bbb\ccc1\ddd " 的文件夹,映射有效,我没有收到此错误.

有人可以帮忙吗?我已经把头发拉了一天左右.

谢谢.

[EDIT01:我尝试映射D:\驱动器下的所有其他文件夹,只有一个其他文件夹无法映射.我收到与" D:\ aaa\bbb\ccc\ddd "] 相同的错误

Gra*_*day 11

SQL错误

首先,您不应该从TFS接收SQL错误18054(或任何SQL错误).

您应该让TFS管理员连接到托管masterTFS服务器数据库的SQL 服务器并运行以下查询:

select * from master.dbo.sysmessages where error > 50000
Run Code Online (Sandbox Code Playgroud)

如果这是TFS2010服务器,您的TFS管理员可能能够使用TFSConfig PrepSql重新安装错误消息.

如果这是TFS2008服务器,则TFS管理员需要打开"添加/删除程序"并在TFS上运行修复.

你的实际问题

这听起来很明显,两个本地路径不能指向同一工作区的存储库中的相同位置.然而,捕获很多人不知道的那个是你不能有两个存储库路径映射到同一台计算机上的一个本地路径.

在TFS中,您不能有两个具有重叠映射的文件夹.既然D:\aaa\bbb\ccc\ddd是子文件夹 D:\aaa,那么就无法添加它.

但是,您可以做的一件事是隐藏文件夹,因此它们不是工作区映射的一部分.在您的情况下,您可能希望D:\aaa为该目录中的所有其他子文件夹映射并添加一个斗篷,除了D:\aaa\bbb.