如何配置Azure存储仿真器以与本地SQLServer配合使用

3
我正在尝试配置Azure存储模拟器2.4与本地SQL Server 2012配合使用。
当我执行此命令时,会出现无法创建数据库的错误。
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.

我使用服务器名称 ThisPC\SQLEXPRESS 登录到我的 Sql Server 管理器。
请指出我可能遗漏的信息。 ----------------- 更新 ----------------- 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>

感谢Gaurav提醒我检查日志,我查看了事件查看器:
“无法创建文件'C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\DATA\WAStorageEmulatorDb33.mdf',因为它已经存在。”
它说SQL数据库文件已经存在,所以我将其删除并重试命令,这次成功了,存储模拟器也启动了。(第二次尝试后命令成功执行,可能是某些SQL缓存问题)

当您通过SSMS登录到SQLExpress实例时,您是否可以使用Windows身份验证登录,还是使用SQL Server身份验证? - Gaurav Mantri
Windows身份验证 - harshal
1
我也在使用相同的方法。你能否在 AppData\Local\WAStorageEmulator\Logs 文件夹或事件日志中看到任何日志? - Gaurav Mantri
1
日志文件夹为空,但我检查了事件查看器,发现“无法创建文件'C:\ Program Files \ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ DATA \ WAStorageEmulatorDb33.mdf',因为它已经存在。更改文件路径或文件名,并重试操作。”删除这些文件后,创建数据库成功,仿真器已启动。 - harshal
让我们在聊天室中继续这个讨论 - harshal
显示剩余2条评论
1个回答

8

针对未来的读者,我想根据原帖和评论中提供的信息提出一个答案。

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

C:\Users\\WAStorageEmulatorDb33.mdf

然后你可以重新初始化模拟器。因此,运行Azure存储模拟器并使用所需的SQL实例初始化它:

WAStorageEmulator.exe init -server (local)\SQLExpress

可能会出现的问题:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接