EEN ANDERE BEWERKING
Cory, als je eerdere versies van SQL Server hebt geïnstalleerd (bijv. 2008), dat is de versie van sqlcmd
je gebruikt. Om verbinding te maken met LocalDb moet u de SQL Server 2012-versie van sqlcmd
gebruiken . Dus uw instructies aan uw gebruikers moeten ervoor zorgen dat ze de SQL Server 2012-versie gebruiken door het volgende uit te voeren:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Dit werkte voor mij. Wat ik niet heb geverifieerd, is of dit pad en deze versie van sqlcmd
is beschikbaar voor gebruikers die alleen . hebben installeerde de sqllocaldb.msi. Sorry, maar ik heb geen naakte machines zonder SQL Server 2012 geïnstalleerd (of met alleen eerdere versies geïnstalleerd) om dit grondig uit te proberen. Maar laat het me weten als je expliciet de 110-versie van sqlcmd
aanroept doet de truc.
Ik denk dat je gebruikers misschien ook kunt instrueren om hun systeemvariabelen te wijzigen, zodat de 110 versies eerst komen (wat IMHO automatisch het geval zou moeten zijn).
De FileTimeToSystemTime
is bevestigd als een bug door een van Krzysztof's medewerkers. Er is dus nog steeds geen oplossing die ik ken voor niet-eigenaren om verbinding te maken via sqllocaldb
. Maar ik heb aangetoond dat zowel SSMS als sqlcmd
kan worden gemaakt om te werken, dus ik hoop dat dit je dichter bij hardlopen brengt.
BEWERKEN
U moet gebruikers die geen eigenaar zijn aan de instantie toevoegen, b.v. CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
en eventuele juiste machtigingen ook. In mijn test mislukte login en het genereren van de verkeerde foutmelding (de "FileTimeToSystemTime" foutmelding is een bug). U moet ook GRANT CONNECT
. Zodra u dit doet, zal u verbinding kunnen maken vanaf de tweede gebruiker met Management Studio met deze verbinding (de enige die ik heb geprobeerd):
(localdb)\.\MySharedInstance
Maar van sqlcmd
, ik krijg nog steeds een foutmelding, ongeacht hoe ik verbinding probeer te maken:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Alle opbrengst:
Hoewel ik heb geverifieerd dat de instantie is ingesteld om externe verbindingen te accepteren. Er is dus een andere hoepel die sqlcmd
moet doorstaan.
En met betrekking tot de sqllocaldb
exe, hoe volgt dit enige logica? Ik kan zien dat de instantie aanwezig is via info
, krijg ik een correcte foutmelding wanneer ik het probeer te stoppen, ik krijg een bericht dat het [al] is gestart wanneer ik het probeer te starten, maar ik kan er geen verbinding mee maken?
Dus tenzij je nodig sqlcmd
toegang zou hebben, zou ik op korte termijn de secundaire gebruikers hun ding laten doen met SSMS (zodra je voldoende rechten hebt verleend) en hopelijk heeft Krzysztof meer informatie over de andere items.
Met betrekking tot de 4.0.2-update, van http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :