從其他電腦複製 .mdf/.ldf 附加時,常遇到錯誤 5120 / 5123:「無法開啟實體檔案... 拒絕存取」。根因為NTFS 權限不足,SQL Server 服務帳戶無法讀寫檔案。
.mdf / .ldf → 內容 → 安全性 索引標籤。services.msc → SQL Server 屬性 → 登入頁籤。NT SERVICE\MSSQLSERVER) 或網域帳戶,直接在安全性頁籤 新增 該帳戶。CREATE DATABASE MyDB
ON (FILENAME = 'D:\Data\MyDB.mdf')
FOR ATTACH; -- 應成功完成
SQL Server 安裝時會在資料目錄 (預設 ...\MSSQL\DATA) 設定 MSSQLSERVER / MSSQL$INSTANCE 虛擬帳戶完全控制。複製檔案會繼承來源權限,導致目標伺服器帳戶無權存取。
修正檔案權限是解決 5120/5123 最直接有效的方法。