繁体   English   中英

在 Windows azure 上启动存储模拟器时出错

[英]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.

执行以下步骤:

  1. 打开 cmd.exe(命令提示符)
  2. 写这个:

     SqlLocalDb stop "v11.0" SqlLocalDb delete "v11.0"

    然后按Enter

请注意,“v11.0”是MyInstance

有关更多详细信息,请访问此链接

如果您删除了数据文件C:\\Users\\<Username>\\DevelopmentStorageDb201206.mdf但没有删除 LocalDB 服务器实例上的相应数据库,则可能会出现此问题。 一种可能的解决方案是:

  1. SQL Server Management Studio连接到(localdb)\\v11.0实例。
  2. 删除DevelopmentStorageDb201206数据库。 会出现数据库删除以错误结束的错误信息。 忽略此消息并手动刷新数据库列表。
  3. 现在可以启动 Azure 存储模拟器。

这不是与 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM