【问题标题】:Azure Storage Emulator fails after update to Windows 10 Anniversary updateAzure 存储模拟器在更新到 Windows 10 周年更新后失败
【发布时间】:2023-03-24 04:21:01
【问题描述】:

大约一周前,我的机器获得了 Windows 周年纪念更新。从那时起,我就无法启动 Azure 存储模拟器。我尝试卸载并重新安装 Azure Storage Emulator 和 SQL Express Local DB。我还尝试了here 概述的步骤。两者都没有解决问题。 MSSQLLocalDB 存在,我可以通过 SQL Management Studio 连接到它。

如果我尝试手动初始化存储数据库,我会收到以下错误消息:

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>AzureStorageEmulator.exe init -inprocess
Windows Azure Storage Emulator 4.3.0.0 command line tool
Cannot reserve port: HttpSetServiceConfigurationAcl failed: Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7).
One or more initialization actions have failed. Resolve these errors before attempting to run the storage emulator again.
Error: Cannot reserve port: HttpSetServiceConfigurationAcl failed: Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7).

编辑:此时我已经尝试卸载/重新安装 Visual Studio 2015、SqlLocalDB 2016 和 Azure SDK 2.9.5。存储模拟器仍然无法初始化。如果我重新运行 MicrosoftAzureStorageEmulator.msi,我会收到错误消息:“Windows 存储模拟器服务已停止工作”。这是日志:

Action 10:33:33: RunInitialize. Initializing the Storage Emulator
CAQuietExec:  Windows Azure Storage Emulator 4.5.0.0 command line tool
CAQuietExec:  Error: An unknown error has occurred.
CAQuietExec:  Error 0xffffffff: Command line returned an error.
CAQuietExec:  Error 0xffffffff: CAQuietExec Failed
CustomAction RunInitialize returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 10:35:57: InstallFinalize. Return value 3.
Action 10:35:57: Rollback. Rolling back action:
Rollback: Initializing the Storage Emulator
Rollback: Copying new files
Rollback: Updating component registration
Action ended 10:35:57: INSTALL. Return value 3.
Action ended 10:35:57: ExecuteAction. Return value 3.
Action 10:35:57: FatalError. 
Action start 10:35:57: FatalError.
Action 10:35:57: FatalError. Dialog created
Action ended 10:35:58: FatalError. Return value 2.
Action ended 10:35:58: INSTALL. Return value 3.

SqlLocalDB 似乎大部分都正常运行。我可以毫无问题地从命令行创建和删除数据库。这是 SqlLocalDB i 的输出:

c:\Users\genslow\Downloads>sqllocaldb i
MSSQLLocalDB
ProjectsV13
v12.0
v13.0

谢谢, 格雷格

【问题讨论】:

  • 责备 BillCo...Win10 更新现在一团糟,M$ 正在使用每个人作为他们的 beta 测试人员...
  • 您可以尝试从提升的命令提示符运行该命令吗?或者删除“-inprocess”参数,它会提示提升。另外,您在尝试启动模拟器时看到的错误是什么?
  • 谢谢迈克尔。我尝试过的所有步骤都是在提升的命令提示符下进行的。请查看我添加到原始问题的其他数据。存储模拟器当前无法安装而不会崩溃。
  • 存储模拟器需要端口 10000、10001 和 10002 才能正常工作。上面的错误表明未能保留这些端口。目前是否有其他应用程序使用这些端口中的任何一个?

标签: sql-server azure azure-storage


【解决方案1】:

无法保留端口:HttpSetServiceConfigurationAcl 失败:当该文件已存在时无法创建该文件。 (来自 HRESULT 的异常:0x800700B7)。

根据错误信息,好像数据库已经存在,所以返回错误。请尝试删除数据库(删除前可以备份数据库文件),然后执行Init命令。您也可以尝试使用“-forcecreate”,即使它已经存在,它也会强制创建数据库。此外,请确保您以管理员身份运行来配置存储模拟器。

【讨论】:

  • SqlLocalDB -i 不报告任何现有的 azure db,我找不到任何杂散的 .mdf 文件。 -forcecreate 没有任何区别。如果此错误消息返回了冲突文件的文件名,那将非常有帮助。
  • this blog 讨论了“Azure Emulator Crash with error 0x800700b7: Cannot create a file when that file already exists”问题,您可以阅读。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-05-18
  • 1970-01-01
  • 1970-01-01
  • 2014-11-30
  • 2021-07-06
相关资源
最近更新 更多