OUTRA EDIÇÃO
Cory, se você tiver versões anteriores do SQL Server instaladas (por exemplo, 2008), essa é a versão do
sqlcmd
você está usando. Para se conectar ao LocalDb, você precisa usar a versão SQL Server 2012 do sqlcmd
. Portanto, suas instruções para seus usuários devem garantir que eles usem a versão do SQL Server 2012 executando:C:\Program Files\Microsoft SQL Server\110\Tools\Binn\sqlcmd -S "(localdb)\.\InstanceName"
Isso funcionou para mim. O que não verifiquei é se este caminho e versão de
sqlcmd
está disponível para usuários que têm somente instalei o sqllocaldb.msi. Desculpe, mas não tenho máquinas nuas sem o SQL Server 2012 instalado (ou apenas com versões anteriores instaladas) para testar isso completamente. Mas, por favor, deixe-me saber se chamar explicitamente a versão 110 do sqlcmd
faz o truque. Eu acho que você também pode instruir os usuários a alterar suas variáveis de sistema para que as versões 110 venham primeiro (que IMHO deve ser o caso automaticamente).
O
FileTimeToSystemTime
foi confirmado como um bug por um dos colegas de trabalho de Krzysztof. Portanto, ainda não há correção que eu conheça para não proprietários se conectarem via sqllocaldb
. Mas mostrei que tanto o SSMS quanto o sqlcmd
pode ser feito para funcionar, então espero que isso o aproxime da corrida. EDITAR
Você precisa adicionar usuários não proprietários à instância, por exemplo,
CREATE LOGIN [MyDomain\OtherUser] FROM WINDOWS;
e quaisquer permissões apropriadas também. No meu teste o login estava falhando e gerando a mensagem de erro errada (a mensagem de erro "FileTimeToSystemTime" é um bug). Você também precisa GRANT CONNECT
. Depois de fazer isso, você vai poder se conectar a partir do segundo usuário usando o Management Studio com esta conexão (a única que tentei):(localdb)\.\MySharedInstance
Mas de
sqlcmd
, ainda recebo um erro, não importa como eu tente conectar:sqlcmd -S "(localdb)\.\MySharedInstance"
sqlcmd -S ".\MySharedInstance"
sqlcmd -S "(localdb)\MySharedInstance"
sqlcmd -S "GREENHORNET\MySharedInstance"
sqlcmd -S ".\LOCALDB#SH04FF8A"
sqlcmd -S "GREENHORNET\LOCALDB#SH04FF8A"
Todos os rendimentos:
Embora eu tenha verificado que a instância está configurada para aceitar conexões remotas. Portanto, há algum outro aro que
sqlcmd
deve estar passando. E em relação ao
sqllocaldb
exe, como isso segue alguma lógica? Posso ver que a instância está lá por meio de info
, recebo uma mensagem de erro adequada quando tento interrompê-lo, recebo uma mensagem de que [já] foi iniciado quando tento iniciá-lo, mas não consigo me conectar a ele? Então, a menos que você precisa
sqlcmd
acesso, a curto prazo, eu faria com que os usuários secundários fizessem suas coisas com o SSMS (uma vez que você concedeu as permissões adequadas) e espero que Krzysztof tenha mais informações sobre os outros itens. Em relação à atualização 4.0.2, de http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances :