我在一臺使用SQL數據庫的c#開發的PC上安裝了一個桌面應用程序。幾個月後,我發佈了一個新版本的應用程序(使用clickonce)並將其放到FTP服務器上。c#應用程序更新後文件和數據庫丟失
當我做了更新,數據庫(.mdf和.ldf文件)被刪除,並由一個新的(我認爲由發佈的一個)取而代之,所以幾個月的工作不見了!
我想知道是否有可能恢復或檢索舊的數據庫。
在PC上進行更新之前,我在筆記本電腦上做了一些測試,本地數據庫從未被替換或擦除。
非常感謝,
我在一臺使用SQL數據庫的c#開發的PC上安裝了一個桌面應用程序。幾個月後,我發佈了一個新版本的應用程序(使用clickonce)並將其放到FTP服務器上。c#應用程序更新後文件和數據庫丟失
當我做了更新,數據庫(.mdf和.ldf文件)被刪除,並由一個新的(我認爲由發佈的一個)取而代之,所以幾個月的工作不見了!
我想知道是否有可能恢復或檢索舊的數據庫。
在PC上進行更新之前,我在筆記本電腦上做了一些測試,本地數據庫從未被替換或擦除。
非常感謝,
您可以檢查您的解決方案的特性,如果SQL文件設定爲複製本地或複製到輸出目錄。
通常情況下,數據庫文件必須設置:
Build Action: NONE
Copy to Output Directory: Do NOT COPY
和你的安裝應用程序時,你手動複製它們。
可能它們被設置爲複製,並且您的ClickOnce可能會提供此設置。
但是有沒有辦法提升已擦除數據庫的性能? – A2maridz
該問題與備份無關。是的,您可以允許用戶進行MDF備份(將Filecopy功能用於.BAK文件)。但請記住:問題是從安裝/更新中取出MDF文件,否則所有更新都會重寫數據庫文件。 –
嚴格來說,這不是一個編程問題。如果你保持定期備份(你應該btw),你可以從那裏恢復。也許你可以給Windows Restore一個鏡頭。作爲解決方案的一部分,您不應該發佈您的sdf文件(假設您使用SQL Server CE)。 – dotNET
您是否使用代碼優先的方法使用實體框架建模? –
不,我們不是。但真正的問題是我們如何才能提升已擦除數據庫的性能(如果有方法) – A2maridz