2013-04-11 72 views
0

這裏是我的情況。比較來自現場和測試服務器的結果在sql

我有2個數據庫,它是一個實時和測試數據庫,實時更新數據,測試數據庫比實時晚一個月。

所以我模擬已在活動數據庫中處理的工作流程,發現許多差異。

讓說我運行此查詢

use liveDB select * from tblA 

結果將產生100個結果

然後

use testDB select * from tblA 

結果將產生300個結果

任何想法先生們?

+0

使用[this](http://dbcompare.codeplex.com/) – 2013-04-11 01:50:04

+0

也許一些記錄已從活動數據庫中刪除。 – 2013-04-11 01:53:55

+0

我不確定是否有你的問題。你只需要從單獨的數據庫中比較這兩個表?他們在同一個SQL實例嗎?你可以將它們移動到同一個SQL實例嗎? – outcoldman 2013-04-11 02:00:11

回答

0

測試數據庫未被正確添加或項目已從活動數據庫中刪除。檢查你的代碼從現場到測試的數據。也許你有重複的條目。請嘗試以下,看看你會得到什麼:

use liveDB select DISTINCT * from tblA 
use testDB select DISTINCT * from tblA 

也許如果你是從活基於where子句,日期時間沒有被正確理解日期時間選擇項。 SQL可能會讀取美國格式的日期時間,而不是歐洲的日期時間。如果您將日期時間指定爲字符串,請嘗試使用yyyy-mm-dd格式,以便月份和日期不會無意間切換。