gpt4 book ai didi

sql-server - 使用 SSIS 复制大量超大型数据库的最佳实践

转载 作者:搜寻专家 更新时间:2023-10-30 19:53:32 25 4
gpt4 key购买 nike

我的任务是在现场内部在线获取我们的 SQL Server 2005/2008 数据库的副本,并每天更新它们。与每个站点的连接都受到监管,因此不能选择在线访问。现场数据库是工作组许可的。主服务器是 Enterprise,处理器和 RAM 数量惊人。副本的目的有两个:(1) 在线备份和 (2) 数据仓库的 ETL 源。

美国、加拿大和墨西哥有大约 300 个数据库,大部分采用相同的模式。当前的数据库大小介于 5 GB 和 1 TB 以上。事件各不相同,但每台服务器上每天大约有 1,500,000 个新行,主要在 2 个表中。每个总共约50张 table 。每个站点的连接质量和带宽各不相同,但主站点有足够的带宽来并行处理多个站点。

我正在考虑 SSIS,但我不确定除了逐个表之外如何处理此任务。谁能提供任何指导?

最佳答案

老实说,我建议使用 SQL 复制。我们经常这样做,它甚至可以通过拨号方式工作。它基本上最大限度地减少了所需的流量,因为只传输更改。

有几种拓扑结构。我们只使用合并(两种方式),但事务可能可以满足您的需求(一种方式)。

我们的环境是一个单一的中央数据库,复制(使用过滤复制文章)到各种站点数据库。中央数据库是发布者。它很健壮,一旦到位,但对模式升级来说是一件麻烦事。

但是,鉴于您的数据库不是同构的,在远程站点作为发布者的位置进行设置可能会更容易,并且中央 SQL 实例有一个作为站点发布者订阅者的每个站点数据库。这些文章甚至不需要过滤。然后您可以集中处理各个站点数据。

注意站点数据库需要安装复制组件(它们在安装程序中通常是可选的)。要设置为发布者,他们还需要本地配置(在每个发布者上配置分布)。作为工作组版本,它可以充当发布者。 SQL Express 不能充当发​​布者。

这听起来很复杂,但它实际上只是程序性的,并且是一种用于执行此类操作的内置机制。

关于sql-server - 使用 SSIS 复制大量超大型数据库的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15836964/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com