2013-04-10 3 views
3

Я ищу способы получить доступ к базе данных LocalDb между пользователями, используя команду общего доступа к утилите командной строки sqllocaldb, но я не вижу базу данных, созданную одним пользователем в другой.Как обмениваться SQL LocalDb с другими пользователями на одном компьютере?

Вот мои шаги:

  1. Войти пользователю User1 на ОС Windows 7

  2. Создать новую базу данных под названием тест с использованием SQLCMD следующим

    Sqlcmd -S (LocalDB) \ v11 .0 создать тест базы данных

  3. Разделите экземпляр v11.0 следующим образом с User2

    sqllocaldb доля домен \ Пользователь2 v11.0 MyInstance

  4. Переключить на пользователя 2

  5. Войти в разделяемую например следующим образом

    Sqlcmd -S (LocalDB) \. \ MyInstance

    выберите имя из sys.master_files

    В приведенном выше запросе не отображается тестовая база данных.

Почему я не могу видеть базы данных в User 2, которые были созданы в User1 после совместного использования?

Я думал, что он должен работать на основе блога (подход 2) http://blogs.msdn.com/b/sqlexpress/archive/2011/12/09/using-localdb-with-full-iis-part-2-instance-ownership.aspx#SharedLocalDB от Krzysztof Kozielczyk, но это не так.

Любая помощь/предложение оценены.

Благодаря Пары

ответ

4

Проблемы заключается в том, что LocalDB работает как процесс, принадлежащий текущим пользователем, то есть каждый пользователь запускает свой собственный экземпляр LocalDB. Это то, что делает его нулевой конфигурацией и очень легко работать. К сожалению, это также означает, что иметь общий экземпляр LocalDB сложно. Я столкнулся с подобной проблемой и просто переключился на использование SQL Express для db, который мне нужен был доступным для нескольких пользователей в разработке.

+0

Спасибо за ваш ответ. Но опция «share» действительно неверна. Не так ли? – Pare

+0

Я отметил это как ответ, потому что у вас была такая же проблема, и невозможно получить доступ к SQL LocalDb от другого пользователя с помощью «share». – Pare

8

Причина, по которой это не работает, заключается в том, что вы выдаете неправильную команду. Инструкции по использованию из sqllocaldb.exe являются:

share|h ["owner SID or account"] "private name" "shared name" 

Исходя из этого, ваша вторая команда должна быть в SID или учетной записи, которую создал экземпляр, а не с учетной записью, которую требуется разделить экземпляр с. Совместное использование акций с помощью всех учетных записей на компьютере.

Предполагая, что ваш аккаунт создан экземпляр, который вы хотите поделиться, то команда, которую вы должны выдавать это:

sqllocaldb share v11.0 myinstance 

В противном случае, он должен быть:

sqllocaldb share "<account that created the instance>" v11.0 myinstance 

В любом случае, вы также необходимо убедиться, что вы запускаете окно с повышенными командами, чтобы он мог успешно использоваться.

+2

Мне также нужно было перезапустить экземпляр, только после этого он мог получить доступ к db через общее имя из IIS. –

+0

Как вы перезапустили экземпляр? –

+1

Я бы предположил, что «sqllocaldb stop myinstance» тогда «sqllocaldb start myinstance» сделает это. –

Смежные вопросы