使用預存程序備份SqlServer資料庫

來源:互聯網
上載者:User

標籤:時間   init   sof   back   exe   folder   weight   sel   sqlserver   

預存程序代碼如下所示:

CREATE PROCEDURE [dbo].[SP_BackupDB](    @BackPath NVARCHAR(200),                    --備份路徑,如:D:\Backup\    @BackDbName NVARCHAR(50),                   --需要備份的資料庫名稱    @BackName NVARCHAR(50)=@BackDbName OUTPUT,  --備份後的資料庫名稱,不需要.bak尾碼。若不傳,則等同於@BackDbName    @BackPathIsDate BIT=1,                      --備份路徑是否需要添加日期檔案夾,預設添加    @BackNameIsTime BIT=1                       --備份後的資料庫名稱是否需要追加目前時間,預設追加)ASBEGIN      IF(@BackPathIsDate=1)        BEGIN            SET @BackPath=@BackPath + CONVERT(VARCHAR, GETDATE(), 112) +‘\‘;        END    ---------------------------建立檔案夾 Begin---------------------------    DECLARE @FolderSQL NVARCHAR(MAX),        @Return INT= 0;      SET @FolderSQL = N‘EXEC sp_configure ‘‘show advanced options‘‘,1     RECONFIGURE WITH OVERRIDE;          EXEC sp_configure ‘‘xp_cmdshell‘‘,1     RECONFIGURE WITH OVERRIDE;      EXEC @Return=xp_cmdshell ‘‘mkdir ‘ + @BackPath        + ‘‘‘,NO_OUTPUT   --調用DOS命令建立檔案夾;      EXEC sp_configure ‘‘xp_cmdshell‘‘, 0     RECONFIGURE WITH OVERRIDE;      EXEC sys.sp_configure N‘‘show advanced options‘‘, N‘‘0‘‘    RECONFIGURE WITH OVERRIDE;    ‘;      --PRINT @FolderSQL;      EXEC sp_executesql @FolderSQL, N‘@Return INT OUTPUT‘, @Return OUTPUT;      --SELECT  @Return;       --PRINT @Return    ---------------------------建立檔案夾 End---------------------------    ---------------------------備份資料庫 Begin---------------------------    DECLARE @NowTime VARCHAR(100);    DECLARE @BackUpName VARCHAR(100);    SET @NowTime=CONVERT(VARCHAR, GETDATE(), 112)+REPLACE(CONVERT(VARCHAR, GETDATE(), 108),‘:‘,‘‘);    /*    IF(LEN(@BackName)<=0)        BEGIN            SET @[email protected];        END    */    IF(@BackNameIsTime=1)        BEGIN            SET @BackName=@BackName +‘_‘+ @NowTime;        END    SET @BackName=@BackName+‘.bak‘;    SET @BackUpName=@BackPath + @BackName;    BACKUP DATABASE @BackDbName    TO DISK=@BackUpName    WITH INIT;    ---------------------------備份資料庫 End---------------------------    SELECT @BackName BackName,@BackPath BackPath,@BackPath + @BackName FullBackName;ENDGO

 

使用預存程序備份SqlServer資料庫

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.