2016-12-24 33 views
2

我无法启动Azure存储模拟器。我正在运行v4.6。如何在非管理员帐户下启动Azure存储模拟器

我的开发机器上有两个帐户,管理员帐户(我不使用)和我的帐​​户gregv。我在gregv账户下进行所有的开发工作。

这意味着管理员帐户无权访问SqlLocalDB。我已通过登录管理员帐户并启动SMSS并尝试附加到(localdb)\ v11.0来测试此操作。我以gregv身份登录时可以连接,但以管理员身份登录时无法连接。

我认为Azure存储模拟器试图设置自己,就好像管理员帐户是正在运行的帐户一样。我认为这是因为它是在c:\ Users \ Administrator下创建不在c:\ Users \ gregv下的mdf数据库文件,即使以gregv登录时安装它也是如此。

当我尝试运行模拟器,它挂起了一会儿,然后终于给了我这个错误:

C:\Program Files (x86)\Microsoft SDKs\Azure\Storage Emulator>AzureStorageEmulator.exe start 
Windows Azure Storage Emulator 4.6.0.0 command line tool 

Unhandled Exception: System.TimeoutException: Unable to open wait handle. 
    at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessController.InternalWaitForStorageEmulator(Int32 timeoutInMilliseconds) 
    at Microsoft.WindowsAzure.Storage.Emulator.Controller.EmulatorProcessController.EnsureRunning(Int32 timeoutInMilliseconds) 
    at Microsoft.WindowsAzure.Storage.Emulator.Commands.StartCommand.RunCommand() 
    at Microsoft.WindowsAzure.Storage.Emulator.Program.Main(String[] args) 

我如何能得到这个运行在用户gregv有什么建议?或者我应该放弃gregv帐户并转而以管理员身份完成所有的开发工作?

更新:我以用户gregv共享v11.0实例,现在我可以使用SSMS连接到lcoaldb数据库,当我以管理员身份登录时。当我现在以管理员身份登录时,我也可以成功启动模拟器。

但是,当我注销Administrator帐户并以gregv身份登录时,我无法启动模拟器。我真的想在我的非管理员帐户下开展我的开发工作,这意味着我必须从该帐户访问模拟器。

+0

我认为这个问题可能与gregv帐户对c:\ Users \ Administrator具有读写权限有关。我认为这可能会让模拟器中的检测逻辑搞乱数据库文件的放置位置。 –

+0

不,那不是。我删除了gregv的权限来读取管理员文件夹,但它仍将mdf文件放入Administrator文件夹中,然后无法启动。 –

+0

其中的逻辑,把文件放入目录,你不需要读取权限... – 4c74356b41

回答

0

按照@Jambor和@Michael Roberson的建议,诀窍是在我启动的命令行界面上以管理员身份运行以运行azure存储命令。

一旦我做了一次,能够从我的正常帐户使用azure存储模拟器。

+0

我正在重新访问,因为我今天不得不重新启动我的开发机器,并且我无法让Azure存储模拟器再次启动,而无需从启用管理的命令提示符运行它。我发现期望是你只需要做一次管理员的初始化,但我的经验是,你必须始终以管理员身份启动它。 –

相关问题