标签: migration

如何将数据库从一台服务器移动到另一台服务器?

如何将 MySQL 表从一台物理服务器移动到另一台物理服务器?

例如这个确切的场景: 我有一个使用 innodb 表的 MySQL 服务器,大小约为 20GB。

我想将其移至新服务器,最有效的方法是什么?

mysql mysqldump backup migration

153
推荐指数
8
解决办法
28万
查看次数

SQL Server 就地升级是否像过去一样不明智?

自 SQL Server 6.5 以来,我一直在使用 SQL Server,但仍然萦绕在我脑海中的旧建议是永远不要进行就地升级。

我目前正在将我的 2008 R2 DEV 和 TEST 系统升级到 SQL Server 2012,并且需要使用相同的硬件。不必恢复我的报告服务配置的想法非常有吸引力,我真的很聪明。不涉及分析服务或任何不寻常或非标准的东西——只安装了数据库引擎和报告服务。

有没有人遇到过就地升级的严重问题?或者我应该重新评估我对就地升级的立场?

sql-server migration ssrs upgrade sql-server-2012

80
推荐指数
2
解决办法
3万
查看次数

无需停机即可更改架构和将数据迁移到实时数据库的最佳实践?

如何在不停机的情况下对实时数据库进行架构更改?

例如,假设我有一个 PostgreSQL 数据库,其中包含一个包含各种用户数据(如电子邮件地址等)的表,所有这些数据都与特定用户相关联。如果我想将电子邮件地址移动到一个新的专用表,我必须更改架构,然后将电子邮件数据迁移到新表。如何在不停止写入原始表的情况下完成此操作?当然,当数据从旧表写入新表时,新数据会继续写入旧表而被遗漏,对吗?

我想这个问题经常出现,但我找不到任何标准的解决方案来处理它。

这篇文章解决了这个问题,但我并没有真正理解第3步。他说要写入两个表,然后将旧数据从第一个表迁移到新表。您如何确保只迁移旧数据?

(我在 Heroku 上使用PostgreSQL。)

schema postgresql migration best-practices deployment

54
推荐指数
1
解决办法
3万
查看次数

我可以编写可移植的 SQL 语句吗?

我想知道是否可以编写与大多数或所有数据库 100% 互操作的 SQL 语句,包括:

  • MariaDB/MySQL/Percona
  • Postgres
  • 微软 SQL
  • 甲骨文
  • SQLite

(例如,我可以只遵循特定的 SQL 标准吗?例如,是否有类似于 SQL 的 POSIX 合规性标准?)

如果是这样,是否有任何可用的 linting 工具可以在 git post-receive 挂钩中使用以拒绝不遵循此类标准或不合规 SQL 代码的 SQL 使用,而不必尝试在所有数据库上提交代码?

migration

36
推荐指数
2
解决办法
6058
查看次数

如何将数据库从 SQL Server 2012 移动到 SQL Server 2005

如果我需要将数据库从 SQL Server 2012(32 位)移动到 SQL Server 2005(64 位),我有哪些选择?

我知道我不能:

  • 在 SQL Server 2005 上还原数据库的备份
  • 分离和附加

我知道我可以:

  • 使用导入数据向导,我在一个数据库上尝试过,但它只移动数据,即使那样也很麻烦,因为我需要做很多工作来创建临时表来维护标识列,重新创建所有 FK、索引等。

有没有更简单的选择?

sql-server migration downgrade

34
推荐指数
2
解决办法
2万
查看次数

旧数据归档

由于我们的数据库变得太大,我们目前遇到了一些性能问题。有过去 10 年存储的数据,我看不出为什么必须将 2 年以上的数据与新数据存储在相同的表中。

现在,由于我在管理数据库方面没有非常丰富的经验,我正在寻找存档旧数据的最佳方法。


信息

  • 数据库中总共有大约 310'000'000 条记录。

  • 数据库需要 250 GB 的硬盘空间。

  • 服务器版本是 SQL Server 2008,兼容级别为 SQL Server 2005 (90),但我们计划很快升级到 SQL Server 2012

我想过两种可能:

新建数据库

创建类似于生产服务器上的数据库,并将所有旧数据插入新数据库中。

  • 缺点:由于我们的环境中不允许链接服务器,如果需要的话,很难加入旧数据

历史架构

使用与生产数据库中相同的表创建新模式 fe [hist]。将所有旧数据插入新模式中的这些新表中。

  • 优点:容易加入,如果将来需要旧数据


  • 您是否更喜欢其中一种解决方案?
    • 为什么?
  • 有没有更好的可能性?
  • 是否存在可以轻松完成此任务的现有工具?
  • 还有其他想法吗?

提前致谢

编辑

补充问题:

新创建的存档表是否也需要主键/外键?

或者他们应该只有列但没有键/约束?

sql-server migration

29
推荐指数
3
解决办法
5万
查看次数

您计划数据迁移的工作流程是什么?

很多次我在软件开发工作结束时被引入并被告知“好吧,我们已经有了所有这些新代码,它需要更改表并迁移数据”。

似乎每次都是一次性的,从臀部射门,最好的猜测场景。我觉得这是我作为 DBA 最弱的技能。

我想了解一些接近、管理和测试数据迁移的模式

请告诉我一些最佳实践和/或我可以从哪里获得学习材料以帮助我在这方面做得更好。

