大文件SQl腳本怎么還原以及SQlsqlserver怎么全自動備份數據庫


1:導出的SQl腳本文件通常大於100M左右就會還原不了,不是報錯就是說系統文件找不到(sql腳本是直接拖進來的,不存在路徑的問題).

 

2:CMD 使用 OSQL命令或者Sqlcmd命令都是可以解決的,其實就是采用的ODBC的技術,一行一行的去執行(這樣幾十G的腳本文件都沒有問題).

 

3:經個人測試,下面兩個命令都可以:

  osql -S"XB-201907130929\ZRFSQLSERVER" -U"sa" -P"QQ88" -i"mysqlBack.sql" -d"FenggeTestDB" 

  sqlcmd -S"XB-201907130929\ZRFSQLSERVER" -U"sa" -P"QQ88" -i"mysqlBack.sql" -d"FenggeTestDB"

 

4:-S 你的sqlserver數據庫的服務器名稱; -U 用戶名; -P 密碼; -i 你的文件路徑; -d 你的數據庫名稱(建議先在數據庫中創建好).

 

5:如下測試的截圖:

5.1:報錯

 

 5.2:在SQl腳本的路徑下打開CMD並查看對應的命令:

 

5.3執行命令后會一行一行的顯示:一行受到影響,最后成功的效果如下:可以看到數據庫已經有表以及數據

 

 

6:全自動備份SQlserver中的數據庫:直接上干貨

     6.1 手動備份單個文件:

Backup Database database_name
To disk='X:\folder\database_name_mirror1.backupname.bak'

     6.2:使用作業計划全自動備份, SQl腳本如下:

DECLARE @date DATETIME=GETDATE();
DECLARE @name VARCHAR(20);
DECLARE @okpath varchar(100);
SELECT @name= CONVERT(VARCHAR,DATEPART(YEAR,@date),10) +
'-'+ CONVERT(VARCHAR,DATEPART(MONTH,@date),10)+
'-'+CONVERT(VARCHAR,DATEPART(DAY,@date),10)+
'-'+CONVERT(VARCHAR,DATEPART(HOUR,@date),10)+
'-'+CONVERT(VARCHAR,DATEPART(MINUTE,@date),10)+
'-'+CONVERT(VARCHAR,DATEPART(SECOND,@date),10);
SET @okpath='D:\upfile\upfile_backup'+ convert(varchar,@name,20)+'.bak'
PRINT(@name);
PRINT(@okpath);

BACKUP Database DBTEST
 To disk=@okpath  --WITH int;
View Code

7:最終我們可以看到,手動備份和腳本備份的是一樣的效果

 

8:最后關於怎么全自動執行腳本,請參考我之前寫的學習筆記

  https://www.cnblogs.com/Fengge518/p/11483109.html

 


免責聲明!

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



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