我一直在尝试将数据库从 SQL Server 2000(SBS 2003 的一部分)迁移到 SQL Server 2008 R2 Express Edition
我天真地尝试使用 SQL Server 导出和导入向导。这在一定程度上奏效了,但似乎尝试将视图作为表导入,而将存储过程完全排除在外。
执行这种迁移的最不痛苦的方式是什么?
我们需要迁移生产数据库的存储。这样做的适当方法是什么,我们需要采取哪些特定/通用的预防措施?
数据库配置:
卷管理器 - 使用原始磁盘的 ASM。ASM 外部冗余作为存储从存储子系统
数据库版本发布 - Oracle 10g R2
数据库大小 - 约 5TB
现有存储(来源):HP MSA 2312sa 双控制器。直接连接到我们的数据库服务器(无 fc 或以太网交换机)。
Oracle 二进制文件也在此存储上
新存储(目标):HP EVA6300 FC 存储。该存储将通过 FC 交换机连接到主机。
我们能否使用基于主机的存储迁移(如 VxVM Plex 连接/分离)将数据从源 LUN 复制到目标 LUN?
我们是否必须使用 Oracle RMAN 备份和恢复方法进行存储迁移?
我有一个生产数据库,它已经被关闭了几个月。我一直在对测试/开发服务器上的重复副本进行修改。我已经向几个表添加了一些额外的字段(允许为空),并且我已经向新表和现有表添加了一些新表和索引。
我的问题是:我已准备好使用我的测试/开发数据库并将其投入生产。问题是我需要将所有数据从我的生产数据库迁移到我的测试/开发数据库。我的第一个想法是使用 SSMS 将数据从生产“导入”到测试/开发,我遇到的问题是即使使用“启用身份插入”,我仍然会遇到所有类型的外键约束错误。这有点像两部分
我很乐意只将我的测试/开发模式迁移到我的生产服务器,但我还没有找到任何方法来做到这一点,而无需手动逐表、逐索引、逐视图、逐存储过程的存储过程。 . 等我已经看到一些声称能够做到这一点的工具,但我正在寻找一个免费/开源的解决方案并且没有找到任何东西。
注意:数据库很小 < 10gb,测试/开发数据库被完全截断,每个表中的记录为零。
我们正在将 SQL Server 2005 数据库迁移到新服务器并升级到 2008,我正在寻找一些建议和保证我们的方法是正确的。
我继承了这个数据库,但说实话,我发现它有点混乱 - 最重要的是,我基本上已经学会了在这台服务器上成为一名 SQL Server 开发人员(没有计算方面的教育背景),所以我做了很多我自己的错误。我们作为一个部门(公共部门)资金不足,因此缺乏专业知识,只能靠自己的力量自力更生。数据库一开始只是一个后台的东西,但对我们的组织来说已经变得非常重要,因此坦率地说,性能令人尴尬。
所以我们有这样的问题
text到处都是不合适的数据类型(很多Nvarchar, nchar,ntext当我们不需要 ascii 字符时,text哪里varchar更合适)新服务器是 64 位虚拟服务器,存储在 RAID 上。
我安装和升级后的计划是:
text数据类型规范化为varchar/char在这些流程之后/之前,我还有什么应该考虑的吗?这里的任何决定是否看起来不合时宜?例如文件大小问题 - 这是我在 RAID 上需要担心的事情吗?
这个问题可能已经被问过十几次了,但我在这里或 SO 都找不到。
我可以将 SQL Server 2008 R2 数据库附加/恢复到我的本地 SQL 2008 R2 Express 实例吗?
我计划将数据库迁移到新服务器。在过渡阶段,我不希望 Apache 用户能够向数据库写入任何内容。我有两个选择。
撤销写入权限:
REVOKE INSERT, UPDATE ON `mydb`.* FROM 'apache'@'localhost';
FLUSH PRIVILEGES;
Run Code Online (Sandbox Code Playgroud)将数据库设置为只读模式:
FLUSH TABLES WITH READ LOCK;
SET GLOBAL read_only = 1;
Run Code Online (Sandbox Code Playgroud)选择其中之一是否有任何实际考虑?
我想将一个相当大的 SQL Server 实例(100 GB+)迁移到云机器上。我认为附加/分离方法不是一个好主意。因为通过互联网发送大文件需要很长时间(可能超过 1 个晚上),所以我考虑配置从源到云实例的快照/事务复制。
这个想法是让复制在几天内完成,然后在数据库更新后简单地停止复制并将应用程序定向到订阅者数据库。
是否可以?你还有其他建议吗?也许 AlwaysOn(我猜它需要企业版而不是标准版)?
我的公司有一个用于 LANDesk 的小型 SQL 环境,他们希望将所有服务器迁移到每个区域的单个 SQL 集群。我想知道的是,我如何确定这种场景的容量?我已经获得了每台服务器(All Landesk)的数据库增长,我可以将这些数据作为整合到单个 SQL 集群的粗略估计吗?Windows 团队告诉我,来自这些服务器的数据有点不稳定,可能无法给出他们想要的准确结果。
有问题的新集群已经有几个数据库,但还没有达到最大容量。一旦他们开始添加来自服务器的剩余数据,它应该达到其全部容量。我已经运行 Perfmon 一段时间了,为了检查数据库增长,我使用了 sqlskills.com 中的以下 TSQL 代码
SELECT
[database_name] AS "Database",
DATEPART(month,[backup_start_date]) AS "Month",
AVG([backup_size]/1024/1024) AS "Backup Size MB",
AVG([compressed_backup_size]/1024/1024) AS "Compressed Backup Size MB",
AVG([backup_size]/[compressed_backup_size]) AS "Compression Ratio"
FROM msdb.dbo.backupset
WHERE [database_name] = N'AdventureWorks'
AND [type] = 'D'
GROUP BY [database_name],DATEPART(mm,[backup_start_date]);
Run Code Online (Sandbox Code Playgroud)
我能做些什么来获得准确的结果吗?LANDesk 团队不希望我使用旧服务器,我唯一的选择是使用他们计划迁移所有数据的新集群,而我只有 6 个月的数据。我应该问他们这个新集群的使用年数之类的问题吗?等等...
谢谢大家的答案。这是我从 PAL 工具中得到的
我使用 PAL 工具来确定 perfmon 数据,这些是它给出的一些警告
1) 响应时间大于 25 毫秒 2) 空闲时间少于 10% - 磁盘队列在 90% 的时间内至少有 1 个未完成的 I/O 3) …
我正在将 Sybase ASE 15.7 SP134 数据库迁移到 SQL Server 2008R2,使用 SSMA for Sybase 2014。
我面临一个问题,即 SybaseDB 中的表有 2 列数据类型为TEXT。数据类型为“text”的 SQL Server 表在日语数据字符上不匹配。
问题是:
我们如何在迁移数据时保持与 Sybase 相同的文本?
如何在迁移过程中保持非 ASCII 字符的原样?
如果可以提供更多信息,请发表评论。
我有一个当前保存数百万条记录的日志表。我想在那个表上启用分区,所以我现在做的是:
T1)倒退到新的分区表。接下来的步骤将是最后剩余的记录从复制T1到Tnow和重命名这两个表,以便应用程序开始写入新的分区表。
当然日志表经常被访问,所以我的问题是:
如何确保在此过程中不会丢失任何数据?我是否可以做到让用户不会注意到任何事情,或者我是否必须在这短暂的时间内停止应用程序?或者我可以阻止该表以便应用程序继续运行吗?如果是这样,如何?
sql-server migration best-practices partitioning sql-server-2016
migration ×10
sql-server ×5
disk-space ×1
innodb ×1
mysql ×1
oracle ×1
partitioning ×1
permissions ×1
replication ×1
restore ×1
ssms ×1
storage ×1