2012-12-27 132 views
0

我已經開發了一個帶MS-SQL Server數據庫的Java Swing應用程序,現在我想在我的java swing應用程序中提供備份和恢復選項,它應該點擊一個按鈕備份數據庫和恢復數據庫的任何可能性,我怎樣才能通過Java。請幫忙通過Java備份和恢復MS SQL Server數據庫程序

+0

請幫助...我該怎麼做 – Zaheer

回答

0

你可以寫一個簡單的script來備份你的數據庫並從java調用它。

+1

腳本中應包含什麼 – Zaheer

1

兩種方法可以做到這一點。備份和恢復只是sql命令,所以你應該像做其他任何一點sql一樣來完成它們,例如,一個sql插入語句,不幸的是,你需要知道一些關於系統的公平信息,並且你不會得到進度指示器。使用SQLSMO是另一種可能性,但不確定是否從Java打到.net dll。你可以使用SQLDMO(pre.net),但是你需要安裝向後兼容工具,並且你會給自己一個升級頭痛,因爲DM2012不支持DMO(雖然它似乎有效)。兩者都有一個事件,你可以在進度條上打勾,當然如果備份速度相當快,你可以逃避並不打擾。

但是,還有一些需要思考的問題。您可以在系統運行時進行備份,但是當系統處於運行狀態時,您無法確定清楚的位置。

恢復需要獨佔訪問權限和高級別的權限,所以它不是你發佈的東西,你需要讓每個人都離開數據庫。

最後但絕不是不重要的,將是非常糟糕的,如果你無意中恢復的版本不再匹配的應用程序的數據庫....

個人而言,我會說誰被授權人這樣做應該可以在沒有你的工具的情況下完成。把它弄下來,意味着有很多代碼,以確保它們不會從8個版本之前的試用版中恢復sql2000備份。

我們做了類似的備份恢復代碼是應用程序的2%回合。例如,我們使用dbcc等進行預備份檢查,以確保它們沒有成功備份損壞的分區...

+0

先生,因爲我是微軟SQL Server的新手,我知道只有創建表插入更新和刪除和編寫程序。所以請告訴你我一步一步做這個過程 – Zaheer

+0

我不做java,但是你會執行你的代碼中的一點sql和備份的SQL是備份數據庫[somedatabasename]到磁盤='somefilename'有一點點它,帳戶需要對數據庫的備份權限,並且帳戶sql server正在根據需要向正在使用的文件夾寫入權限而運行。這並不難,只需要一些設置。不過這是非常特定的設置,所以你必須在你的系統上完成它。 –

0

您確實需要在這裏付出一點努力。

由於您已經可以連接到數據庫服務器並向其發送SQL命令,請參閱this以使用TSQL進行備份。

對於數據庫恢復,請閱讀this

您需要擁有適當的權限並訪問硬件才能使其工作。