我们有一台运行teamcity 4.0.2且使用SqlServer 2005作为数据存储区的机器。机器崩溃了,但我们还有数据库。如何将新创建的teamcity实例连接到数据库?

我找到了有关将现有teamcity安装迁移到新数据库的信息。但这不是我想要的。

编辑: 我以为数据库包含项目的配置。事实并非如此:它位于Teamcity数据目录的配置文件夹(.BuildServer)

我只需要将该文件夹的内容复制到我的新安装中。我想我的问题是错的。无论如何,我保持原样,因为可能有其他人有相同的想法。

有帮助吗?

解决方案

  1. 下载 MSSQL驱动程序并将其复制到TeamCity安装的WEB-INF / lib (如果你正在运行Windows,可能在程序文件下)。

  2. 在配置目录中创建一个名为database.properties的文件(在Windows下,通常是Documents and settings \ user_who_ran_install.buildserver \ config),并将以下行放入其中:

    DRIVERNAME = net.sourceforge.jtds.jdbc.Driver 的ConnectionURL = JDBC:JTDS:SQLSERVER://:1433 / connectionProperties.user = connectionProperties.password =

    MAXCONNECTIONS = 50 poolPreparedStatements =真

  3. 重新启动TeamCity Web Server服务。有一个非零的机会它不会恢复或无法到达。按照此处的说明操作,你应该没事。如果TeamCity出于某种原因决定重新安装所有数据对象,请确保备份数据库。

其他提示

使用内部数据库启动TeamCity,以便重新创建TeamCity配置目录(除非您已经备份了该目录)。

然后关闭TeamCity并复制数据库驱动程序(最新版本为 jtds-1.2.2.jar TeamCity \ webapps \ ROOT \ WEB-INF \ lib 并在 .BuildServer \ config \ database.properties 中创建database.properties文件:

driverName=net.sourceforge.jtds.jdbc.Driver
connectionUrl=jdbc:jtds:sqlserver://192.168.1.99:1433/TeamCityDB
connectionProperties.user=teamcity_user
connectionProperties.password=teamcity_passwd 
maxConnections=50
poolPreparedStatements=true

重启TeamCity,你应该好好去。

我不知道团队城市是如何运作的,所以我可能没有最好的答案。但是,您是否可以尝试备份数据库,重新安装团队城市,然后在teamcity创建的实例上恢复备份数据库?

我在TeamCity 9.1和SQL Server 2012上遇到了类似的问题。我们的TeamCity还可以,但db无法访问。我们必须将db的备份副本还原到另一台服务器,然后将TeamCity指向它。为了将TeamCity指向新服务器上的数据库,我们需要修改C:\ programData \ JetBrains \ TeamCity \ config中的database.properties文件。然后在构建计算机上重新启动TeamCity服务。之后,TeamCity能够很好地完成。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top