【发布时间】:2016-11-07 10:06:17
【问题描述】:
我支持数据集市……我被指示使用来自另一个数据中心的 DW 中的表,我们可以通过链接服务器访问该数据中心……
我建议使用复制,因为它对我来说最简单,但我没有被授权;现在我发现自己每次需要使用新表时都会执行此过程:
1- 通过“sql server 向导”将整个表从 DW 复制到我们的 DM。 2- 在我的数据集市中重新创建表在 DW 中的索引。 3 - 我创建一个这样的 SP……例如:
DECLARE @SystemModStamp AS DATETIME
SELECT @SystemModStamp = MAX(SystemModStamp)
FROM [dbo].[Lead]
SELECT * INTO #temp
FROM [LinkedServer_DW].[SF].[dbo].[Lead]
WHERE SystemModStamp >= @SystemModStamp
DELETE FROM [dbo].[Lead]
FROM [dbo].[Lead] AS L
INNER JOIN #temp AS t
ON L.Lead_id= t.Lead_id;
INSERT INTO [dbo].[lead]
SELECT * FROM #temp
DROP TABLE #temp
4-将之前的 SP 放在每 6 小时运行一次的作业上。
我看到的问题是,当它开始时,他们要求的只是几张桌子。现在我被要求每隔一天添加一个新表,现在通过这个过程,我的数据集市上有大约 80 个表。
问题: -这种方法可以/专业吗? - 完成所有步骤需要几个小时,因为每一步本身都需要时间,而且我对我所做的每一个动作都格外小心。 -有些表没有systemmodstamp 或updatedate;所以我正在做完整的转移(放下,然后重新插入)。
反正它们不是大表,最大的有 5000 万条记录……而且大部分都不到 100,000 条记录……
在这种情况下有什么理由不使用复制吗?
【问题讨论】:
标签: sql-server replication database-replication transactional-replication