簡體   English   中英

嘗試在指定文件位置創建數據庫時權限被拒絕

[英]Permission denied when trying to create database at a specified file location

我剛剛安裝了SQL Server 2012 Express,並且正在運行一個C#程序,該程序嘗試使用以下命令在指定位置創建數據庫:

create database [MyDatabase] 
    on primary (name=N'MyDatabase.mdf', 
        filename=N'C:\Users\myName\Documents\MyDatabase.mdf') 
        log on (name=N'MyDatabase_log.ldf', 
        filename=N'C:\Users\myName\Documents\MyDatabase_log.ldf')

從程序和Management Studio都失敗,並出現以下錯誤:

消息5133,第16級,狀態1,第2行
文件“ C:\\ Users \\ mikea_000 \\ Documents \\ MyDatabase.mdf”的目錄查找失敗,出現操作系統錯誤5(訪問被拒絕。)。
訊息1802,第16級,狀態1,第2行
CREATE DATABASE失敗。 列出的某些文件名無法創建。 檢查相關錯誤。

我需要采取什么步驟來授予SQL Server訪問此目錄的權限? 我正在通過集成安全性(SSMS中的Windows身份驗證)進行連接,並且我的用戶帳戶是計算機上的管理員。

我可以在不指定文件名的情況下創建和刪除數據庫:

CREATE DATABASE foo

只需向用戶"NT Service\\MSSQL$SQLEXPRESS"添加permissions ,或在services.msc檢查用戶名, SQL Server (SQLEXPRESS)服務

我遇到過同樣的問題。

若要解決,請右鍵單擊每個.LDF和.MDF文件,然后單擊“安全性”,然后對於當前用戶(我的用戶是“ Users(JG-LAP​​TOP \\ Users)”),勾選“完全控制”框。

回到SQL Server,然后重試,它現在將成功連接

我認為,如果目標目錄不在默認位置,則需要授予sql服務器(而不是用戶)使用目標目錄的權限。

數據庫引擎服務必須具有Windows文件系統的權限才能訪問存儲數據庫文件的文件夾。 在安裝過程中配置對默認位置的權限。 如果將數據庫文件放置在其他位置,則可能需要按照以下步驟向數據庫引擎授予對該位置的完全控制權限。

http://msdn.microsoft.com/en-us/library/jj219062.aspx

我通過右鍵單擊“ Appdata ”文件夾,Properties \\ Security並為用戶“ MSSQLSERVER ”授予完全控制權限來解決

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM