#坑 MsSql 新版本資料庫匯入舊版本

Jia
Sep 22, 2020

2020.09.22

因為是新轉舊,所以備分的方式(bac)檔無法匯入,而且又因為是實體環境網路有限制,也無法用點對點還原,所以只好用指令碼的方式,紀錄一下方法。

Step1 設置

在鑰備份的資料庫按右鍵,更改相容性層級

Step 2 產生指令碼

Step3.設定並匯出指令碼成script.sql

找到路徑,去把那兩個檔案複製起來。

Step4.執行指令碼

把剛剛用到的script 拉到新增查詢,然後就會跳出記憶體不足ORZ,只能用CMD的方式建立。

  1. 在要新增的資料庫中新增一個資料庫
  2. cmd 指令打
cd 到SQL server 的安裝目錄下(物件總管,資料庫按右鍵,屬性 看到根目錄就是了。cd D:\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL
sqlcmd -S . -U sa -P 123 -d test -i data.sql 參數說明:-S 服務器地址 -U 用戶名 -P 密碼 -d 數據庫名稱 -i 腳本文件路徑

正常來說但這一步應該就能成功了,但我依舊碰到了問題

Step4.1語法有錯誤

去看.sql原始檔,發現

居然是因為輸入存入資料庫的資料,有"("或是" )"。

此時有兩種解法:

1.一行資料一行資料找到並把會讓指令發生錯誤的指令碼改掉,再從新利用CMD執行script。

2.若不想一行一行試錯,可以先僅複製結構就好(Step2產生指令碼那處設置),等建置完基本資料庫結構後,再利用一個我寫的winform小工具手動一張表一張表複製,即可。

git上需要將專案clone下來在進行發布,發布後就能使用了。若有需要我在提供rar檔。

--

--

Jia

看一次不懂 就看兩次吧。每一天努力一點,不知不覺就會成為想像中的樣子的。 like60955@gmail.com