Azure存储模拟器无法通过“数据库'AzureStorageEmulatorDb57'不存在”进行初始化

Mur*_*oft 13 sql-server-express azure-storage azure-storage-emulator

我在Azure存储模拟器上遇到问题。我试图重新初始化数据库,并收到以下错误。

这是在安装Visual Studio 2019预览版之后,但这可能只是巧合。我尝试了一个小时左右才能使其运行,然后放弃并仅使用“保留我的文件”选项重置我的机器,重新安装了Visual Studio 2017和Azure工具,但仍然遇到相同的问题。

我知道重置听起来有点激烈,但是VS 2019在VS2017中破坏了我的Azure函数,它们无法启动,所以我想要全新安装。

如果我使用sqllocaldb create(版本13.1.4001.0)手动创建数据库,则可以很好地创建数据库,但是初始化仍然失败,并显示相同的消息。

有任何想法吗?

C:\ Program Files(x86)\ Microsoft SDKs \ Azure \ Storage Emulator> AzureStorageEmulator.exe init Windows Azure存储模拟器5.7.0.0命令行工具找到了SQL实例(localdb)\ MSSQLLocalDB。在SQL实例'(localdb)\ MSSQLLocalDB'上创建数据库AzureStorageEmulatorDb57。无法创建数据库'AzureStorageEmulatorDb57':数据库'AzureStorageEmulatorDb57'不存在。提供有效的数据库名称。若要查看可用的数据库,请使用sys.databases。一个或多个初始化操作已失败。解决这些错误,然后尝试再次运行存储模拟器。错误:无法创建数据库'AzureStorageEmulatorDb57':数据库'AzureStorageEmulatorDb57'不存在。提供有效的数据库名称。若要查看可用的数据库,请使用sys.databases。

Ste*_*ter 37

重置我的机器(并保留文件)后,我遇到了这个问题。对我来说,由于无法启动模拟器的错误,我无法在 Visual Studio 2019 中运行 Azure 函数。

看起来我在重置后与(我认为)我的新帐户有相同的权限问题,但无权访问数据库。

我通过以下方式解决了这个问题:

  1. 删除 Azure 存储模拟器 DB 文件: %USERPROFILE%/AzureStorageEmulatorDb[number].mdf
  2. 然后AzureStorageEmulator.exe start以管理员权限运行

然后我就可以毫无问题地运行 Azure Function。

  • 谢谢,它成功了,我删除了 .mdf 文件并重新运行存储模拟器 START 命令。完毕 (3认同)
  • 是的!这对我有用,只需删除 mdf 文件,然后再次运行“init”命令即可。谢谢 (3认同)
  • 谢谢!这也对我有帮助。我迁移到一台新电脑,并意外地将这个 mdf 文件复制到新电脑,因此它阻止了 azure 模拟器创建数据库。删除它并且它起作用了。 (3认同)

Eug*_*iró 15

我遇到了这个问题,我不知道为什么当我删除 MSSQLLocalDB 实例时,AzureStorageEmulatorDb57_log.ldf仍然存在于我的%USERPROFILE%目录中,但在删除该文件后问题就消失了。


小智 13

  1. 如果Azure模拟器正在运行,请停止它。
  2. 打开SSMS并连接到您的(localdb)实例。
  3. 手动创建“ AzureStorageEmulatorDb57”。
  4. 以管理员身份打开命令提示符。
  5. 运行“ AzureStorageEmulator.exe init”。
  6. 运行您的VS项目。


ale*_*roy 12

在为SQL Server 2017安装LocalDb之后,我也遇到了同样的问题。这些步骤帮助我解决了所面临的问题:

  • 在中打开命令行 C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator
  • AzureStorageEmulator.exe init /forceCreate
  • 通过检查我的错误日志(位于%USERPROFILE%\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Instances\MSSQLLocalDB),我看到了

    2018-12-21 15:41:13.47 spid65在尝试打开或创建物理文件'C:\ Users {username} AzureStorageEmulatorDb59.mdf'时,CREATE FILE遇到操作系统错误5(访问被拒绝。)。

  • 此错误将我引向以下帖子:https : //dba.stackexchange.com/questions/191393/localdb-v14-creates-wrong-path-for-mdf-files
  • 通过阅读答案,我发现这是SQL Server 2017中的错误。在无法访问补丁程序的情况下,对我有用的解决方案是授予Everyone对Modify的访问权限C:\Users。这只是我的开发笔记本电脑上的一个问题,因此我有能力进行安全更改

  • 确实,这就是问题所在。我为SQL Server 2017安装了[CU13 HotFix](https://sqlserverupdates.com/sql-server-2017-updates/),它现在可以工作。 (3认同)

Geo*_*hen -1

我初始化了数据库实例并成功,但我的 SQLServer 是 2017。

然后我搜索解决方案,文档说删除故障数据库即可解决问题。也许您可以按照文档中的步骤尝试一下。