私はデータマートをサポートしています...私はリンクサーバー経由でアクセスできる別のデータセンターにあるDWからテーブルを消費するように指示されました...このケースでレプリケーションを使用できますか?
私はレプリケーションを使用することを推奨しました。 ;
1 'SQLサーバーウィザード'を使用して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
6時間ごとに実行されます仕事に以前のSPを4-置きます。
私が見ている問題は、起動時に要求したテーブルの数が少なかったことです。私は1日おきに1つの新しいテーブルを追加するように頼まれましたが、今ではこのプロセスを通してデータマート上に約80のテーブルがあります。
質問: - このアプローチは大丈夫/プロですか? - すべてのステップを完了するには数時間かかります。すべてのステップ自体に時間がかかるため、私が行うすべての操作にはさらに注意が払われています。 - 一部の表には、systemmodstampまたはupdatedateがありません。私は完全な転送をしています(ドロップして、もう一度挿入してください)。
とにかく、
、この場合にレプリケーションを使用しない何らかの理由がある...彼らは巨大なテーブルが...最大のものが50万件のレコードを持っている、ではなく、それらのほとんどは100,000未満レコードですか?