我的情况:我一直在为我的 SQL Server 寻找数据复制选项(我应该说我不是这方面的专家 - 也不是英语方面的专家)。我见过一些选项,比如日志传送和 SQL 复制。对于日志传送,我读到它只有在两台服务器都使用 SQL Enterprise Edition(我使用 Express)时才有效。对于 SQL 复制,我看到主服务器上需要 Enterprise,但我想知道(尽管我几乎可以肯定)两台服务器是否都需要 Enterprise。如果需要,是否有 Express 的数据复制选项?我想要一种不会每次都复制整个数据库的东西,更像是事务复制。谢谢
答案1
我在 SQL Server 标准版中广泛使用日志传送。复制功能在标准版中也能很好地运行。(这里是支持开箱即用的日志传送的 SQL 版本。 这里是一个不太详尽的图表,显示了 SQL Server 版本如何支持复制。)
由于您使用的是 Express,因此您无法访问 SQL Server Agent,这限制了您的可能性。 SQL Express 不能是发布者或分销商因为它需要代理。如果您使用向导来设置日志传送,它会创建代理作业来运行它。
但是,您可以使用 Windows 任务计划程序手动将日志发送到 Express 和从 Express 发送。基本上,创建一个任务计划程序作业以使用 SQLCMD 备份日志并将其移动到共享和/或恢复日志。(如果您需要查询辅助数据库,则需要将其恢复为待机而非无恢复。
您还可以从 SQL 标准版复制到 Express,只要运行 Express 的服务器是订阅者而不是发布者或分发者。