DALŠÍ ÚPRAVA
Cory, pokud máte nainstalované předchozí verze SQL Server (např. 2008), jedná se o verzi sqlcmd
používáte. Abyste se mohli připojit k LocalDb, musíte používat verzi SQL Server 2012 sqlcmd
. Vaše pokyny pro vaše uživatele tedy musí zajistit, že používají verzi SQL Server 2012 spuštěním:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Toto fungovalo pro mě. Co jsem neověřil, je, zda tato cesta a verze sqlcmd
je k dispozici uživatelům, kteří mají pouze nainstaloval soubor sqllocaldb.msi. Je mi líto, ale nemám žádné nahé počítače bez nainstalovaného SQL Server 2012 (nebo s nainstalovanými pouze předchozími verzemi), abych to důkladně vyzkoušel. Ale dejte mi prosím vědět, pokud výslovně voláte verzi 110 sqlcmd
dělá trik.
Myslím, že můžete být také schopni instruovat uživatele, aby změnili své systémové proměnné tak, aby verze 110 byly na prvním místě (což by IMHO mělo být automaticky).
FileTimeToSystemTime
byl potvrzen jako chyba jedním z Krzysztofových spolupracovníků. Stále tedy neexistuje žádná oprava, o které vím, že by se uživatelé, kteří nejsou vlastníky, mohli připojit přes sqllocaldb
. Ale ukázal jsem, že jak SSMS, tak sqlcmd
lze přimět k práci, takže doufám, že vás to přiblíží běhu.
UPRAVIT
Do instance musíte přidat uživatele, kteří nejsou vlastníky, např. CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
a také veškerá příslušná oprávnění. V mém testovacím přihlášení selhalo a generovalo nesprávnou chybovou zprávu (chybová zpráva "FileTimeToSystemTime" je chyba). Musíte také GRANT CONNECT
. Jakmile to uděláte, uděláte to být schopen se připojit od druhého uživatele pomocí Management Studio s tímto připojením (jediným, které jsem zkoušel):
(localdb)\.\MySharedInstance
Ale z sqlcmd
, stále se mi zobrazuje chyba bez ohledu na to, jak se pokouším připojit:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Veškerý výnos:
I když jsem ověřil, že instance je nastavena tak, aby přijímala vzdálená připojení. Existuje tedy nějaký další obruč, který sqlcmd
musí projít.
A ohledně sqllocaldb
exe, jak to má nějakou logiku? Vidím, že instance je tam pomocí info
, při pokusu o zastavení se zobrazí správná chybová zpráva, při pokusu o spuštění se zobrazí zpráva, že [již] je spuštěno, ale nemohu se k němu připojit?
Pokud tedy nepotřebujete sqlcmd
přístup, v krátkodobém horizontu bych nechal sekundární uživatele, aby dělali svou práci s SSMS (jakmile udělíte odpovídající oprávnění) a doufejme, že Krzysztof bude mít více informací o ostatních položkách.
Pokud jde o aktualizaci 4.0.2, z http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :