SQL Server自動備份 備份到本地或者遠程服務器


0.1 在SQLServer2008 --> 備份數據庫 --> 安全 --> 新建用戶 --> 用戶名
                                       選擇該windows用戶 (確保 --> 機器名/人名 --> 是正確的,因為有換機器名的可能性)
                                     數據庫角色成員身份 --> db_owner
                                                       
1.設置
登錄SQLServer2008 --> 管理 --> 維護計划 --> 維護計划向導 --> 名稱: xx備份
                                     --> 更改 執行:每周
                                          執行間隔:1周 在 周幾
                                          每天頻率:執行一次     時間 00:00
                                          開始時間:   
                                     確定
                                 --> 選擇維護任務: 備份數據庫(完整)
                                 --> 下一步
                                 --> 選擇數據庫
                                     為每個數據庫創建備份文件
                                          文件夾:選擇目標(可以是遠程的目錄 --> 需要配置腳本見:4.) 
                                     壓縮
                                 --> 下一步
                                 --> 下一步
                                 --> 檢查
         編輯 --> 保存 --> 關閉(否則可能無效)
 
2.維護計划 --> 執行 (測試)
 
3.0.計算機 --> 管理 --> 服務 --> SQL Server 代理 (MSSQLSERVER) --> 自動 (必須確保它是自啟動)
 
3.1SQLServer2008 --> SQL Server 代理
     --> 作業(可能和維護計划不同) --> xx備份.Subplan_1(子計划的名稱) -->
     右鍵 --> 屬性 --> 計划 --> 編輯(這里只做查看用,最好 --> 維護計划 --> 編輯 --> 保存)
                                               右鍵 --> 開始作業步驟(測試該作業是否可以運行)
                                               右鍵 --> 啟動(或禁止)
查看作業狀態
 
SQLServer2008 --> SQL Server 代理 --> 作業活動監視器 --> 下次執行時間、狀態等
全新備份到遠程目錄(定時執行SQL版)
  SQLServer2008 --> SQL Server 代理 --> 新建作業
     常規 --> 名稱:自動備份(遠程)
          所有者:?
         類型:數據庫維護
     步驟 --> 新建 -->
              常規 -->名稱:執行備份SQL
                 類型 --> 選擇Transact-SQL 腳本(T-SQL)
                                    數據庫 --> msdb?
                 命令:下面的SQL代碼
                   按鈕 --> 分析 --> 已成功
              高級 -->作為以下用戶運行 --> ?
              確定
     計划 --> 新建 -->
              名稱:自動備份(遠程)-計划
              計划類型:重復執行 --> 已啟動 --> 選中
     通知 --> 寫入Windows應用程序事件日志 --> 選中 --> 當作業完成時(或其它)
     確定
 
    測試 -->  開始作業步驟
    確保它 --> 右鍵 --> 啟動(即沒有禁用圖標)
             
        
SQL代碼
EXEC sp_configure 'show advanced options', 1;RECONFIGURE;
EXEC sp_configure 'xp_cmdshell', 1;RECONFIGURE;
 
declare @machine nvarchar(50) = '192.168.200.175'       --服務器IP
declare @path nvarchar(50) = '208bf'               --服務器共享目錄名稱
declare @user nvarchar(50) = 'happy'               --服務器的用戶名
declare @pwd nvarchar(50) = '
 '                    --服務器的密碼
declare @database nvarchar(50)  = 'SmartMPM'            --本地要備份的數據庫名稱
 
if left(@path,1) != '\' set @path = '\'+@path
declare @sql nvarchar(800) = 'net
 use \\'+@machine+@path+' "'+@pwd+'"
 /user:'+@machine+'\'+@user
--建立連接類似:'net use \\192.168.200.175\208bf " " /user:192.168.200.175\happy'
Exec xp_cmdshell @sql
 
declare @date datetime = getdate();
Declare @fileName nvarchar(200) = '\\'+@machine+@path+'\'+@database + replace(Convert(nvarchar,@date,120 ) ,':','_') + '.bak'
--備份數據庫
Backup Database SmartMPM To disk = @fileName With Format
 
set @sql = 'net use \\'+@machine+@path+'
 /delete'
--斷開連接類似:'net use \\192.168.200.175\208bf /delete'
Exec xp_cmdshell @sql

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM