有時候在看 MSDN 的文件練習 SQL 語法時,會看到官方的範例 SQL,如果你想要執行該 SQL 試試看了話,你必須要先有一個 SQL Server 和一個資料庫,我通常會用 SQL Server Express 搭配 LocalDB 來當作測試環境,而官方的範例資料幾乎都是用 Adventure Works 的資料(以前是用NorthWind),那我們怎樣快速還原資料庫呢?請看下去。

要還原 Adventure Works 資料庫的資料,方法很多種,可以用 Script 還原或用資料庫還原的方式,不管哪種方式,你所需要的檔案都可以從這裡下載或到Sql Server Samples GitHub,下載時要注意你所需要的版本還原的方式就是了。

我個人偏好使用 Script 的方式安裝,主要是因為下載的檔案比較小,感覺會比較快完成測試環境建置。

使用 Script 還原的方式(以 2014 為例)

  1. 下載 Adventure Works 2014 OLTP Script.zip。注意!是 Script 的方式唷
  2. 解壓縮下載的檔案,會得到 CSV和 instawdb.sql 檔案
    • 請複製到 C:\Program Files\Microsoft SQL Server\120\Tools\Samples\Adventure Works 2014 OLTP Script\
    • 這是因為等一下要執行的 SQL 預設是指向這裡,當然,你也可以修改成自己想要的
  3. 使用 SSMS 開啟壓縮檔中的 instawdb.sql
  4. 點選 SSMS 的工具列 > 查詢 > SQLCMD模式 開啟此功能
  5. 接著執行此 Script 即可

使用資料庫還原的方式(以 2014 為例)

  1. 下載 Adventure Works DW 2014 Full Database Backup.zip。注意!是 Backup 的方式唷
  2. 解壓縮下載的檔案,會得到一個 AdventureWorks2014.bak 檔案
    • 64 位元系統,請複製至 C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup
    • 32 位元系統,請複製至 C:\Program Files (x86)\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup
    • 這是預設的路徑,當然,你也可以修改成自己想要的
  3. 開啟 SSMS 並新增查詢視窗
  4. 接著執行下面的 SQL 指令即可
USE [master]
RESTORE DATABASE AdventureWorks2014
FROM disk= 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\Backup\AdventureWorks2014.bak'
WITH MOVE 'AdventureWorks2014_data' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\AdventureWorks2014.mdf',
MOVE 'AdventureWorks2014_Log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\AdventureWorks2014.ldf'
,REPLACE

不管是使用 Script 還原還是使用資料庫方式,這裡可以下載到相關的安裝方式 PDF,可以參考看看。

同場加映

使用 LocalDB 時,我老是忘記資料庫的連線名稱,在此備註一下:

  1. SQL Server 2012 Express LocalDB 的連線伺服器名稱:(localdb)\v11.0
  2. SQL Server 2014 Express LocalDB 的連線伺服器名稱:(localdb)\MSSQLLocalDB

參考資料:


Poy Chang

Trial and Error