sql server 2008 壓縮備份數據庫(20g)
今天需要把一個省外項目的數據庫從服務器上備份、拷貝到本機(跨地域傳輸數據庫備份文件)。
連上VPN,通過遠程桌面連接,連接上服務器,發(fā)現數據庫文件已經有20G以上大小了。
文件太大,公司網絡也不穩(wěn)定,根本不可能通過網絡傳輸過來。
于是,把數據庫的恢復模式由“完整”模式設置為“簡單”模式,接著收縮數據庫,
數據庫瞬間由20G變成1G多點。
在SSMS中,新建查詢窗口,執(zhí)行數據庫備份語句:
--定義變量,把備份數據庫的QL腳本賦值給變量 declare @SqlBackupDataBase as nvarchar(1000) set @SqlBackupDataBase=N'BACKUP DATABASE Northwind TO DISK = ''D:\Northwind-'+ CONVERT(varchar(11),GETDATE(),112)+REPLACE(CONVERT(varchar(12),GETDATE(),108),':','')+'.bak''' --備份文件格式:Northwind-20170111132424.bak exec sp_executesql @SqlBackupDataBase --調用系統(tǒng)存儲過程,執(zhí)行SQL
備份成功后,備份的bak文件有1.16G大?。?/p>
接著,興沖沖地拷貝bak文件到本機,
結果:總是在傳輸的過程中,傳輸自動中斷。
原因是 網絡不穩(wěn)定,網絡的帶寬限制。
想想,能不能備份成更小的bak文件呢?
最后用到了sql server 2008 以上版本的數據庫的新特性:壓縮備份數據庫。
其實就是在備份數據庫的語句上加上 “with STATS = 1,compression”,
完整壓縮備份數據庫語句如下:
--定義變量,把備份數據庫的QL腳本賦值給變量 declare @SqlBackupDataBase as nvarchar(1000) set @SqlBackupDataBase=N'BACKUP DATABASE Northwind TO DISK = ''D:\Northwind-'+ CONVERT(varchar(11),GETDATE(),112)+REPLACE(CONVERT(varchar(12),GETDATE(),108),':','')+'.bak''' +'with STATS = 1,compression' --備份文件格式:Northwind-20170111132424.bak exec sp_executesql @SqlBackupDataBase --調用系統(tǒng)存儲過程,執(zhí)行SQL
備份成功后,發(fā)現備份的bak文件只有160MB大?。?/p>
最后順利地把這個數據庫備份文件拷貝并還原到本機數據庫。
相關文章
SQL?Server?Reporting?Services?匿名登錄的問題及解決方案
這篇文章主要介紹了關于?SQL?Server?Reporting?Services?匿名登錄的解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-09-09SqlServer開發(fā)神器'SQLPrompt'插件的使用詳解
SQLPrompt是Sql?Server?開發(fā)智能提示插件,方便查詢表結果,避免了開發(fā)人員一個個敲查詢語句、執(zhí)行語句等,這篇文章主要介紹了SqlServer數據庫開發(fā)神器'SQLPrompt插件'的使用說明,需要的朋友可以參考下2023-03-03SQL Server降權運行 SQL Server 2000以GUESTS權限運行設置方法
由于sql注入問題比較常見,很多黑客都是通過sqlserver數據庫漏洞直接獲取系統(tǒng)權限,所以sqlserver的安全設置尤為重要,簡單簡單分享下sqlserver低權限運行方法2014-07-07