testing migration

24
推荐指数
3
解决办法
1058
查看次数

将 SQL Server 2000 数据库升级到 2008 R2 并启用新功能

我最近将 SQL Server 2000 数据库升级到 2008 R2。


我所做的是:

  1. 关闭旧机器上的 SQL Server 2000 (express) 服务,
  2. 将数据文件(mydatabase.mdfmydatabase.ldf)移动到新机器,
  3. 运行 SQL Server Management Studio 2008,
  4. 连接到本地数据库引擎,
  5. 将数据文件附加到数据库。
  6. 修改数据库兼容级别为SQL 2008(100)。

问题:我还应该做些什么来完成迁移?

我想要:

  1. 使用校验和和完整恢复模型等新功能,
  2. 使这个数据库与在 SQL 2008 R2 中创建的完全一样,
  3. 使该数据库完全兼容、正确并且非常适合新的 SQL 2008 R2 数据库引擎。

换句话说:我只想知道如何正确且完全地将旧的 SQL 2000 数据库转换为新的 2008 R2 数据库,保持冷静,一切都做得对,并对所有新功能感到满意。


我问这个问题是因为我在互联网上发现很多网站都说了很多不同的东西让我感到困惑:有人说需要重建索引,有人说要做其他事情......现在我什么都不知道,所以我想听听有经验的人的意见和清晰的分步说明。我在一家非常小的公司工作,我一个人,我不想把事情搞砸。


先生,您的回答给我留下了深刻的印象,我没想到这么多。


所以一些评论:

  1. 该数据库现已投入生产。正如我所说,它是使用 deattach-attach 方法升级的,正如我在第一篇文章中所描述的和 MSDN 上所述:http : //msdn.microsoft.com/en-us/library/ms189625.aspx 它必须快速完成,所以我被迫这样做。让我们忘记它有多么不合适,而专注于当前的情况。

  2. 用户/权限在这里不是问题 - 只有少数并且权限很简单。

  3. 使用数据库的应用程序兼容 SQL 2000 到 2012 年,所以这也不是问题。

  4. 数据库文件 (MDF) 不大 - 只有大约 1GB。


还有几个问题:

  1. 你推荐使用备份/恢复方法,但我按照上面写的做了,所以我现在会遇到什么问题吗?一切正常,没有任何问题。 …

migration sql-server-2000 sql-server-2008-r2

23
推荐指数
1
解决办法
5万
查看次数

通过网络以低停机时间迁移大型 SQL Server 数据库的最佳方法

问题定义

我们的数据库服务器需要转移到另一个数据中心。它运行在 Microsoft SQL Server 2012 Enterprise(64 位)上,包含两个大约 2TB 和 1TB 的数据库。

几乎没有停机时间将是理想的。

工作量

这些数据库用于 .NET 网站,并且会不断更新。

不过,周末不可用也是可以接受的。当前使用的数据库将一直是唯一使用的数据库,直到切换到新数据库。

理想情况下,只需将 DNS 条目更改为指向新的数据库服务器,同时确保数据库未更新,即可实现该切换。

此外,只要从一台服务器切换到另一台服务器(停机时间)保持在较低水平,此操作所花费的时间并不重要。

考虑的方法

  • 备份还原

    过去曾这样做过,但即使是通过内部网络完成的,停机时间也很长,因此比通过 Internet更有效

  • 日志传送

    据我所知,这种方法可以通过配置主/从并将主数据库的精确副本传输到其只读从属来最大限度地减少停机时间。如上所述,不需要访问从属数据库,我们只需要一种方法来拥有主数据库的副本而不会损坏数据。

    它在资源利用方面似乎也非常有效,并且不会对主性能产生太大影响。

    我可能对这种方法有误,因此请随时纠正我。

  • 数据库镜像

    我不太了解这种方法,但它似乎是一个有效的选择。不需要实时同步,主节点的性能非常重要,因此如果选择这种方法,异步将是可行的方法。

  • 其他选择?

    该服务器直接在裸机硬件上运行,因此不幸的是,不能选择较低级别的解决方案。也许有更好的方法来完成这项工作?

约束

如上所述,这些数据库非常大,以至于难以维护,但这是另一个问题。

SQL Server 的版本将相同(Microsoft SQL Server 2012 Enterprise 64 位)。

它必须在两个数据中心之间通过网络传输,因此很可能通过 Internet 传输。不幸的是,将磁盘从一个站点发送到另一个站点进行初始同步并不是一种选择。为转移提供某种安全性是理想的,但我们会在这种情况下做到最好。

这应该很好地概述了我们对这项任务的需求,希望你们中的一些人以前不得不面对这种情况。

sql-server migration mirroring restore log-shipping

23
推荐指数
2
解决办法
2万
查看次数

需要将 SQL Server 迁移到 MySQL

我在 Windows 服务器上的 SQL Server 2008 上有一个数据库,我想将所有数据移动到 Ubuntu 服务器上的 MySQL 数据库。我尝试将 SQL Server 导入和导出向导与 MySQL ODBC 驱动程序一起使用,它可以正确访问两个数据库,但包含类型转换规范的 xml 文件不存在,而且规范太有限,我无法正确创建它们。有谁知道如何创建类型转换文件或从哪里获得更好的工具来传输这些数据?

mysql sql-server migration

22
推荐指数
2
解决办法
6万
查看次数