CREATE FILE encountered operating system error 5 -電腦資料

電腦資料 時間:2019-01-01 我要投稿
【www.solarmaxlimited.com - 電腦資料】

    實驗環境:

    操作系統版本: 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 目錄的權限(被屏蔽的是一域賬號),

CREATE FILE encountered operating system error 5

。此時我們創建數據庫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文檔,截取部分如下所示

    使用 Windows 資源管理器,導航到存儲數據庫文件的文件系統位置。右鍵單擊文件系統文件夾,然后單擊“屬性”。

    在“安全性”選項卡上,單擊“編輯”,然后單擊“添加”。

    在“選擇用戶、計算機、服務帳戶或組”對話框中,單擊“位置”,在位置列表的頂部選擇您的計算機名稱,然后單擊“確定”,

電腦資料

CREATE FILE encountered operating system error 5》(http://www.solarmaxlimited.com)。

    在“輸入要選擇的對象名稱”框中,鍵入聯機叢書主題“配置 Windows 服務帳戶和權限”中所列的每個服務 SID 的名稱。 (對于數據庫引擎每個服務 SID,將 NT SERVICE\MSSQLSERVER 用于默認實例,或將 NT SERVICE\MSSQL$InstanceName 用于命名實例。)

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

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

    再次單擊“確定”以返回“權限”對話框。

    在“組或用戶”名稱框中,選擇每個服務 SID,然后在“<名稱> 的權限”框中,為“完全控制”選中“允許”復選框。

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

    具體操作過程的截圖如下所示

   

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

   

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

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

最新文章
国产v亚洲v天堂无码网站,综合亚洲欧美日韩一区二区,精品一级毛片A久久久久,欧美一级待黄大片视频
亚洲欧美日韩中文在线不卡网 | 日韩a级片视频中文字幕 | 中文字幕在线免费观看一区 | 亚洲高清网址中文字幕 | 亚洲视频在线观看91 | 天天看高清影视在线官网 |