追蹤
我是我,葉子
關於部落格
用心感受生命 分享生活的美好,把生活的點滴記錄在網誌裡,在未來慢慢回味今天的經歷和感覺......
  • 1740644

    累積人氣

  • 517

    今日人氣

    2

    追蹤人氣

備份SQL Server DB到網路磁碟機的方法

XP_CMDSHELL預設是被關閉不能使用,因此先用sp_configure來開啟XP_CMDSHELL。
  1. EXEC sp_configure 'show advanced options', 1
  2. GO
  3.  
  4. RECONFIGURE
  5. GO
  6.  
  7. EXEC sp_configure 'xp_cmdshell', 1
  8. GO
  9.  
  10. RECONFIGURE
  11. GO
開啟了這個功能之後,就可以開始來進行後續的動作了

[建立網路磁碟機指令]
  1. EXEC XP_cmdshell 'net use b: \192.168.1.1share Password /user:administrator'
[ 備份資料庫指令]
  1. use master
  2. DECLARE @BackupFile varchar(255), @DB varchar(30), @Description varchar(255), @LogFile varchar(50)
  3. DECLARE @Name varchar(30), @MediaName varchar(30), @BackupDirectory nvarchar(200)
  4. SET @BackupDirectory = 'B:'
  5. --Add a list of all databases you don't want to backup to this.
  6. DECLARE Database_CURSOR CURSOR FOR SELECT name FROM sysdatabases WHERE name <> 'tempdb' AND name <> 'model' AND name <> 'msdb'
  7. OPEN Database_Cursor
  8. FETCH next FROM Database_CURSOR INTO @DB
  9. WHILE @@fetch_status = 0
  10.  
  11.     BEGIN
  12.         SET @Name = @DB + '( Daily BACKUP )'
  13.         --SET @MediaName = @DB + '_Dump' + CONVERT(varchar, CURRENT_TIMESTAMP , 112)
  14.     SET @MediaName = @DB + '_Dump'
  15.         SET @BackupFile = @BackupDirectory + + @DB + '_' + 'Full.bak'
  16.         SET @Description = 'Normal' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'
  17.  
  18.         IF (SELECT COUNT(*) FROM msdb.dbo.backupset WHERE database_name = @DB) > 0 OR @DB = 'master'
  19.             BEGIN
  20.                 SET @BackupFile = @BackupDirectory + @DB + '_' + 'Full.bak'
  21.                 --SET some more pretty stuff for sql server.
  22.                 SET @Description = 'Full' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'
  23.             END   
  24.         ELSE
  25.             BEGIN
  26.                 SET @BackupFile = @BackupDirectory + @DB + '_' + 'Full.bak'
  27.                 --SET some more pretty stuff for sql server.
  28.                 SET @Description = 'Full' + ' BACKUP at ' + CONVERT(varchar, CURRENT_TIMESTAMP) + '.'
  29.             END
  30.             BACKUP DATABASE @DB TO DISK = @BackupFile
  31.             With Init, NAME = @Name, DESCRIPTION = @Description ,   -- With Init 表示覆寫原本的檔案
  32.             MEDIANAME = @MediaName, MEDIADESCRIPTION = @Description ,
  33.             STATS = 10
  34.         FETCH next FROM Database_CURSOR INTO @DB
  35. END
  36. CLOSE Database_Cursor
  37. DEALLOCATE Database_Cursor
[刪除網路磁碟機指令]
  1. EXEC XP_cmdshell 'net use b: /delete'
這樣就可以解決這個問題了!


延伸閱讀:
https://dotblogs.com.tw/rockchang/2015/03/31/150901
https://social.technet.microsoft ... rvermanagementzhcht
相簿設定
標籤設定
相簿狀態