首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

SQL Server ALTER DATABASE 添加文件報錯「操作系統錯誤 5(拒絕訪問)」解決方案

     編輯:程式設計疑難解答

錯誤現象

嘗試打開或創建物理文件時,create file 遇到操作系統錯誤 5(拒絕訪問。)

執行 ALTER DATABASE ... ADD FILE 失敗,SQL Server 服務賬號無目標目錄寫入權限。

核心原因

SQL Server 實例運行的 Windows 服務賬號(默認為 NT Service\MSSQLSERVER 或配置的域賬號)沒有對目標文件夾的 修改/寫入權限。

解決步驟

  1. 定位目標文件夾(如 D:\SQLData\)。
  2. 右鍵屬性 → 安全 → 編輯 → 添加。
  3. 輸入對象名稱:NT Service\MSSQLSERVER(若為命名實例則為 NT Service\MSSQL$InstanceName),點「檢查名稱」確認。
  4. 授予 完全控制 或至少 讀取/寫入/修改 權限。
  5. 點確定應用,重新執行 ALTER DATABASE 語句。

T-SQL 示例

USE master;
GO
ALTER DATABASE MyDB
ADD FILE (
    NAME = MyDB_Data2,
    FILENAME = 'D:\SQLData\MyDB_Data2.ndf',
    SIZE = 100MB,
    MAXSIZE = UNLIMITED,
    FILEGROWTH = 50MB
);
GO

進階排查

  • 若使用網絡路徑(UNC),需確保服務賬號有網絡共享權限,且 SQL Server 服務啟動賬號為域用戶而非本地系統賬號。
  • 檢查磁盤配額、磁盤空間、防病毒軟件實時掃描攔截。
  • 查看 SQL Server 錯誤日誌(ERRORLOG)獲取詳細堆棧信息。

參考資料

SQL Server 文件權限配置詳細教程

錯誤截圖1 錯誤截圖2

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved