3

我有一个 Team Foundation Server 2010 设置,其中一台服务器上有 TFS,另一台服务器上有数据库。最近带有数据库的服务器完全崩溃了,我不得不更换它。我从备份中恢复了数据库,并将 tfs 的 web.config 文件更改为指向新服务器,并且几乎一切似乎都在工作。我可以连接到 tfs、签出/签入、创建工作项等。但是,我无法对构建进行排队,并且事件日志中充满了错误,指出 TfsJobAgent 无法连接到数据库。我想知道是否有人知道是否有办法将 TfsJobAgent 配置为指向我的新数据库。事件日志详细信息如下(TCOSRV1 是运行 tfs 的机器,而不是数据库服务器)。任何帮助将不胜感激。

TF53010:Team Foundation 组件或扩展中出现以下错误:日期 (UTC):2013 年 7 月 11 日下午 4:55:27 机器:TCOSRV1 应用程序域:TfsJobAgent.exe 程序集:Microsoft.TeamFoundation.Framework.Server,版本=10.0.0.0,文化=中性,PublicKeyToken=b03f5f7f11d50a3a;v2.0.50727 服务主机:进程详细信息:进程名称:TFSJobAgent 进程 ID:3520 线程 ID:5304 帐户名称:NT AUTHORITY\NETWORK SERVICE

详细消息:作业代理执行期间出错。将重试该操作。接下来五分钟内的类似错误可能不会被记录。异常消息:TF246017:Team Foundation Server 无法连接到数据库。验证托管数据库的服务器是否可操作,并且网络问题是否不会阻止与服务器的通信。(类型数据库连接异常)

异常堆栈跟踪:在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.TranslateException(SqlException sqlException) 在 Microsoft.TeamFoundation.Framework.Server 的 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.TranslateException(Int32 errorNumber, SqlException sqlException, SqlError sqlError) .TeamFoundationSqlResourceComponent.MapException(SqlException ex, QueryExecutionState queryState) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.HandleException(SqlException ex) 在 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute(ExecuteType executeType, CommandBehavior 行为) 在 Microsoft.TeamFoundation .Framework.Server.ExtendedAttributeComponent。Microsoft.TeamFoundation.Framework.Server.DatabaseConnectionValidator.ValidateApplicationConfiguration(字符串 configConnectionString,Guid configInstanceId,List`1 sqlInstances,字符串 analysisInstance , Microsoft.TeamFoundation.Framework.Server.ApplicationServiceHost..ctor (Guid instanceId, String connectionString, String physicalDirectory, String plugInDirectory, String virtualDirectory,Boolean failOnInvalidConfiguration) 在 Microsoft.TeamFoundation.Framework.Server.JobApplication.SetupInternal() 在 Microsoft.TeamFoundation.Framework.Server.JobServiceUtil.RetryOperationsUntilSuccessful(RetryOperations 操作)

内部异常详细信息:

异常消息:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:SQL 网络接口,错误:26 - 错误定位服务器/指定的实例)(类型 SqlException)SQL 异常类:20 SQL 异常号:-1 SQL 异常过程:SQL 异常行号:0 SQL 异常服务器:SQL 异常状态: 0 SQL 错误:

异常数据字典:HelpLink.ProdName = Microsoft SQL Server HelpLink.EvtSrc = MSSQLServer HelpLink.EvtID = -1 HelpLink.BaseHelpUrl = http://go.microsoft.com/fwlink HelpLink.LinkId = 20476

异常堆栈跟踪:在 System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔 callerHasConnectionLock,布尔 asyncClose)处 System.Data.SqlClient. System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,字符串 newPassword,SecureString newSecurePassword,Boolean在 System.Data.SqlClient.SqlInternalConnectionTds 处忽略 SniOpenTimeout、TimeoutTimer 超时、布尔值 withFailover)。在 System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer 超时,SqlConnectionString connectionOptions,SqlCredential 凭据,字符串 newPassword,SecureString newSecurePassword,布尔值时的 LoginNoFailover(ServerInfo serverInfo,String newPassword,SecureString newSecurePassword,Boolean redirectedUserInstance,SqlConnectionString connectionOptions,SqlCredential credential,TimeoutTimer 超时) redirectedUserInstance)在 System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity 身份,SqlConnectionString connectionOptions,SqlCredential 凭据,对象 providerInfo,字符串 newPassword,SecureString newSecurePassword,布尔重定向用户实例,SqlConnectionString userConnectionOptions)在 System.Data.SqlClient.SqlConnectionFactory。在 System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) 在 System.Data.ProviderBase 的 CreateConnection(DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)。 DbConnectionPool.CreateObject(DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions) at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)在 System.Data。System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) 在 System.Data.ProviderBase.DbConnectionClosed 的 ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)。 TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource1 retry, DbConnectionOptions userOptions) at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) at System.Data.SqlClient.SqlConnection.Open() at Microsoft.TeamFoundation.Framework.Server .TeamFoundationSqlResourceComponent.Execute(ExecuteType executeType,CommandBehavior 行为)命令行为行为)

4

1 回答 1

1

恢复到新的数据层(当您在服务器之间移动时调用它)需要遵循相当广泛的过程,以确保正确更新所有设置。该过程与您用于从一个 SQL Server 迁移到另一个 SQL Server 的过程相同。

完整的过程在这里解释:

于 2013-07-11T19:40:23.657 回答