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;
7:最終我們可以看到,手動備份和腳本備份的是一樣的效果
8:最后關於怎么全自動執行腳本,請參考我之前寫的學習筆記
https://www.cnblogs.com/Fengge518/p/11483109.html