问题标签 [database-migration]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
4 回答
9597 浏览

sql-server - 将 SQL2000 数据库迁移到另一台机器上的 SQL2005

几天来,我一直在用这个应用程序迁移来打败自己。我拥有的是一个由 MSSQL Server 2000 支持的旧应用程序,它正在升级到运行 SMSQL Server 2005 的 Windows 2003 Server。我对 SQL Server 知之甚少,但显然还不够。

我尝试通过转到数据库-> [数据库]->所有任务->备份数据库...,选择“完整”并保存文件来备份旧服务器上的数据库。我将该备份文件移至新服务器并尝试进行还原,但它抱怨说它正在旧服务器上的位置寻找 [Database].mdf 文件。

所以然后我尝试做一个导出数据,选择本地 SQL 2000 数据库,将它指向另一台机器上的新 SQL 2005 数据库,它一直到最后并死去抱怨其中一个表的方式是被加入。

然后我尝试在 2000 框上执行“生成 SQL”命令并在 SQL 2005 下运行该命令。看起来有很多外部连接使用 SQL Server 2005 不再支持的旧 *= 语法,这是一个供应商数据库,不知道他们设置这些表时的真正意图是什么。

有没有其他方法可以尝试迁移这个数据库?

0 投票
3 回答
1939 浏览

.net - .NET 数据库迁移工具包

我目前的宠物项目是一个独立于语言的数据库迁移库( Google Code 上的Wizardby)。它非常受 ActiveRecord Migrations 的启发,但也有一些细节。例如,执行一些基本的“类型推断”,因此您不必指定 FK 列的类型。仅给定“升级”序列即可生成“降级”脚本也足够聪明。尽管迁移是用特殊的 DSL 编写的,但该工具主要针对 .NET 项目。它也是独立于数据库平台的。

下面是语法的快速浏览:

我知道那里有其他迁移库,但是,嘿,这是一个宠物项目!

The question is: what features do you expect from database migration toolkits in general and what can you say about this particular puppy syntax-wise?

0 投票
4 回答
926 浏览

deployment - 数据库迁移:使用构建脚本管理还是在应用启动时自动迁移?

我正在为新的 Web 应用程序开发部署系统,我想知道管理数据库迁移过程中的最佳点在哪里(如何进行迁移的问题完全是另一个问题)。

似乎有两种方法可以去:

  1. 使用可以从命令行手动运行或作为自动部署/构建过程的一部分的迁移脚本
  2. 在应用程序启动时运行迁移(我使用的是 ASP.NET,所以这可以很容易地完成,而不会导致长时间运行的用户请求)

有没有人对这些方法有任何建议/见解/经验?还有其他建议吗?

我明白为什么#1 可能更有吸引力——它让我可以完全控制数据库的更新时间。但是,我非常喜欢 #2,因为它允许我在部署之间快速迭代并减少手动过程。#2 也可以在我的开发机器上使用,以允许更快的迭代。嗯,开始认为拥有两者可能是一件好事......

0 投票
4 回答
1335 浏览

sql-server - 管理更新多个数据库的迁移的最佳实践?

我的团队正在评估用于管理数据库迁移/数据库重构的工具和流程,正如 Martin Fowler、Pramod Sadalage 等所描述的那样。人。我们对自动化、可重复、可测试的流程感兴趣,因此我们对每次部署时手动运行 SQL Compare 之类的技术不感兴趣。我们目前正在使用 CruiseControl.NET 进行持续集成。

我们的生产环境有多个 SQL Server 2000 数据库服务器,它们之间具有复制功能。因此,我们的迁移将对源数据库服务器和目标数据库服务器上的模式进行更改。

要使用 dbdeploy 等工具执行此类迁移,我们似乎需要针对其中一台服务器运行迁移,并且必须将其他服务器添加为链接服务器。因此,针对主服务器运行的单个脚本可以针对任何链接服务器执行 DDL。

我的问题是:这种方法会被认为是最佳实践,还是有更好的技术来应用涉及多个数据库服务器的迁移?

0 投票
3 回答
1630 浏览

sql-server - 如何将对生产数据库所做的架构更改合并到我的迁移管理流程中?

我的团队正在评估 dbdeploy 以管理数据库迁移。据我了解,使用迁移需要一些流程纪律,即为每次更改编写迁移,并且要达到生产,必须将其从本地提升到开发,再从测试到生产。

有时,我们的生产 DBA 团队会直接对生产环境进行模式更改。如果我们编写一个新的迁移来针对我们当前的数据库开发版本进行更改,那么在将迁移部署到生产之前,将永远不会针对已经包含更改的模式测试该迁移。这让我很担心。

另一种选择是直接对基线模式进行更改,然后在所有环境(本地、开发、测试、阶段)中重建数据库。这种方法让我很担心,因为新模式可能会导致一个或多个迁移中断。

人们目前如何处理这种情况?

0 投票
4 回答
1777 浏览

.net - 如何为最终用户自动升级部署的数据库

我已经阅读了很多关于如何为开发人员升级数据库等的问题,并且我倾向于使用migratordotnet或类似的东西,但似乎升级需要使用 MSBuild 或 NAnt 之类的东西来运行。这些不是我期望最终用户安装的东西。

