ChangeServerID 命令
ChangeServerID 命令可更改与 Visual Studio Team Foundation Server (TFS) 数据库相关联的全局通用标识 (GUIDs)。GUID 在 TFS 的部署中必须是唯一的。如果多个数据库具有相同的 GUID,您的部署可能变得不稳定或不可用。您可以更改该部署中的配置数据库的 GUID 和/或所有团队项目集合数据库的 GUID。尽管您在日常操作中通常不会使用此命令,但您可能在下列情况下使用此命令:
您的部署已还原到新的硬件、旧的部署仍然运行,并且您要使用这两种部署。这种情形有时被称为克隆服务器。
需要在重复部署中测试软件更新或硬件配置,以便您不会遇到中断生产环境的风险。
需要在测试实验室或单独的环境中完整地测试数据库到新硬件的还原,以确保您的部署可以还原。
将集合数据库移到已保留其 GUID 的另一个部署之后,必须为此集合数据库重置该 GUID。
说明 ChangeServerID 命令是不可逆的。在更改 GUID 之后,您不能撤消该更改,除非还原该数据库的早期版本。
需要的权限
若要使用 ChangeServerID 命令,您必须是**“Team Foundation Administrators (Team Foundation 管理员)”**安全组的成员并且必须是 Team Foundation Server 使用的任意 SQL Server 数据库的 sysadmin 安全组的成员。有关更多信息,请参见Team Foundation Server 权限。
说明 |
---|
即使您是以管理凭据登录,也必须使用提升的命令提示窗口执行此功能。 |
TFSConfig ChangeServerID /SQLInstance:ServerName] /DatabaseName:ConfigurationDatabaseName [/ProjectCollectionsOnly] [/ConfigDBOnly] [/usesqlalwayson]
参数
占位符 |
描述 |
---|---|
ServerName |
指定 TFS 承载配置数据库的服务器的名称以及您要使用的默认实例以外的实例的名称。如果指定一个实例,则您必须使用以下格式: 服务器名称\实例名称 |
DatabaseName |
指定配置数据库的名称。默认情况下,此数据库的名称为 TFS_ConfigurationDB。 |
选项 |
描述 |
---|---|
/SQLInstance:ServerName |
必需。指定运行 SQL Server 的服务器的名称以及实例名称(如果您要使用默认实例之外的实例)。如果指定一个实例,则您必须使用以下格式: 服务器名称\实例名称 |
/DatabaseName:DatabaseName |
必需。指定 TFS 的配置数据库的名称。 |
/ProjectCollectionsOnly |
指定将仅更改集合的 GUID。 |
/ConfigDBOnly |
指定将仅更改配置数据库的 GUID。 |
/usesqlalwayson |
指定数据库是 SQL Sever 中 AlwaysOn 可用性组的一部分。如果配置成功,则此选项将在连接字符串中设置 MultiSubnetFailover。 有关更多信息,请参见 AlwaysOn Availability Groups (SQL Server)(AlwaysOn 可用性组 (SQL Server))。 |
备注
使用 Team Foundation Server 命令来创建用于测试或克隆目的 ChangeServerID 部署的离散重复。在使用 ChangeServerID 命令之后,您必须先指示客户端创建与该更改的服务器的连接才能使用。
示例
下面的示例演示如何更改 TFS 部署中所有数据库的 GUID,其中配置数据库承载于 SQL Server 中命名实例“TeamDatabases”上名为“ContosoMain”的服务器中。
说明 |
---|
仅适用于阐述的虚构示例。没有实际关联是预期或推断的。 |
TFSConfig ChangeServerID /SQLInstance:ContosoMain\TeamDatabases /DatabaseName:TFS_ConfigurationDB
请参见
任务
Move a Team Project Collection
Split a Team Project Collection