如何配置Azure存储模拟器以使用本地SQLServer

har*_*hal 2 azure azure-sql-database

我正在尝试使用本地SQL Server 2012配置Azure存储模拟器2.4.
当我执行此命令时,我得到无法创建数据库.

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>WAStorageEmulator.exe init -server ThisPC -sqlinstance SQLEXPRESS -forcecreate

Windows Azure Storage Emulator 3.3.0.0 command line tool
Error: Cannot create database.
Run Code Online (Sandbox Code Playgroud)

到我的Sql Sever Manager我使用服务器名称ThisPC\SQLEXPRESS登录.
请帮我告诉我错过了哪些信息.

- - - - - - - - - 更新 - - - - - - - - -

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>WAStorageEmulator.exe init -server (local)\SQLExpress -forcecreate

Windows Azure存储模拟器3.3​​.0.0命令行工具错误:无法创建数据库.

如果您查看AppData\Local\WAStorageEmulator\WAStorageEmulator.3.3.config,您会发现:

<SQLInstance>(local)\SQLExpress</SQLInstance>
Run Code Online (Sandbox Code Playgroud)

感谢Gaurav提醒我日志,我检查了我的事件查看器:

无法创建文件'C:\ Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\WAStorageEmulatorDb33.mdf'因为它已经存在

它说SQL DB文件存在,所以删除它并重试命令,工作正常,存储模拟器也启动了.(命令在一段时间后第二次尝试可能是某些SQL缓存问题)

Ian*_*ers 7

我想基于OP的帖子/评论中的信息提出一个答案,这些信息来自将来经过一些搜索后到达的读者.

这很容易,而且主要的相关信息是您必须首先删除位于以下位置的现有数据库文件:

C:\用户\\ WAStorageEmulatorDb33.mdf

然后,您可以重新初始化模拟器.因此,运行Azure存储模拟器并使用所需的SQL实例对其进行初始化:

WAStorageEmulator.exe init -server(本地)\ SQLExpress

可能出错的事情:

  1. 您可能没有使用提升的权限运行命令提示符.通常,如果您希望允许更改,Windows会提示您,但如果没有,则会收到失败消息,请运行具有管理员权限的工具.
  2. 您的服务器位置/实例名称可能不同.OP是(本地)\ SQLExpress,我的是(localdb)\ CompanyName.确保你的是正确的.