3

我已将 Azure 存储模拟器从 2.3 升级到 2.4。WAStorageEmulator.exe已重命名为AzureStorageEmulator.exe,但这不是问题。

当我跑

AzureStorageEmulator init -forcecreate

我只是得到一个错误,谷歌返回结果:

错误:未找到用户指定的实例。请更正此问题并重新运行初始化。

编辑

我必须启动和停止,然后才能启动。因为我安装了以前版本的模拟器,所以我的本地 SQL 服务器实例上已经安装了WAStorageEmulatorDb34 。运行init命令后,我可以看到没有创建新数据库(如WAStorageEmulatorDb42)。

所以我认为最新版本可能使用的是旧数据库。然后我在 MSSMS 中运行查询以检查现有的 blob 容器,我仍然可以看到我在旧模拟器上创建的包含我添加的 blob 的两个容器。

然后当我在 Visual Studio 中访问 Development Azure Storage 时,它​​没有显示任何容器。所以新版本显然不使用旧数据库。但是哪一个?它在哪里

好的,所以我想我会再运行一次 init,但要使用其他参数将 DB 放在我的 SQL 服务器实例上:

AzureStorageEmulator init -server localhost -sqlinstance MSSQLSERVER -forcecreate

然后我得到上述错误。再次...

我以具有提升权限的管理员身份运行 CMD。

4

2 回答 2

12

最终奏效的解决方案

附加信息

Azure 存储模拟器通常在 LocalDB 存储中创建表。根据模拟器版本,这些可能位于各种数据库实例中。您可以检查每个存储模拟器版本的配置

%USERPROFILE%\AppData\Local\[AzureStorageEmulatorFolder]\*.config

不同的版本有不同的文件夹名称,从DevelopmentStorageWAStorageEmulator到最新的 (4.2) AzureStorageEmulator

在此子文件夹中,您将找到至少一个与您安装的 Azure 存储模拟器版本相对应的配置文件。如果您打开它,您将看到它是如何配置的以及它保存表格的位置。如果您在任何现有的完整 SQL Server 实例上创建初始化也是如此。

当我尝试初始化我的 Azure 存储模拟器 (ASE) 时的问题是,我还提供了默认的 SQL 服务器实例 (MSSQLSERVER)。我不应该首先提供这些信息,而只提供有关服务器的信息

所以正确的命令行调用是

AzureStorageEmulator init -server localhost -forcecreate

这在我的本地 SQL 服务器上创建了我的数据库。从这里开始,您将如何从现有的 ASE 数据库(如果您之前已经拥有一个)迁移到新的数据库由您决定。

于 2015-11-03T13:50:19.340 回答
0

我遇到的问题或多或少是用户错误。

Azure 存储模拟器 4.6

错误:未找到用户指定的实例。请更正此问题并重新运行初始化。

解决方案:我的本地 sql 实例没有经过 Windows 身份验证的登录。

于 2017-02-23T00:55:08.597 回答