簡體   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