[英]Error while starting Storage Emulator on windows azure
启动存储模拟器时出现以下错误。 我错误地删除了users/admin
文件夹中的mdf
和日志文件。 它在某处持有引用并且不允许我再次创建数据库。 请帮我。
Added reservation for 127.0.0.1:10000/ in user account RaviBorra-PC\Ravi Borra.
Added reservation for 127.0.0.1:10001/ in user account RaviBorra-PC\Ravi Borra.
Added reservation for 127.0.0.1:10002/ in user account RaviBorra-PC\Ravi Borra.
Found SQL Instance (localdb)\v11.0.
Creating database DevelopmentStorageDb201206 on SQL instance '(localdb)\v11.0'.
Cannot create database 'DevelopmentStorageDb201206' : Database 'DevelopmentStorageDb201206' already exists. Choose a different database name..
One or more initialization actions have failed. Resolve these errors before attempting to run the storage emulator again. Please refer to http://go.microsoft.com/fwlink/?LinkID=248088 for more details.
谢谢你,拉维克里希纳 B.
执行以下步骤:
写这个:
SqlLocalDb stop "v11.0" SqlLocalDb delete "v11.0"
然后按Enter
请注意,“v11.0”是MyInstance
。
有关更多详细信息,请访问此链接。
如果您删除了数据文件C:\\Users\\<Username>\\DevelopmentStorageDb201206.mdf
但没有删除 LocalDB 服务器实例上的相应数据库,则可能会出现此问题。 一种可能的解决方案是:
(localdb)\\v11.0
实例。DevelopmentStorageDb201206
数据库。 会出现数据库删除以错误结束的错误信息。 忽略此消息并手动刷新数据库列表。这不是与 Azure 组件相关的问题,而是 LocalDB 实例向 Azure 请求报告 DB 仍然存在。 首先使用“sqllocaldb i”检查机器中的LocalDB实例,然后使用“sqllocaldb d 'instance_name'”删除实例。 我无法在我的机器上测试它,但是如果 localdb 实例阻止了你,这可能会解除对你的阻止。
在 Windows Azure SDK 1.7 中,Windows Azure Storage Emulator 在以下位置使用 LocalDB 实例特定的配置:
%LocalAppData%\DevelopmentStorage\DevelopmentStorage.201206.config
基于此,您将看到 v11.0 实例是特定于 Windows Azure 存储模拟器的,因此请验证它是否正在运行并删除它会让 DSInit 在 LocalDB 中再次创建数据库。
如果您在本地机器上安装了 Sql Express,那么 (localdb)\\v11.0 很可能不是您的本地 Sql 实例。 它更有可能是 {MyComputerName}\\SQLEXPRESS。
正在去:
C:\Users\<yourloginname>\AppData\Local\DevelopmentStorage\DevelopmentStorage.201206.config
并改变:
<SQLInstance>(localdb)\v11.0</SQLInstance>
到:
<SQLInstance>{MyComputerName}\SQLEXPRESS</SQLInstance>
为我解决了这个错误。
我希望这有帮助..
如果您已经尝试并失败,请执行:
SQLLocalDB stop v11.0
SQLLocalDB delete v11.0
Delete all the files in C:\Users\<accontname>\WAStorageEmulatorDb* (usually one mdf and one ldf)
Create a new account (I called it Azure, with administrative rights)
Run again the installation
Installation completed!
对我来说这有效......我曾尝试在使用这种方式之前格式化PC。 我认为我的问题与我的用户名有关,其中包含“无效”字符,例如 Name 'NickName' Surname 而“Azure”帐户对他来说似乎没问题。
我弄清楚了,因为在日志中的某个地方,我将属性目标路径设置为“C:\\Users\\Name$_”,这与我的用户帐户文件夹的路径相距甚远。
之后你可以继续 CMD.exe 并提示:
control userpasswords2
从控件中您可以删除 Azure 登录而不删除文件夹!
希望能帮助到你!
我只是删除了 C:\\Users\\accountname\\ 中以 DevelopmentStorage... 或 WAStorageEmulator 开头的所有 mdf 和 ldf。
重新运行安装,它起作用了。
这也可能是由 localDB 不存在的文件夹引起的。 看起来 Visual Studio/Azure 不会自动创建包含文件夹。 我只是将错误代码中的路径复制到资源管理器中,并创建了 .MDF 文件的目录。
在 Visual Studio 中,转到工具 -> 选项 -> 数据库工具 -> 数据连接并将 localdb 实例名称从 v11.0 更改为其他名称。
正如 Brian Ogden 在他的回答中所建议的那样,我确实安装了 SQL Express,但我想尝试将 Azure Storage Emulator 指向我的 SQL Express 实例,而无需修改配置文件。
我通过运行 Storage Emulator 的初始化过程并使用可用的开关为 SQL Express 传递我的服务器\\实例详细信息来做到这一点。 下面是我执行的命令示例(来自提升的命令提示符):
AzureStorageEmulator.exe init -server MY-PC-NAME -instance MYSQLINST
这成功创建了数据库(在我的 SQL Express 实例中)并让我的存储模拟器工作。
我正在使用命名实例,但我认为通过省略-instance
开关,可以将相同的方法用于默认实例。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.