2011-07-19 96 views
0

我正在我們的購物車上安裝Service Pack。他們建議在安裝之前備份SQL數據庫。我知道我們有託管公司完成的磁帶驅動器的備份,但是我希望我知道確切的時間戳,並且可以快速訪問,如果我需要在升級過程中重新加載它,可以快速訪問它。 (我不想讓商店停留時間超過需要的時間。)如何備份SQL數據庫(表格,映射,索引等)

如何建議備份SQL數據庫以便輕鬆地重新加載某個習慣於編寫查詢和存儲過程的用戶?(我想獲得的一切 - 映射&指數等 - 因爲我不知道什麼是所有的人都或如何重新制作圖片)

我通過遠程桌面訪問數據庫,並可以鏈接我的硬盤驅動器和DVD驅動器,如果有幫助。這是MSSQL 2008.

非常感謝。

最良好的祝願, 安德烈

回答

0

BACKUP DATABASE databasename TO DISK='C:\somefile.bak' WITH COPY_ONLY, INIT, FORMAT, CHECKSUM

Obviosly更換databasename和目標C:\somefile.bak適當。請記住,文件和路徑在服務器上;遠程連接不會更改備份文件的存儲位置 - 換句話說,它不會存在於本地計算機上。

如果需要,可以省略WITH選項。如果您不想覆蓋目標.bak文件,請將INIT刪除。對你來說COPY_ONLY不是什麼大不了的事。 CHECKSUM僅用於在數據備份之前驗證數據,如果您沒有爲數據庫啓用CHECKSUM,則可能無關緊要 - 儘管默認情況下從MS SQL 2005新數據庫開始。

對於BACKUPRESTORE的MS文檔在其基本形式中不太難理解。如果您有權訪問它,也可以使用Management Studio任務 - >備份或任務 - >還原GUI。

+0

非常感謝你Mufasa。這有很大幫助。我檢出了您提供的Transact-SQL鏈接。他們看起來像我可以弄明白的東西。感謝您的快速和明確的幫助。 – Andrea

+0

對於任何嘗試這些步驟的用戶,如果出現「操作系統錯誤5(訪問被拒絕)」轉到「控制面板」>「管理工具」>「服務」。在列表中找到MS SQL Server並查看它在哪個帳戶下運行。對於路徑C:\ somefolder \ somefile.bak,請確保右鍵單擊某個文件夾,然後選擇「屬性」併爲您在「服務」下找到的用戶名添加「寫入」權限。 – Andrea

+0

需要注意的是,如果您使用COPY_ONLY選項,則只能從命令行進行恢復。 – djangofan