我正在将单个 MySQL 数据库(约 10GB 未压缩)从一台服务器移动到同一网络上的另一台服务器。当前 MySQL 版本是5.1.41,新版本是5.5.24. 该数据库包含 MyISAM 和 InnoDB 表。是否可以使用这种方法:
/data目录从旧服务器复制到新服务器我意识到这个基本问题之前可能已经被问过 1000 次,但我见过的大多数问题都没有提到更改版本并支持 MyISAM 和 InnoDB。
我需要将一个非常大(约 320 GB)的 PostGIS 数据库从server1(PostgreSQL 9.1,PostGIS 1.5)移动并升级到server2(PostgreSQL 9.3,PostGIS 2.1)。
升级过程有据可查。问题是我在server1上没有足够的空间将文件转储到那里,校验它,然后将它复制到server2并验证总和。我试过:
nc。sshfs。两次转储文件似乎都已损坏。pg_restore在不同的地方打破了这样的错误:
pg_restore: [compress_io] could not uncompress data: incorrect data check
任何人都可以提出更好的方法来完成此移动和升级吗?
更新:尝试过 NFS(并再次尝试 SSHFS)。很明显,这些远程文件系统无法可靠地传输这么多数据。生成的 SQL 文件中明显缺少块,导致导入过程中出现如下语法错误:
ERROR: invalid input syntax for integer: "8266UPDATE spatial_ref_sys o set auth_name = n.auth_name, auth_srid = n.auth_srid, srtext = n.srtext, proj4text = n.proj4text FROM _pgis_restore_spatial_ref_sys n …Run Code Online (Sandbox Code Playgroud) 我想在 2 个 InnoDB 表之间迁移数据。
目前我正在运行这个查询:
INSERT INTO table_a SELECT * FROM table_b;
Run Code Online (Sandbox Code Playgroud)
如果数据集增长,避免 CPU 过载的最佳方法是什么?
谢谢
一个客户让我迁移他的 MySQL 数据库:服务器没有可用空间,而且它还有一个非常大的表坏了,所以我不能转储它。
由于缺乏可用空间,我无法修复它。
问题:有没有办法将 MySQL 数据库数据文件物理移动到另一台服务器并将它们用于“新”MySQL?
我们有一些基于数据库的 Web 应用程序,它们utf8mb4用作字符集和utf8mb4_Standard排序规则。

我们看到我们可以在这个设置中使用我们想要的任何字符。
在 SQL Server Express 中,情况对我来说不是很清楚。
当我切换到Standard它时选择Latin1_General_CI_AS排序规则。
但我不知道这是哪种字符编码,如果我们想将一些数据从utf7mb8MySQL 表接管到 SQL Server 中,它会如何影响场景。

当我查看 SQL Server 中的数据类型定义时,我可以看到有 Unicode 和非 Unicode 类型。所以我想知道排序规则是否真的影响它的存储方式:

