Ответ 1
ДРУГОЕ ИЗОБРАЖЕНИЕ
Cory, если у вас установлены предыдущие версии 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
делает трюк.
Я думаю, вы также можете дать указание пользователям изменить свои системные переменные, чтобы первые версии были первыми (что должно быть IMHO автоматически).
FileTimeToSystemTime
подтверждено как ошибка одного из сотрудников Krzysztof. Таким образом, до сих пор нет исправления, которое я знаю о том, что не владельцы подключаются через sqllocaldb
. Но я показал, что SSMS и sqlcmd
можно заставить работать, поэтому я надеюсь, что вы приблизитесь к запуску.
EDIT
Вам нужно добавить в экземпляр любых пользователей, не являющихся владельцами. 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"
Весь выход:
HResult 0xFFFFFFFF, уровень 16, состояние 1 Сетевые интерфейсы SQL Server:
Ошибка определения местонахождения сервера/экземпляра [xFFFFFFFF].
Sqlcmd: Ошибка: Собственный клиент Microsoft SQL Server 10.0: связанный с сетью или ошибка экземпляра произошла при установлении соединения для SQL Server. Сервер не найден или недоступен. Проверить, если имя экземпляра правильно, и если SQL Server настроен на разрешение удаленных соединений. Дополнительные сведения см. В электронной документации по SQL Server..
Sqlcmd: ошибка: собственный клиент Microsoft SQL Server 10.0: время ожидания входа в систему истекли.
Хотя я проверил, что экземпляр настроен на прием удаленных соединений. Итак, есть еще один обруч, который должен пройти sqlcmd
.
А что касается sqllocaldb
exe, как это следует за любой логикой? Я вижу, что экземпляр существует через info
, я получаю сообщение об ошибке, когда пытаюсь остановить его, я получаю сообщение о том, что он [уже] запущен, когда я пытаюсь запустить его, но я не могу подключиться к это?
Поэтому, если вам не нужен доступ sqlcmd
, в краткосрочной перспективе я бы добавил, что вторичные пользователи делают свое дело с SSMS (как только вы предоставили соответствующие разрешения), и, надеюсь, у Krzysztof будет больше информации о других элементах.
Что касается обновления 4.0.2, от http://connect.microsoft.com/SQLServer/feedback/details/723737/smo-cant-connect-to-localdb-instances:
Мы приняли явное решение не включать .NET Framework 4.0.2 в Установщик LocalDB. Установка обновления .NET Framework увеличится размер установщика LocalDB и вызвать вероятную перезагрузку. поскольку LocalDB построен независимо от .NET, мы не думали, что мы следует брать эту стоимость для каждой установки LocalDB. Будущее .NET версии (включая .NET 4.5, теперь в CTP) будут поддерживать LocalDB из коробка. Некоторые разработчики могут также захотеть выбрать ODBC, PHP Driver/PDO и, возможно, JDBC в будущем. Эти разработчики не будут заинтересуйтесь обновлением .NET.