CREATE FILE encountered operating system error 5(Access is denied.)

來源:互聯網
上載者:User

標籤:

    這篇博文主要示範”CREATE FILE encountered operating system error 5(Access is denied.)“錯誤如出現的原因(當然只是導致這個錯誤出現的一種情境而已)和如何解決這個問題以及一些不解的迷惑。

 

實驗環境:

        作業系統版本: Windows Server 2012 SP2

        資料庫的版本:Microsoft SQL Server 2014 - 12.0.2000.8

如下所示,SQL Server Database Services 服務的啟動帳號為NT Service\MSSQLSERVER, 我們先設定一下資料庫的預設路徑為E:\SQL_DATA

此時查看E:\SQL_DATA 目錄的許可權(被屏蔽的是一域帳號)。此時我們建立資料庫Test完全沒有問題。我們先刪除資料庫Test。

現在我們刪除使用者GETTESTNT55\Users這個帳號,在目錄E:\SQL_DATA的屬性(Properties)->安全(Security)-> 編輯(Edit)下直接刪除會遇到下面錯誤。

我們從E盤的根目錄,右鍵屬性選擇Security 刪除這個使用者,然後我建立新的資料庫時就會遇到CREATE FILE encountered operating system error 5(Access is denied.)錯誤。

那麼如何解決呢? 我們可以給目前的目錄添加虛擬帳戶NT Service\MSSQLSERVER 並授予相關許可權解決這個問題。具體可以參考MSDN文檔,截取部分如下所示

  1. 使用 Windows 資源管理員,導航到儲存資料庫檔案的檔案系統位置。按右鍵檔案系統檔案夾,然後單擊“屬性”

  2. “安全性”選項卡上,單擊“編輯”,然後單擊“添加”

  3. “選擇使用者、電腦、服務帳戶或組”對話方塊中,單擊“位置”,在位置列表的頂部選擇您的電腦名稱,然後單擊“確定”

  4. “輸入要選擇的對象名稱”框中,鍵入聯機叢書主題“配置 Windows 服務帳戶和許可權”中所列的每個服務 SID 的名稱。 (對於資料庫引擎每個服務 SID,將 NT SERVICE\MSSQLSERVER 用於預設執行個體,或將 NT SERVICE\MSSQL$InstanceName 用於具名執行個體。)

  5. 單擊“檢查名稱”以驗證該條目。驗證經常失敗,而且可能告知您找不到該名稱。單擊“確定”時,將顯示“找到多個名稱”對話方塊。

  6. 現在選擇每個服務 SID(MSSQLSERVER 或 NT SERVICE\MSSQL$InstanceName),然後單擊“確定”

  7. 再次單擊“確定”以返回“許可權”對話方塊。

  8. “組或使用者”名稱框中,選擇每個服務 SID,然後在“<名稱> 的許可權”框中,為“完全控制”選中“允許”複選框。

  9. 單擊“應用”,然後單擊“確定”兩次以退出。

具體操作過程的如下所示

許可權的話,至少需要”Read & Execute“、”List Folder Content“、”Read“、”Write“許可權,當然如果你能給”Full Control“許可權那肯定是可以。許可權我們應該盡量控制最小範圍內。

此時就能解決這個錯誤,此時你刪除該使用者,然後在這個目錄添加EVERYONE使用者,授予上面的許可權也能解決這個錯誤。當然在安全性上就不如給虛擬賬戶NT Service\MSSQLSERVER帳號授權。

肯定有細心的人會問,我們不添加虛擬賬戶NT Service\MSSQLSERVER或EVERYONE,我們重新添加這個使用者GETTESTNT55\Users、授予同樣的許可權是否可以解決這個問題? 答案是依然會遇到這個錯誤,為什麼呢? 暫時我沒有搞明白具體原因,是不是有點諷刺,知道了怎麼解決,但是依然不清楚具體原因。當然涉及許可權的問題確實有點複雜。如果哪位知道具體原因,請不吝賜教。

 

參考資料:

http://www.guyellisrocks.com/2010/07/create-file-encountered-operating.html

http://stackoverflow.com/questions/11178536/create-file-encountered-operating-system-error-5failed-to-retrieve-text-for-thi

https://msdn.microsoft.com/zh-cn/library/jj219062.aspx

CREATE FILE encountered operating system error 5(Access is denied.)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.