END EN REDIGERING
Cory, hvis du har tidligere versioner af SQL Server installeret (f.eks. 2008), er det versionen af sqlcmd
du bruger. For at oprette forbindelse til LocalDb skal du bruge SQL Server 2012-versionen af sqlcmd
. Så dine instruktioner til dine brugere skal sikre, at de bruger SQL Server 2012-versionen ved at køre:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Dette virkede for mig. Hvad jeg ikke har verificeret er, om denne sti og version af sqlcmd
er tilgængelig for brugere, der kun har installerede sqllocaldb.msi. Beklager, men jeg har ikke nogen nøgne maskiner uden SQL Server 2012 installeret (eller med kun tidligere versioner installeret) for at prøve dette grundigt. Men lad mig det vide, hvis du udtrykkeligt kalder 110-versionen af sqlcmd
gør tricket.
Jeg tror, at du muligvis også kan instruere brugerne i at ændre deres systemvariabler, så de 110 versioner kommer først (hvilket IMHO automatisk burde være tilfældet).
FileTimeToSystemTime
er blevet bekræftet som en fejl af en af Krzysztofs medarbejdere. Så der er stadig ingen rettelse, som jeg kender til, for ikke-ejere at oprette forbindelse via sqllocaldb
. Men jeg har vist, at både SSMS og sqlcmd
kan fås til at fungere, så jeg håber, det bringer dig tættere på at løbe.
REDIGER
Du skal tilføje eventuelle ikke-ejerbrugere til instansen, f.eks. CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
samt eventuelle passende tilladelser. I min test mislykkedes login og genererede den forkerte fejlmeddelelse (fejlmeddelelsen "FileTimeToSystemTime" er en fejl). Du skal også GRANT CONNECT
. Når du har gjort dette, vil du være i stand til at oprette forbindelse fra den anden bruger ved hjælp af Management Studio med denne forbindelse (den eneste jeg prøvede):
(localdb)\.\MySharedInstance
Men fra sqlcmd
, Jeg får stadig en fejl, uanset hvordan jeg prøver at oprette forbindelse:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Alt udbytte:
Selvom jeg har bekræftet, at instansen er indstillet til at acceptere fjernforbindelser. Så der er en anden ramme, der sqlcmd
skal gå igennem.
Og angående sqllocaldb
exe, hvordan følger dette nogen logik? Jeg kan se forekomsten er der via info
, Jeg får en korrekt fejlmeddelelse, når jeg forsøger at stoppe den, jeg får en meddelelse om, at den [allerede] er startet, når jeg forsøger at starte den, men jeg kan ikke oprette forbindelse til den?
Så medmindre du bruger sqlcmd
adgang, på kort sigt vil jeg have de sekundære brugere til at gøre deres ting med SSMS (når du har givet tilstrækkelige tilladelser), og forhåbentlig vil Krzysztof have mere information om de andre elementer.
Med hensyn til 4.0.2-opdateringen, fra http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :