我工作的软件公司正计划将我们的基础架构迁移到云中。我们当前的重点是找到最佳的数据库复制方法。
当前服务器:
SQL Server 2008 SE - 位于纽约(内部 - 主)
SQL Server 2012 SE - 位于芝加哥(Rackspace - Slave)
我们一直在考虑日志传送,但我们也知道镜像和复制。有人可以就我们完成这项任务的最佳方法提供一些见解吗?我们只是想让两个数据库彼此同步。实时性尚不重要,但在不久的将来就会如此。
注意:我们的长期目标是让 Rackspace 成为我们的主要,而 NY 是我们的次要。
我正在不同的地理位置之间实现数据库复制,其中每个位置都在不同的域中。完成所有过程后,当我启动代理时,它会运行并停止。
当我查看详细信息时,它显示:
Error messages:
The process could not connect to Subscriber 'Mydomain\myusername'. (Source: MSSQL_REPL, Error number: MSSQL_REPL20084)
Login failed. The login is from an untrusted domain and cannot be used with Windows authentication. (Source: MSSQLServer, Error number: 18452)
Run Code Online (Sandbox Code Playgroud) 我在两台不同的机器上有两个 PostgreSQL 数据库,网络连接很慢。
我想将几个选定的行从第一个实例复制到第二个实例。不幸的是,单表的full dump太大了。CLI 解决方案就可以了。
我在 PRE-PROD(通过 TSQL)上创建了一个事务复制,一切都按预期工作。在 PROD 平台上复制不起作用。在检查复制监视器时,我收到此日志读取器代理的错误消息:
作业失败。作业由用户 sa 调用。运行的最后一步是第 2 步(运行代理)。

知道为什么我会收到这个错误吗?
SQL 代理正在“NT AUTHORITY\NETWORKSERVICE”的上下文中运行。PROD 和 PRE-PROD 上的配置和安全性似乎相同。
已正确创建发布和订阅。一切都在单个服务器上运行,在 sysadmin 和 db_owner 用户的上下文中,用于发布和订阅数据库:

我对数据库还很陌生,所以我希望这不是一个愚蠢的问题!
是否可以在同一台服务器上设置主/从复制?
我知道这在硬件利用/恢复目的方面没有任何优势,但这样的设置将有助于测试我正在开发的软件。
Postgres从 9.0开始就有了流式复制,从 9.1 开始,可以使用pg_xlog_replay_pause()和pg_xlog_replay_resume()暂停和恢复流式 WAL 记录的应用程序。据我所知,没有内置的方法可以使 WAL 的应用程序故意滞后特定时间段(例如 24 小时)。
我是否错过了实现这一目标的内置方法,如果没有,我应该如何以其他方式实现它?
我需要在使用 FileStream 的数据库上设置数据库复制(以实现高可用性)。这是在 SQL Server 2012 标准版上,所以永远在线或对等复制不是一个选项。此外,数据库镜像不适用于 FileStream。
我剩下的唯一选择是事务复制或合并复制。我发现当所有机器都打开时,两种复制类型都可以正常工作,但是如果一台机器关闭会发生什么?
这就是我所拥有的(服务器作为虚拟机在 Microsoft Azure 上运行):
Microsoft 每月至少执行一次维护,每次最多关闭一台服务器。如何在这些机器上设置复制,以便在一台服务器关闭时实现高可用性?
replication sql-server sql-server-2012 filestream high-availability
我们有 2 个专用的数据库服务器。一个是主,另一个是它的流从。
Postgres 版本9.0.17。
我们在两台服务器上都有类似的硬件,并在 Raid 10 中使用 15krpm SAS 驱动器用于数据库集群。唯一的区别是在服务器上我们有 128 GB 内存,而在从服务器上我们有 64 GB 内存。
我们面临的问题是我们的流媒体奴隶落后了。
在流式从属设备上,我们有
postgres=# select pg_last_xlog_receive_location();
pg_last_xlog_receive_location
-------------------------------
1F7D/DD3BA000
postgres=# select pg_last_xlog_replay_location();
pg_last_xlog_replay_location
------------------------------
1F75/5BE08980
Run Code Online (Sandbox Code Playgroud)
wal received 和 replay 之间的这种差异在不断增加。
请让我知道如何解决此问题。
的输出perf top -u postgres是
98.30% postgres (.) DropRelFileNodeBuffers
0.20% postgres (.) 0x000000000008b05b
0.14% (kernel) (k) copy_user_generic_string
0.13% postgres (.) hash_seq_search
0.07% postgres (.) hash_search_with_hash_value
0.05% (kernel) (k) _spin_lock
0.05% (kernel) (k) apic_timer_interrupt
0.03% (kernel) (k) do_timer
0.03% postgres …Run Code Online (Sandbox Code Playgroud) 我们有一个 2012 标准版实例,它每 15 分钟将 2 个相关数据库的日志传送到辅助 2012 标准版实例以用于 DR 目的。尽管它提供只读访问权限,但在还原作业运行时,用户每 15 分钟就会自动断开连接(完成还原最多需要 2 分钟)。
在不干扰该过程的情况下,我们希望为报告和开发人员故障排除目的设置一个辅助实例,该实例也将至少每 15 分钟更新一次(报告需要接近实时的数据),但不会涉及定期断开连接,启用与主要不同的安全性(以便开发人员可以从辅助读取但不能从主要读取),并且最好允许创建在主要上不存在的索引(以提高报告性能)。
1)我们怎样才能做到这一点?2) 如何在不升级到企业版的情况下实现这一点?
在使用 Postgres 同步复制的设置中,假设其中一台辅助/备用机器崩溃,这会锁定/停止主机器吗?也就是说,由于 Postgres master 在提交写入事务之前总是等待来自辅助/备用的确认,那么如果辅助/备用无法访问,那么主会停止运行吗?Postgres 如何处理这种情况?
replication ×10
sql-server ×5
postgresql ×4
backup ×1
bulkcopy ×1
filestream ×1
log-shipping ×1
mysql ×1