Sqlserver數據庫備份的幾種方式

在實際的數據庫Sqlserver的運維的過程當中,不少時候咱們須要作到數據的備份操做,能夠作到定時備份,也能夠進行手動數據庫備份。在實際的過程當中,有時候因業務須要備份出完整數據庫,而有時候又由於實際業務只須要影響到一張表或者幾張表,備份整個數據庫未必是最優的方案,此時可採用生成腳本或者Select Into的方式對單表進行備份。DBA在運維過程當中備份數據差很少用的就是以上幾種操做方式,下面就詳細說下這幾種備份方式。sql

(1)數據庫整庫備份數據庫

此方式備份數據庫是最完整的,能夠將數據庫中全部的對象都備份下來生成個.Bak文件,後續若是出現問題,能夠直接經過.bak文件還原數據庫,但備份的耗時會比較長,而且佔用磁盤空間會比較大。此方法備份的操做是直接在Sqlserver數據庫管理軟件中選中數據庫,右鍵選擇任務,而後選擇備份,以下圖架構

 

 

而後進入備份界面後選擇備份存放的路徑以及設置好備份文件名稱,點擊肯定便可進行備份,以下圖運維

 

(2)經過生成腳本的方式單表備份server

有時候咱們業務系統的更新可能只涉及到一張表或者幾張表,此時能夠經過對每一個數據表進行單表備份的方式來操做,只備份這幾張涉及到變動操做的數據表。操做的方法爲在Sqlserver數據庫管理軟件中選中數據庫,右鍵選擇任務,而後選擇生成腳本,參考方法一中的第一個圖。而後進入生成腳本界面,選擇下一步進入設置界面:對象

 

 

進入設置界面後,選擇特定的數據庫對象,而後再從中選擇你須要備份的數據表,以下圖:blog

 

 

而後點擊下一步,進入存儲路徑以及導出設置界面,保存到文件能夠選擇保存爲單個文件或者每一個對象一個文件。此處關鍵一點記得選擇高級按鈕,在裏面設置要編寫腳本的數據類型,不然默認規則導出來的文件中只含有表的架構語句(即建立table的SQL語句),不含有任何表數據。以下圖table

 

選擇高級按鈕後,進入高級設置項,將下拉菜單下拉到最後能夠看到一個設置項叫作要編寫腳本的數據的類型。將之設置爲架構和數據或者僅限數據。只有這兩種方式導出來的文件中才包含表格中的數據,僅限架構導出來的只是建立table的語句。軟件

 

設置好上述信息後點擊完成,自動建立備份文件到指定的存儲路徑下,生成的文件是.sql後綴的數據庫SQL文件。數據類型

 

(3)經過Select Into語句將一個錶快速備份到一個臨時新表中。

此備份方法是將查找出來的數據快速寫入到指定的備份新表中,自動建立table。

如將A數據庫中的Product表全部數據快速備份到ABackUp數據庫中的Product_0228表中,可以使用如下語句操做,直接在新建查詢窗口執行便可。

Select   *   Into  ABackUp.dbo.Product_0228  FROM A.dbo.Product;

執行此語句要求into後面的表在執行以前不存在,存在的話上述語句沒法執行。這個Product_0228表格也無需手動處理,上述語句在執行的時候自動建立跟Product表一致的結構。

相關文章
相關標籤/搜索