我有一个Team Foundation Server 2010安装程序,其中我在一台服务器上安装了TFS,在另一台服务器上安装了数据库。最近,数据库的服务器完全崩溃,我不得不更换它。我从备份中恢复了数据库,并将tfs的web.config文件更改为指向新服务器,并且大多数操作似乎都正常。我可以连接到tfs,检查/签入,创建工作项等。但是,我无法对构建进行排队,并且事件日志中充满了错误,说TfsJobAgent无法连接到数据库。我想知道是否有人知道是否有办法配置TfsJobAgent指向我的新数据库。事件日志详细信息如下(TCOSRV1是运行tfs的计算机,而不是数据库服务器)。任何帮助将不胜感激。
TF53010:Team Foundation中发生以下错误 组件或扩展:日期(UTC):7/11/2013 4:55:27 PM机器: TCOSRV1应用程序域:TfsJobAgent.exe程序集: Microsoft.TeamFoundation.Framework.Server,Version = 10.0.0.0, Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a; v2.0.50727服务 主机:流程详细信息:流程名称:TFSJobAgent流程ID:3520 线程ID:5304账户名称:NT AUTHORITY \ NETWORK SERVICE
详细消息:作业代理执行期间出错。该 将重试操作。在接下来的五分钟内可能出现类似错误 不记录。异常消息:TF246017:Team Foundation Server 无法连接到数据库。验证服务器是否是 托管数据库是可操作的,而网络问题则不然 阻止与服务器的通信。 (类型 DatabaseConnectionException)
异常堆栈跟踪:at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.TranslateException(的Int32 errorNumber,SqlException sqlException,SqlError sqlError)at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.TranslateException(SQLEXCEPTION sqlException)at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.MapException(SQLEXCEPTION ex,QueryExecutionState queryState)at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.HandleException(SQLEXCEPTION ex)at Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute(ExecuteType executeType,CommandBehavior behavior)at Microsoft.TeamFoundation.Framework.Server.ExtendedAttributeComponent.ReadDatabaseAttribute(字符串 attributeName)at Microsoft.TeamFoundation.Framework.Server.DatabaseConnectionValidator.ValidateDatabaseInstanceStamp(字符串 configConnectionString,Guid configInstanceId)at Microsoft.TeamFoundation.Framework.Server.DatabaseConnectionValidator.ValidateApplicationConfiguration(字符串 configConnectionString,Guid configInstanceId,List`1 sqlInstances, String analysisInstance,String analysisDatabaseName,Boolean ignoreAnalysisDatasourceUpdateErrors,Boolean autoFixConfiguration, Boolean fullValidation,DatabaseVerificationDatabaseTypes continueOnMissingDatabaseTypes)at Microsoft.TeamFoundation.Framework.Server.ApplicationServiceHost..ctor(GUID instanceId,String connectionString,String physicalDirectory,String plugInDirectory,String virtualDirectory,Boolean failOnInvalidConfiguration)at 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
异常堆栈跟踪:at System.Data.SqlClient.SqlInternalConnection.OnError(SQLEXCEPTION exception,Boolean breakConnection,Action1 wrapCloseInAction)at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,Boolean callerHasConnectionLock,Boolean asyncClose)at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler,Boolean ignoreSniOpenTimeout, Int64 timerExpire,布尔加密,布尔值trustServerCert,布尔值 integratedSecurity,Boolean withFailover)at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo,String newPassword,SecureString newSecurePassword, Boolean ignoreSniOpenTimeout,TimeoutTimer timeout,Boolean withFailover)at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo,String newPassword,SecureString newSecurePassword, Boolean redirectedUserInstance,SqlConnectionString connectionOptions, SqlCredential凭据,TimeoutTimer超时)at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout,SqlConnectionString connectionOptions,SqlCredential credential,String newPassword,SecureString newSecurePassword, Boolean redirectedUserInstance)at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity,SqlConnectionString connectionOptions,SqlCredential 凭证,Object providerInfo,String newPassword,SecureString newSecurePassword,Boolean redirectedUserInstance,SqlConnectionString userConnectionOptions)at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options,DbConnectionPoolKey poolKey,Object poolGroupProviderInfo, DbConnectionPool池,DbConnection owningConnection, DbConnectionOptions userOptions)at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(类DBConnectionPool pool,DbConnectionOptions选项,DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)at System.Data.ProviderBase.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&连接) System.Data.ProviderBase.DbConnectionPool.TryGetConnection(的DbConnection owningObject,TaskCompletionSource1 retry,DbConnectionOptions userOptions,DbConnectionInternal&连接) System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(的DbConnection owningConnection,TaskCompletionSource1重试,DbConnectionOptions userOptions,DbConnectionInternal&连接) System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(的DbConnection outerConnection,DbConnectionFactory connectionFactory, TaskCompletionSource1重试,DbConnectionOptions userOptions)at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 重试)在System.Data.SqlClient.SqlConnection.Open()处 Microsoft.TeamFoundation.Framework.Server.TeamFoundationSqlResourceComponent.Execute(ExecuteType executeType,CommandBehavior行为)
答案 0 :(得分:0)
恢复到新的数据层(在服务器之间移动时调用)需要遵循相当广泛的过程,以确保所有设置都得到适当更新。对于您用于从一个SQL Server迁移到另一个SQL Server的过程,该过程将是相同的。
这里解释了整个过程: