AdventureWorks 是 SQL Server 2005 官方範例資料庫,支援 OLTP、資料倉庫 (AdventureWorksDW)、BI (AdventureWorksBI) 多種教學場景。**預設安裝不包含此資料庫**,需手動下載安裝。本文提供兩種完整安裝路徑。
AdventureWorksDB.msi (核心 OLTP 資料庫)AdventureWorksBI.msi (BI/資料倉庫擴充)C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\
注意:MSI 僅部署檔案,**尚未掛載至 SQL Server 執行個體**,需執行附加操作。
EXEC sp_attach_db @dbname = N'AdventureWorks',
@filename1 = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf',
@filename2 = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Log.ldf';
若安裝非預設路徑,請修改檔案路徑對應實際位置。
AdventureWorks_Data.mdf_Log.ldf,可在下方面板確認/修改路徑
-- 檢查資料庫是否上線
SELECT name, state_desc FROM sys.databases WHERE name LIKE 'AdventureWorks%';
-- 簡單查詢測試
USE AdventureWorks;
SELECT TOP 10 * FROM Person.Contact;
| 錯誤現象 | 原因 | 解決 |
|---|---|---|
| 「找不到檔案」 | 路徑錯誤、檔案被移動/刪除 | 確認 Data 目錄下實際檔名,修正路徑 |
| 「資料庫已存在」 | 同名資料庫已附加 | 先卸離現有資料庫,或指定不同附加名稱 |
| 「版本不支援」 | 嘗試將 2005 資料庫附加至 2000 | 不可行,需在 2005+ 環境使用 |
| 權限不足 | 服務帳號無資料夾讀取權限 | 授予 SQL Server 服務帳號資料夾 NTFS 讀取/寫入權限 |
$server = "localhost\SQLEXPRESS"
$dbName = "AdventureWorks"
$dataPath = "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf"
$logPath = "C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Log.ldf"
Invoke-Sqlcmd -ServerInstance $server -Query "
EXEC sp_attach_db @dbname = N'$dbName',
@filename1 = N'$dataPath',
@filename2 = N'$logPath';
"
AdventureWorks 安裝 = **MSI 部署檔案 + sp_attach_db/SSMS 附加掛載**。掌握雙軌操作,無論是開發機手動部署、測試環境自動化佈建、還是教學環境批量準備,都能遊刃有餘。建議將附加腳本納入團隊環境建置標準化流程 (如 Dockerfile、Ansible Playbook、PowerShell DSC)。