理想情况下,这个过程应该是用户安装新版本的应用程序,启动它,它会处理幕后的一切。根据这个过程需要多长时间,我可能会或可能不会显示进度条,然后它就完成了,使用该应用程序通常会幸福地不知道有诸如 sql、msbuild、关系数据库之类的东西,甚至是任何远程技术探测的东西。

其他杂项信息:

安装了 xcopy 的 SQLCE。

很可能不应该太大的单用户数据库。

随着程序通过用户对请求功能的输入而不断发展,发布将相当频繁。

初始版本尚未完成,因此无需担心任何当前数据,只需要初始和后续版本的无痛过程(对于最终用户,最好对我来说也是如此!)。

使用 LINQ to SQL 作为 ORM。(我是否先升级数据库然后
运行 ​​SQLMetal 来重新生成
类?)

做 TDD(第一次)并想知道如何自动化测试升级。

Visual C# Express 所以没有 VS 插件。

编辑:

我猜 MSBuild 附带 .NET Framework 而不仅仅是 VS,所以我想这不是问题,我可以使用 migratordotnet 并直接使用 msbuild。如果需要,我可能会重定向控制台输出并进行一些简单的字符串解析以获取进度信息,但如果它看起来需要足够长的时间来保证显示实际进度而不仅仅是一个选框进度条,我会诉诸于此。

0 投票
4 回答
3554 浏览

mysql - 使用 MS SQL Express 登录:成功!迁移工具包登录:失败?

(我在 MySQL 论坛上的相同帖子没有回复,所以我希望在这里有更好的运气)

我正在尝试为朋友迁移 MS SQL 数据库。我没有对机器的物理访问权限,也没有管理员访问权限——只是一个读/写用户。

在 XP 中使用“SQL Server Management Express”,我可以轻松地使用 IP/用户/密码登录。我可以浏览表格,运行查询。简单的。

当我启动迁移工具包,选择 MS SQL 并尝试连接时,我收到以下错误:

---- 连接到源数据库并检索模式名称。正在初始化 JDBC 驱动程序...驱动程序类 MS SQL JDBC 驱动程序打开连接...连接 jdbc:jtds:sqlserver://MYSERVERIP:1433/MYDATABASE;user=MYUSERNAME;password=MYPASSWORD;charset=utf-8;domain= 列表的架构名称无法检索(错误:0)。ReverseEngineeringMssql.getSchemata:用户“MYUSERNAME”登录失败。详细信息:net.sourceforge.jtds.jdbc.SQLDiagnostic.addDiagnostic(SQLDiagnostic.java:365) net.sourceforge.jtds.jdbc.TdsCore.tdsErrorToken(TdsCore.java:2781) net.sourceforge.jtds.jdbc.TdsCore.nextToken( TdsCore.java:2224) net.sourceforge.jtds.jdbc.TdsCore.login(TdsCore.java:599) net.sourceforge.jtds.jdbc.ConnectionJDBC2.(ConnectionJDBC2.java:331) net.sourceforge.jtds.jdbc.ConnectionJDBC3 .(ConnectionJDBC3.java:50) 网络。


有任何想法吗?我已经三重检查了登录详细信息,没有骰子。我缺司机吗?服务器设置很奇怪吗?不知道从这里去哪里。

提前致谢。

更新: 我下载并运行了 dbVisualizer(它也使用 JDBC)并使用相同的 SQL 身份验证信息连接良好......这告诉我它不是服务器,并且没有花哨的 MSFT 东西。

仍然不知道下一步该做什么,虽然......

0 投票
2 回答
429 浏览

java - Java ResultSet 限制的任何解决方法

我正在做一个数据库迁移工作。我必须将 MSSQL 中的数据库复制到 MySql 数据库。可以想出一个小的 java 实用程序来将表结构从 MSSQL 复制到 MySql 数据库。现在我必须将所有数据从 MSSQL 复制到 MySql。我尝试在 java 中使用结果集从表中获取所有数据,但它只能获取一小部分数据。是否有任何替代解决方案可以将所有数据从表中获取到结果集或我可能使用的其他类似结构,以将相同的数据插入 mysql Db。一个表有超过 25,00,000 条记录。

0 投票
1 回答
3031 浏览

sql-server-2008 - 从 SQL Server 2000 迁移到 SQL Server 2008

我需要将 SQL Server 2000 数据库迁移到 SQL Server 2008,并且需要为此迁移制定一个通用策略。需要一个有序的活动列表,以实现这一目标。

0 投票
3 回答
977 浏览

drupal - Drupal 6 - 迁移后的权限问题

我的数据库非常大,在看门狗、访问日志等表中有很多测试数据。我在上传时遇到了一些麻烦。然后我开始深入研究数据库并开始随意截断表。我想我应该使用更多的自由裁量权,因为我在新的生产服务器上遇到了问题。

主要问题是匿名用户无法查看任何内容,即使在“权限”中,他们被设置为访问内容。此外,他们肯定能够在迁移之前查看内容,所以它必须是我破解的表之一。因为其他一切都在顺利进行。

任何人都知道哪个表,如果被截断,可能会产生这样的症状?

更新: - 我检查了我有用户 0 - 这可能会产生相同的症状。- 问题仍然存在..