消息 5123,级别 16,状态 1,第 1 行 CREATE FILE 遇到操作系统错误 5(访问被拒绝。)

Msg 5123, Level 16, State 1, Line 1 CREATE FILE encountered operating system error 5(Access is denied.)

如何解决这个错误:

Msg 5123, Level 16, State 1, Line 1 CREATE FILE encountered operating system error 5(Access is denied.)

正在尝试打开或创建物理文件 'C:\Banking.mdf'。

您需要确保您对该帐户具有适当的帐户权限,才能访问 mdf 文件所在的文件夹。

可以在下面找到更多详细信息link。

https://dba.stackexchange.com/questions/22250/sql-server-create-file-encountered-operating-system-error-5-access-is-denied

我在第一次尝试 运行 Entity Framework Core / EF Core 时调用 'update-database' 时遇到了同样的错误。

我解决了!

完整的错误信息是: CREATE FILE 在尝试打开或创建物理文件时遇到操作系统错误 5(访问被拒绝。)'C:\Users\peterObjectData.mdf'。

在 C:\Users\ 目录中创建文件需要管理员权限。

要解决此问题,可以在连接字符串中为 mdf 文件添加文件位置和名称: optionsBuilder.UseSqlServer("Server = (localdb)\mssqllocaldb; Database = ObjectData; Trusted_Connection = True; AttachDbFileName=D:\Databases\ObjectDB.mdf");

这里,"D:\Databases\ObjectDB.mdf" 是创建的.mdf 文件的位置和文件名。这解决了我的问题。

如果您想阅读有关 ConnectionStrings 和 AttachDbFileName 的更多信息,请参阅此处的文档:
https://docs.microsoft.com/en-us/dotnet/api/system.data.sqlclient.sqlconnection.connectionstring?view=netframework-4.7.2#examples

那一定是你的C盘拒绝了SQL服务器创建文件。您可以将方向更改为其他驱动器 (D:;E:),或者如果您不想这样做,则必须更改 C:\ 驱动器的安全属性。右击C:,选择属性,安全,更改验证用户和用户为完全控制然后你好