我目前正在进行 SQL Server 迁移(从 SQL Server 2005 到 2008 R2 服务器,在新的物理服务器上)。
数据库本身将使用数据库备份和恢复脚本进行传输。我已经测试过了,它工作正常,没有问题。
我担心的是所有其他实例/系统对象,例如登录、SQL 代理作业。这些已从源服务器编写并重新应用到新服务器上,恐怕我已经忘记了一些。我可以明显地直观地比较使用SQL Management Studio,这就是我所做的,但它既耗时又容易出错。因此,在及时拔掉现有服务器的插头之前,我更希望有一种更“科学”的方法来确认一切都在那里......
我一直在寻找进行这种比较的软件,但只找到了模式或数据比较工具。我想我可以比较 sys.sql_logins 和 msdb.dbo.sysjobs 等系统表,但我不知道它们全部。
简而言之,有没有一种方法可以快速比较两个服务器的实例级对象,如果可能的话,还可以比较它们的内容,而不仅仅是通过名称?
谢谢。
我正在迁移 SQL Server 群集。我想听听成功迁移的注意事项。
生产集群的规格是:
目标集群的规格是:
特别注意事项:
此时我所做和测试的内容如下:
还:
要做或考虑的事情:
背景:在 Windows Server 2012R2 上新安装的 SQL Server 2012 SP3。
问题:当我使用复制数据库向导将数据库从server2复制到server2 时,我收到:
尝试在 SQL 上查找文件夹时遇到 OLE DB 错误,错误代码为 0x80004005(登录超时已过期)。
是的,我使用向导在同一台服务器上制作数据库副本。(会计软件和测试目的。)当向导尝试创建 Integration Services 包时,我收到此错误。同样重要的是,当我从我的计算机使用 SMSS 时会发生这种情况。我是这个 SQL Server的系统管理员。我什至将我的用户添加到此 Windows Server 的管理员组。
我们有一个旧的 server1,它的配置方式与 server2 非常相似。我检查了我想到的每个设置,两个配置看起来都一样。SSIS 包执行中没有代理,没有用户。
我可以从复制数据库服务器1到服务器1和服务器2到Server1上没有任何问题。
看起来我没有足够的位置权限:server2_server2\DTS Packages\Copy Database Wizard Packages不管它是什么。
从理论上讲,我每次都可以使用 RDP 到服务器和域管理员帐户,但这在......后面很痛苦。还有会计软件支持,具有高 SQL 权限但不能具有域管理员。
我用谷歌搜索了这个,通常是关于 SQL Server 2008 和运行一些自定义包。
我们是一个数学家团队(即,没有 DBA 经验)。
我们正在从旧服务器盒 (SQL Server 2012) 迁移到新服务器盒 (SQL Server 2017)。对于旧服务器上的每个数据库,我们制作了一个备份副本,将其移植到新服务器,并从备份文件中将其恢复到完整的数据库荣耀。
到现在为止还挺好。
但是,我们的入住日期有所延迟,我们仍在使用旧服务器。随着我们继续在旧服务器上工作,这些数据库中的更改继续累积。因此,这意味着位于新服务器上的复制数据库现在已过时且已过时。(讽刺,不是吗?)
对于那些已更改的数据库,我们知道我们最终必须制作新的备份副本并将其移植到新服务器上。
到了时候,在恢复最新的备份副本之前摆脱新服务器上那些现在已经过时的数据库的最聪明方法是什么?
我们担心如果我们不小心,使用相同的名称,可能会发生一些遮挡或遮蔽。在恢复最新版本之前,我们希望确保新服务器上的过时副本完全消失。
我有一个与其他人描述的类似的问题。
IN使用索引,需要10分钟才能运行;我试过了
set session eq_range_index_dive_limit=4294967295; 没有运气。set @@global.max_seeks_for_key=100; 还是没有运气。这是在我升级了一些服务器之后发生的。
mysql_upgrade 没有报告任何问题。
正如我所指出的,我看到了其他问题,但其中提出的答案都没有解决我的问题。
非常感谢罗兰多到目前为止的回答。我继续在 my.cnf 的 [mysqld] 部分对此进行了测试
optimizer_switch = index_merge=on,index_merge_union=on,index_merge_sort_union=on,index_merge_intersection=on,engine_condition_pushdown=on,index_condition_pushdown=on,mrr=on,mrr_cost_based=on,block_nested_loop=on,batched_key_access=off,materialization=on,semijoin=on,loosescan=on,firstmatch=on,duplicateweedout=off,subquery_materialization_cost_based=on,use_index_extensions=on,condition_fanout_filter=off,derived_merge=off
Run Code Online (Sandbox Code Playgroud)
遗憾的是,索引仍然没有被拾取。我尝试关闭所有新添加的选项:
duplicateweedout=off
condition_fanout_filter=off
derived_merge=off
Run Code Online (Sandbox Code Playgroud)
我什至尝试过,因为我在我的解释计划中SET optimizer_switch='block_nested_loop=off'
得到了'Using where; Using join buffer (Block Nested Loop)'和。'Using temporary; Using filesort'
还在挠头。谢谢,最重要的是升级导致很多查询不使用索引,这仍然是一个痛苦。数据库接近 2TB,但查询在 5.6 上的最后几个 master 中运行良好
我正在尝试使用 AWS Database Migration Service 将数据从 RDS Postgres 实例迁移到 Aurora MySQL 实例。
数据库迁移服务要求将wal_level设置为源 Postgres DB 中的逻辑值。但是完成后,Postgres 开始消耗大量磁盘空间,以至于实例变得无法使用。
WAL 日志保留多长时间?是否可以启用其他设置来限制磁盘空间的使用?
replication migration postgresql-9.4 write-ahead-logging amazon-rds
精简版:
我正在尝试将备份从一个 SQL 托管实例恢复到另一个 SQL 托管实例。这些在不同的订阅中。使用此处的示例 3,我至少可以看到恢复从 sys.dm_operation_status 开始,但错误消息是“订阅 [目标] 不包含 [源 SQL MI]”。
问题: 如何将数据库从一个 SQL 托管实例迁移到另一个(在不同订阅中)?我目前的解决方法是对 blob 存储执行 copy_only 并以这种方式恢复。
一旦我们启用 TDE(进行中),我们将无法对 blob 执行 copy_only 备份。然后怎样呢?
长版:
最近,我们公司开始在 SQL 托管实例(和其他 PaaS/IaaS)上运行 Azure 中的生产工作负载,并且进展顺利。尽管我确实熟悉数据库迁移服务 (DMS),但我们有一个足够大的窗口,表明我们能够使用完整备份执行初始加载。
但是现在我们正在扩展我们的 dev/test/qa 环境,当然我们现在希望从生产环境恢复到这些环境。出于隔离目的,每个人都获得了自己的订阅。
这些命令有效,因为我至少可以在 sys.dm_operation_status 中看到恢复操作开始,但它失败并出现错误。错误是“订阅 [目标] 不包含 [源 SQL MI]”并让我相信交叉订阅还原对我们不起作用(尽管跨区域可以)。
DMS 似乎不支持使用数据库迁移服务作为源的方案。
Select-AzSubscription -Subscription $SourceSubscriptionID
$GeoBackup = Get-AzSqlInstanceDatabaseGeoBackup -ResourceGroupName $SourceResourceGroupName `
-InstanceName $SourceSQLMI `
-Name $SourceDatabaseName
Select-AzSubscription -Subscription $TargetSubscriptionID
Restore-AzSqlInstanceDatabase -FromGeoBackup `
-GeoBackupObject $GeoBackup `
-TargetInstanceDatabaseName $TargetDatabaseName `
-TargetInstanceName $TargetSQLMI ` …Run Code Online (Sandbox Code Playgroud) 我有一个 SQL Server 数据库,我正在将其迁移到 PostgreSQL 12.0。
我已成功迁移架构和表。连接数据库的应用程序很大程度上依赖于存储过程,这些存储过程也需要转换为PostgreSQL。
不幸的是,我使用的工具不能转换存储过程。关于我应该如何解决这个问题有什么想法或者有一个工具可以做到这一点吗?
所以有人让我们的 SQL Server 2008 R2 企业试用版在 Web 服务器上过期。这是重新启动项目并将我们拥有的所有内容转移到 MySql 的计划的一部分。除了让旧网站运行几个月之外,我们不需要任何特别的东西。
express 或 compact 是否能够运行小型网站?
是否可以降级到 express 或 compact 以及如何降级?
既然我们已被有效地锁定在现有数据库之外,我该如何备份现有数据库?
我很快就会将 Debian Lenny 网络服务器迁移到另一台主机和 Debian Squeeze。即使在 Squeeze 上,标准 MySQL 安装也是 5.1,因此将默认为 MyISAM - 我倾向于坚持我通常的经验法则,我尽可能保持 Debian 安装的标准以获得最大稳定性,特别是因为启用 InnoDB 没有似乎是万无一失的
数据库上的事务负载很小,因为它是一个低流量网站。与其他任何事情相比,我更关心保持管理尽可能简单。该网站运行由第三方开发的定制版 WordPress。
我应该补充一点,我对任何形式的 MySQL 的经验都很少。
我应该坚持我的计划还是借此机会研究 InnoDB?
migration ×10
sql-server ×5
mysql ×2
replication ×2
amazon-rds ×1
clustering ×1
innodb ×1
myisam ×1
mysql-5.6 ×1
mysql-5.7 ×1
postgresql ×1
restore ×1
scripting ×1
ssis ×1
ssms ×1
upgrade ×1