ДРУГА РЕДАКЦИЯ
Кори, ако имате инсталирани предишни версии на SQL Server (напр. 2008), това е версията на sqlcmd
използвате. За да се свържете с LocalDb, трябва да използвате версията на SQL Server 2012 на sqlcmd
. Така че вашите инструкции към вашите потребители трябва да гарантират, че те използват версията на SQL Server 2012, като изпълнят:
C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Това проработи при мен. Това, което не съм проверил, е дали този път и версия на sqlcmd
е достъпно за потребители, които имат само инсталира sqllocaldb.msi. Съжалявам, но нямам голи машини без инсталиран SQL Server 2012 (или с инсталирани само предишни версии), за да изпробвам това напълно. Но моля, уведомете ме, ако изрично извиквам версията 110 на sqlcmd
върши работа.
Мисля, че можете също така да успеете да инструктирате потребителите да променят своите системни променливи, така че версиите 110 да са на първо място (което IMHO трябва да е така автоматично).
FileTimeToSystemTime
е потвърдено като грешка от един от колегите на Krzysztof. Така че все още няма поправка, за която знам, че не-собствениците да се свързват чрез sqllocaldb
. Но аз показах, че както SSMS, така и sqlcmd
може да се накара да работи, така че се надявам, че това ще ви доближи до бягането.
РЕДАКТИРАНЕ
Трябва да добавите всички потребители, които не са собственици, към екземпляра, напр. CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
както и всякакви подходящи разрешения. В моя тест влизането беше неуспешно и генерираше грешно съобщение за грешка (съобщението за грешка „FileTimeToSystemTime“ е грешка). Трябва също да GRANT CONNECT
. След като направите това, ще да можете да се свържете от втория потребител, използвайки Management Studio с тази връзка (единствената, която опитах):
(localdb)\.\MySharedInstance
Но от sqlcmd
, все още получавам грешка, независимо как се опитвам да се свържа:
sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Всички добиви:
Въпреки че проверих, че екземплярът е настроен да приема отдалечени връзки. Така че има друг обръч, който sqlcmd
трябва да минава.
И по отношение на sqllocaldb
exe, как това следва някаква логика? Виждам, че екземплярът е там чрез info
, получавам правилно съобщение за грешка, когато се опитвам да го спра, получавам съобщение, че е [вече] стартирано, когато се опитвам да го стартирам, но не мога да се свържа с него?
Така че, освен ако не имате нужда sqlcmd
достъп, в краткосрочен план бих накарал вторичните потребители да си свършат работата със SSMS (след като предоставите адекватни разрешения) и се надявам Krzysztof да има повече информация за другите елементи.
Относно актуализацията 4.0.2, от http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :