我无法启动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身份登录时,我无法启动模拟器。我真的想在我的非管理员帐户下开展我的开发工作,这意味着我必须从该帐户访问模拟器。
我认为这个问题可能与gregv帐户对c:\ Users \ Administrator具有读写权限有关。我认为这可能会让模拟器中的检测逻辑搞乱数据库文件的放置位置。 –
不,那不是。我删除了gregv的权限来读取管理员文件夹,但它仍将mdf文件放入Administrator文件夹中,然后无法启动。 –
其中的逻辑,把文件放入目录,你不需要读取权限... – 4c74356b41