gpt4 book ai didi

sql-server - 访问被拒绝 CREATE DATABASE LocalDB

转载 作者:行者123 更新时间:2023-12-04 08:12:40 24 4
gpt4 key购买 nike

我安装了 SSMS 18。我通过从 SQL Server Express 2017 installation 中选择它来安装一个新的 LocalDB 实例。因为它尚未包含在 SSMS 18 安装中。

安装后,当我尝试使用下面的 SQL 创建数据库时。

CREATE DATABASE Test

我收到以下错误:
Msg 5123, Level 16, State 1, Line 1
CREATE FILE encountered operating system error 5(Access is denied.) while attempting to open or create the physical file 'C:\Users\brechtTest.mdf'.
Msg 1802, Level 16, State 4, Line 1
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.

我注意到但不确定是否相关的一件事是文件路径根本没有意义。缺少反斜杠。

我调出服务器属性并尝试添加反斜杠以解决问题。
enter image description here

但后来这个错误击中了我。
enter image description here

之后,我尝试了一个冰雹,并授予每个人对 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14E.LOCALDB\MSSQLServer 的权限。这可以防止在更改服务器选项中的目录时弹出错误。但它并没有解决原来的问题。

enter image description here

奇怪的是,通过 GUI(如下所示)创建数据库没有问题。但是我需要 CREATE DATABASE 才能工作,因为我收到了使用此功能的 EntityFrameworkCore 迁移错误。

enter image description here

一旦我允许自己拥有对“C:\Users”的所有权限,我就可以使用 CREATE DATABASE 创建数据库,因为使用的文件路径是“C:\Users\brechtTest.mdf”。但是那个文件路径没有意义。

我尝试过的一些事情:
  • 重新安装 LocalDB。
  • 以管理员身份运行 SSMS。
  • 配置 SQL 服务器服务以使用本地用户。
  • 编辑 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL14E.LOCALDB\MSSQLServer 键以包含反斜杠。

  • 我怎样才能让它正常运行,即如何调整默认路径以包含反斜杠,以便“C:\Users\brechtTest.mdf”变为“C:\Users\brecht\Test.mdf”?

    最佳答案

    此错误是由 SQL Express 14.0.100 中的文件创建路径中的错误引起的。如果您受到影响,请按照以下步骤操作:

  • 在任务管理器中关闭 SSMS 和任何正在运行的 SQL Server 实例 >
    包括 SQL Server Telemetry 和 SQL Server Client NT 的进程
    相关任务。
  • 导航到 %LocalAppData%\Microsoft\Microsoft SQL Server
    Windows 资源管理器中的本地 DB\Instances\。
  • 删除您安装的任何本地实例,如 MSSQLLocalDB。
  • 打开您最喜欢的 CLI(如命令提示符)并使用这些 sqllocaldb 命令。如果它说命令无法执行,因为实例 MSSQLLocalDB 执行
    不存在,继续下一步。
    sqllocaldb stop MSSQLLocalDBsqllocaldb delete MSSQLLocalDB
  • 使用最新的累积更新更新本地安装的 SQL Server
    https://www.microsoft.com/en-us/download/confirmation.aspx?id=56128 .
    您可以在更新中心查看更新概述
    Technet 上的 Microsoft SQL Server:
    https://technet.microsoft.com/en-us/library/ff803383.aspx .
  • 成功更新后,使用 sqllocaldb create 命令。
    sqllocaldb create "MSSQLLocalDB"
  • 您的 CLI 应该提示它已经创建了一个
    localdb 版本 14.0.300 或更高版本:
  • LocalDB instance "MSSQLLocalDB" created with version 14.0.3223.3.
    如果您成功更新了本地数据库实例,但在之后收到此错误: SqlException: 'Cannot create file 'C:\Users\%USERNAME%\Database.mdf' because it already exists. ,请删除指定路径中的文件并重试。

    关于sql-server - 访问被拒绝 CREATE DATABASE LocalDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56281343/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com