【问题标题】:Error while starting Storage Emulator on windows azure在 Windows azure 上启动存储模拟器时出错
【发布时间】:2012-07-09 07:45:22
【问题描述】:

我在启动存储模拟器时遇到以下错误。我错误地删除了mdfusers/admin 文件夹中的日志文件。它在某处保存引用,不允许我再次创建数据库。请帮帮我。

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.

【问题讨论】:

    标签: c# windows azure emulation storage


    【解决方案1】:

    正如 Brian Ogden 在他的回答中所建议的那样,我确实安装了 SQL Express,但我想尝试将 Azure Storage Emulator 指向我的 SQL Express 实例,而无需修改配置文件。

    我通过运行存储模拟器的初始化过程并使用可用的开关为 SQL Express 传递我的服务器\实例详细信息来做到这一点。下面是我执行的命令示例(来自提升的命令提示符):

    AzureStorageEmulator.exe init -server MY-PC-NAME -instance MYSQLINST
    

    这成功创建了数据库(在我的 SQL Express 实例中)并让我的存储模拟器正常工作。

    我正在使用命名实例,但我认为通过省略 -instance 开关,可以将相同的方法用于默认实例。

    【讨论】:

      【解决方案2】:

      这不是与 Azure 组件相关的问题,而是 LocalDB 实例向 Azure 请求报告 DB 仍然存在。首先使用“sqllocaldb i”检查您机器中的 LocalDB 实例,然后使用“sqllocaldb d 'instance_name'”删除该实例。我无法在我的机器上对其进行测试,但如果 localdb 实例阻止了您,这可能会解除您的阻止。

      在 Windows Azure SDK 1.7 中,Windows Azure 存储模拟器在以下位置使用 LocalDB 实例特定配置:

      %LocalAppData%\DevelopmentStorage\DevelopmentStorage.201206.config
      

      基于此,您将看到 v11.0 实例是特定于 Windows Azure 存储模拟器的,因此请验证该实例是否正在运行,删除它将使 DSInit 在 LocalDB 中再次创建数据库。

      【讨论】:

      • 您好,我尝试删除,但收到错误消息“指定的 LocalDB 实例不存在。”
      • 我认为最好的办法是卸载本地数据库,然后重新安装,除非您联系 Azure 支持以了解您的本地数据库还能做什么。之后第一次运行 Azure,应该为 Azure 存储创建一个新的数据库。
      • 如前所述,对于某些版本的模拟器,配置路径会有所不同。对我来说是C:\Users\%username%\AppData\Local\AzureStorageEmulator\AzureStorageEmulator.4.1.config
      【解决方案3】:

      我只是删除了 C:\Users\accountname\ 中以 DevelopmentStorage... 或 WAStorageEmulator 开头的所有 mdf 和 ldf。

      重新运行安装并成功。

      【讨论】:

        【解决方案4】:

        在 Visual Studio 中,转到 工具 -> 选项 -> 数据库工具-> 数据连接,然后将 localdb 实例名称从 v11.0 更改为其他名称。

        【讨论】:

        • 您至少应该使用SqlLocalDb delete "v11.0" 删除原始数据库“v11.0”。否则它会永远呆在那里。但是如果你删除它,你不必在VS中更改它。 所以你唯一需要做的就是删除“v11.0”数据库。
        • 由于某种原因我无法删除数据库。 SqlLocalDb delete "v11.0" 显示没有错误但实际上并没有删除 db
        【解决方案5】:

        执行以下步骤:

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

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

          然后按 Enter

        请注意,“v11.0”是MyInstance

        更多详情,请访问this link

        【讨论】:

        • 如果错误提示正在使用中:SqlLocalDb stop "v11.0" 1st before the delete above.
        • 它非常适合我我只是停止了 SqlLocalDb,然后执行了删除命令,它就起作用了
        【解决方案6】:

        我希望这会有所帮助..

        如果您已经尝试过执行但失败:

         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 登录而不删除文件夹!

        希望对你有帮助!

        【讨论】:

          【解决方案7】:

          如果您在本地机器上安装了 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>
          

          帮我解决了这个错误。

          【讨论】:

          • 谢谢你,谢谢你,谢谢你......我一定已经接受了所有其他建议,这是最终奏效的建议。
          • 对我来说这是最好的解决方案!我在这里找到了 WAStorageEmulator 设置:C:\Users\{user-account}\AppData\Local\WAStorageEmulator 并将此行设置为首选版本。
          • 也适合我。不过,我的路径又略有不同:C:\Users\&lt;yourloginname&gt;\AppData\Local\AzureStorageEmulator\AzureStorageEmulator.4.1.config。我假设路径取决于您使用的版本。
          • 我使用您的解决方案只是在提到的配置文件中更改了 localdb 实例的名称;保存,在 VS 和宾果游戏中按 F5 :) 谢谢@Brian
          【解决方案8】:

          这也可能是由 localDB 不存在的文件夹引起的。看起来 Visual Studio / Azure 不会自动创建包含文件夹。我只是将错误代码中的路径复制到资源管理器中,并创建了 .MDF 文件的目录。

          【讨论】:

            【解决方案9】:

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

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

            【讨论】:

            • 文件和数据库也可以称为AzureStorageEmulator*,具体取决于您的SDK版本。
            猜你喜欢
            • 2014-09-09
            • 2021-09-12
            • 2018-12-28
            • 1970-01-01
            • 1970-01-01
            • 2013-04-08
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多