Azure cosmosdb Cosmos DB模拟器赢得';不要在Windows 10上启动
当我尝试启动Cosmos Emulator 2.7.2.0时,收到此错误: 在一台新的win10机器上试用过,现在可以用了。你有什么想法吗 我试了所有的方法 查看etl文件也没有给我任何信息 这是我第一次尝试在我的机器上安装它 --更新-- 我打开了dmp文件,发现:Azure cosmosdb Cosmos DB模拟器赢得';不要在Windows 10上启动,azure-cosmosdb,Azure Cosmosdb,当我尝试启动Cosmos Emulator 2.7.2.0时,收到此错误: 在一台新的win10机器上试用过,现在可以用了。你有什么想法吗 我试了所有的方法 查看etl文件也没有给我任何信息 这是我第一次尝试在我的机器上安装它 --更新-- 我打开了dmp文件,发现: Loading Dump File [C:\Users\xxx\AppData\Local\CrashDumps\Microsoft.Azure.Cosmos.StartupEntryPoint.exe(1).12596.dm
Loading Dump File [C:\Users\xxx\AppData\Local\CrashDumps\Microsoft.Azure.Cosmos.StartupEntryPoint.exe(1).12596.dmp]
User Mini Dump File: Only registers, stack and portions of memory are available
Symbol search path is: srv*
Executable search path is:
Windows 10 Version 18363 MP (12 procs) Free x64
Product: WinNt, suite: SingleUserTS
18362.1.amd64fre.19h1_release.190318-1202
Machine Name:
Debug session time: Mon Jan 20 09:35:26.000 2020 (UTC + 1:00)
System Uptime: not available
Process Uptime: 0 days 0:00:02.000
................................................................
..................................
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(3134.41b0): Unknown exception - code c000000d (first/second chance not available)
For analysis of this file, run !analyze -v
ntdll!NtWaitForMultipleObjects+0x14:
00007ff9`562fcc14 c3 ret
0:000> .ecxr
rax=0000000000000000 rbx=0000000000000000 rcx=0000003629dfd270
rdx=00000000e6bc7d4e rsi=0000000000000000 rdi=0000000000000000
rip=000000006748b0ec rsp=0000003629dfd190 rbp=0000000000000000
r8=000001ba53134730 r9=0000000000000000 r10=0000000000000026
r11=000001ba6d7662e0 r12=0000000000000004 r13=000001ba6d7974d0
r14=0000000000000000 r15=0000000000000000
iopl=0 nv up ei pl zr na po nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00000246
msvcr80!_invalid_parameter+0x6c:
00000000`6748b0ec 488d4c2440 lea rcx,[rsp+40h]
我的msvcr80版本似乎有问题,这可能是由于您机器上的性能计数器损坏造成的 要修复性能计数器,请尝试以下操作
- 以管理员身份打开cmd
- 运行“lodctr/R”(必须使用大写字母R)
希望这有帮助。终于让它工作了强> 通过使用WinDbg并打开dmp文件%LOCALAPPDATA%\CrashDumps,我发现名为perf MSSQL$SQLEXPRESS-sqlctr10.1.2531.0.dll的dll是根本原因。
通过在%WINDIR%\System32中删除此项,错误已“修复”,我现在可以运行模拟器了。对于我来说,此令人困惑的错误消息只是意味着我需要使用另一个端口。!或者用默认的8081解决问题(阅读下面的更新2) 以下是错误的文本,便于搜索: 错误:多次尝试重新启动Azure Cosmos Emulator之一 检测到进程。模拟器将关闭。如果问题 请尝试卸载Azure Cosmos Emulator,删除 从%%LOCALAPPDATA%%下载CosmosDBEmulator目录并重新安装。 您还可以使用“反馈”联系Azure Cosmos团队 “数据资源管理器”浏览器窗口中的链接 细节: 在我的例子中,这是在2004年Windows10更新之后发生的。我发誓每次功能更新都会导致Cosmos DB emulator出现故障 对我来说,没有崩溃转储,重建性能计数器也没有帮助。在System的事件查看器中,我注意到了很多错误:
无法绑定到127.0.0.1:8081的基础传输。IP仅侦听列表可能包含对此计算机上可能不存在的接口的引用。数据字段包含错误号。
没有解决这个错误的方法,所以我首先使用netstat-ao
查看是否有程序已经在8081上监听。没有
然后我使用了来自www的“端口侦听器”实用程序,结果它也不能侦听8081,即使在管理员权限下也不行
由于我根本无法解决这个8081问题&关闭Windows防火墙没有任何帮助,我只是在另一个端口启动了Cosmos DB emulator,它工作了
C:\ProgramFiles\Azure Cosmos DB Emulator>Microsoft.Azure.Cosmos.Emulator.exe/Port=18001
如果您已将cosmos db配置为在系统启动时自动启动,请确保也更新该脚本
在我的例子中,这个cmdline让我进入了数据资源管理器,但它实际上不起作用。其中的“探索者”部分是无限地“获取报价”。我必须再次卸载Cosmos DB emulator,清理此文件夹:%LOCALAPPDATA%\CosmosDBEmulator
,重新启动,重新安装,不从8081开始,只从新端口开始
Cosmos DB开发人员,你们是很棒的人,但这太麻烦了。如果你不能使用这个端口,那就直说吧,你不必太神秘
更新:
这是可行的,但我忘了更新启动脚本以使用新端口,并注意到在再次重新启动后,cosmos db在8081上启动时没有出现问题。什么??!但这不仅仅是一次旧的重启——我以前已经做过几次了,但都没有用。这次重新启动可能很特别,因为它是在Windows发现了一个更新(kb4576478)之后出现的,可能是意识到现在需要它,因为我已经安装了版本2004,并且重新启动(或者特别是kb4576478更新)修复了8081问题,不管它是什么。哎呀
更新2:
另一个工具出现另一个与端口相关的问题。啊。找到此解决方案(请参阅“常规解决方案”)此页面的公认答案还提到了多次重新启动的魔力。感谢您的回答。可悲的是,这没有帮助。曾考虑在docker中运行它,但如果能让它正常工作,那就太好了。:)这对我有效,但我需要运行两次命令:/