2013-01-15 149 views
2

大約1年半前,我們開發並提供了一個數據庫驅動的應用程序。在此期間,他們備份了數據庫,重新安裝了軟件並恢復了數據庫幾次。他們也向我們發送了他們的數據庫,以便對db結構進行一些更新。他們已經使用了軟件的內置備份和恢復功能。該軟件正在使用SMO(SQl服務器管理對象)執行備份/恢復操作。在SQL Server 2008中備份和恢復導致數據丟失

他們現在聲稱他們的一些數據在最近的備份和恢復過程中丟失了。

這樣的索賠可能或只是他們的數據輸入錯誤?

我已經手動檢查了他們的數據庫,並且他們添加的數據不存在。

是否有關於SMO錯誤的任何報告?

+1

這很可能是您找不到SMO備份/恢復中的錯誤。 – mellamokb

+3

當他們向您發送升級備份時,他們是否將應用程序脫機?他們是否可能備份了數據庫,然後做了一些更改,然後通過現有數據庫的備份恢復數據庫,從而失去了更改? –

+2

由於SMO只是調用TSQL'BACKUP'和'RESTORE'命令,所以涉及SMO錯誤的可能性很小。這很可能是由於人爲錯誤(數據輸入,備份/恢復時間)或某種編碼錯誤(如腳本中未提交的事務)造成的。您必須深入瞭解他們如何以及何時添加數據並進行備份以確定實際發生的情況。 – Pondlife

回答

1

備份和恢復是SQL Server中的關鍵設施。他們總是總是始終如一地備份數據庫(即時點)。您不能以丟失部分數據或引入其他不一致的方式進行備份或恢復。 SQL Server始終阻止您通過錯誤消息執行此操作。 (數據丟失的可能性來自像MySQL這樣的其他RDBMS,幾年前備份是一個挑戰)。

問題在別處:在DML上執行數據庫。

+1

軟件具有良好的分析和精心設計,始終被視爲實體一致性。正如你所說的那樣,來自ourside或SQL Server端的bug不存在。 –

+0

我這麼認爲。我也有客戶懷疑數據的完整性,大多數時候他們只是輸入了錯誤的數據。這不是一個不尋常的客戶投訴。 – usr

相關問題