看来,如果您使用nchar,nvarchar或者nvarchar(max)您在使用 UTF-16 时处于安全状态。
但是,整理Latin1_General_CI_AS是什么意思?
例如,特别是如果你有中文字符,这会如何表现?
我正在将 SQL Server 2008R2 数据库迁移到新服务器。(也是 2008R2)
服务器上有许多 CLR 程序集。这些会自动随数据库迁移还是我必须手动编写脚本?
谢谢!
我有一台运行 SQL Server 2008 Web 版的生产服务器,它必须保持 24x7 全天候运行,几乎没有停机时间,现在是我们转向更先进的服务器硬件的时候了,也是转向 SQL Server 的好机会2012年企业。
现在我的问题是,如何在不关闭数据库的情况下进行此迁移?例如在两台服务器之间设置一些东西作为复制左右,所以我在两台服务器上都有完全相同的数据库,然后我可以将主要服务关闭 1 分钟,更改数据库连接的 IP 地址从旧服务器到新服务器,我确信新服务器具有与旧服务器相同的副本。
我不能采用备份/恢复方法,因为它需要的时间超过可接受的时间,这就是为什么我需要一些东西来保证完全相同的数据库,就像我在做备份/恢复一样。5 分钟可能是可承受的最大停机时间。
数据库大小约为 100GB。
新服务器运行2012 Enterprise,旧服务器运行2008 Web
我可以异常地归档数据库中的记录,并将其大小最小化到 20GB 之类。
我可以选择将我的 SQL Server 2008 Web 版升级到企业版,如果这有助于更多解决方案,比如复制?
replication sql-server-2008 sql-server migration sql-server-2012
我正在将数据库从 迁移SQL Server 2012到SQL Server 2014同一服务器上。
我正在一个明显加密的数据库上配置 LOG SHIPPING:
设置日志传送时,我收到此消息(当它开始从备份恢复数据库时):
我是这里的新 DBA,没有关于主密钥、加密密钥等的报告。
我正在设置从 SQL2012 到 SQL2014 的日志传送(使用 norecovery)。如果我将此数据库设置为Encryption enabled - false并尝试使用日志传送向导恢复数据库,会出现什么问题?
有一些关于这个问题的问题,比如This one,但他们都说我需要密码。
我刚刚master > security > certificates在主服务器(2012)上找到了这个证书:
互联网上有一些代码示例,但我真的不能相信它们(我认为这不是太简单):
`USE MASTER
GO
ALTER DATABASE DatabaseName
SET ENCRYPTION OFF
GO
USE DatabaseName
GO
DROP DATABASE ENCRYPTION KEY
GO`
Run Code Online (Sandbox Code Playgroud)
编辑1:
在这个问题中, Dylon 说:
如果您收到指纹错误,则说明未从源服务器的证书/密钥备份正确创建证书。
我对这个主题感到困惑,我想要的只是禁用加密,恢复另一台服务器上的数据库以记录传送,并在某一天激活加密。
编辑2:
在Database > tasks > manage database encryption有一些选项太:
禁用此功能,我将能够再次备份数据库,并在新实例上恢复它?
sql-server migration log-shipping transparent-data-encryption
我这里有一个有趣的情况。我们基本上是在尝试将一些 SQL Server 基础结构迁移到新硬件,其中一个机器(单实例、2 节点集群)正在运行 2008R2。其他的是 2012 年和 2014 年,但那些没有出现这个问题。
有一个应用程序连接到名为“OLD-SQL”的服务器;假设 IP 是 11.22.33.44。这是运行默认实例 SQL 2008R2 和 Windows Server 2008R2 的旧 SQL 框的名称。目前无法更改应用程序的连接设置/配置/字符串/任何内容。
设置用来替换那个的新 SQL 框被命名为“NEW-SQL”;假设它的 IP 是 11.22.33.55。还运行 SQL 2008R2(相同的 SQL 版本)。操作系统是 Windows Server 2012 R2(较新的操作系统)。两个盒子实际上都是集群实例,每个都有 2 个节点(老式的故障转移集群,没什么特别的)。
因此,为了帮助迁移,目前,出于测试/QA 目的,我们已完成以下操作: 1. 在客户端 QA 机器上设置 Hosts 文件以将名称“OLD-SQL”重定向到 11.22.33.55(新服务器)。2.在NEW-SQL服务器上创建一个SQL Server别名(使用SQL Config Mgr.),命名为“OLD-SQL”,指向自身,端口1433,协议TCP/IP。
为了测试它,我尝试通过 SSMS 连接;我输入“OLD-SQL”作为要连接的服务器名称。它因臭名昭著的“SSPI 上下文”错误(https://support.microsoft.com/en-us/kb/811889)而失败。正在测试的应用程序也会发生同样的事情。来自 cmd-line 的 Ping 解析得很好——它知道“OLD-SQL”根据 Hosts 文件解析为新的 IP 11.22.33.55。
现在,真正把扳手扔进东西里。我回到服务器 NEW-SQL,并添加另一个别名,参数相同但命名为“OLD-SQL2”。此名称在域网络中是唯一的。我回到我的盒子,将我的主机文件更改为从该名称指向 IP (11.22.33.55),然后转到 SSMS 并尝试再次连接。 这有效!
我通过执行 a 来验证我是否在“正确的服务器”上 …
我们正在将数据库从 Rackspace 迁移到 Azure。我们的数据库部署在机架空间中的虚拟机上。在我们的查询中,我们使用链接服务器到其他数据库。基本上是跨数据库查询。问题是,迁移数据库后,我们无法使用链接服务器查询,因为 Sql Azure db 不支持链接服务器。
请帮忙。
更新:
并非所有数据库都位于 Azure 中。有些数据库的所有者位于远程位置。我们需要查询在 Azure 外部运行的数据库。
Azure 中没有适用于 Sql Server 的 VM。我们在 Azure 中使用数据库即服务。
请参阅下图了解更多详情
migration ×10
sql-server ×6
mysql ×3
collation ×1
innodb ×1
log-shipping ×1
postgis ×1
postgresql ×1
replication ×1
sql-clr ×1
transparent-data-encryption ×1
unicode ×1