Я установил SQL Server 2008 R2 «SQL Server Database Engine» на виртуальную машину и хочу подключиться к нему через odbc с другого компьютера (Linux).
Я не установил студию управления, так как хотел минимально возможную установку (в основном это для очень простых целей тестирования, а не для реальной работы).
Я не установил Management Studio и не хочу ее устанавливать.
Во время процедуры установки я ввел пользователя и пароль для подключения, однако, похоже, что-то пошло не так, и я не могу войти в систему под этим пользователем.
Ситуация:
CREATE LOGIN user-name WITH PASSWORD='secret'
.Как я могу подключиться к этой базе данных и добавить новых пользователей?
В основном на данный момент у меня есть два варианта:
Переустановите базу данных, но:
Я не хочу и ничего не обещает, что на этот раз он сработает и создаст пользователя.
Установить студию управления. Я не хочу, чтобы это огромная установка для виртуальной машины.
Вопрос:
Есть ли какой-нибудь простой инструмент командной строки для доступа к БД, просто чтобы запустить несколько операторов с использованием аутентификации XP без огромного инструмента Management Studio?
Резюме решения:
sqlcmd -Q "create login ..."
для запуска SQL-операторов мне нужно. sqlcmd.exe
является установлен вместе с "SQL Server Database Engine"sqlcmd позволит вам запускать команды на сервере с использованием аутентификации Windows или SQL. Если что-то пошло не так, и у вас нет учетных записей Windows, которым предоставлены права на сервер, вы можете запустить SQL Serve в однопользовательском режиме, чтобы получить доступ и создать новые учетные записи.
В моей системе, которая является SQL 2008 (не R2), sqlcmd.exe находится в «C: \ Program Files \ Microsoft SQL Server \ 100 \ Tools \ Binn». Если вы используете R2, это может быть немного другой путь. Вы можете попробовать найти "osql.exe". osql.exe работает в основном так же, как sqlcmd, но предшествует sqlcmd.exe и не является таким полнофункциональным. В моей системе osql.exe находится в том же каталоге Binn, что и sqlcmd.exe.
Даже когда я собираюсь управлять сервером удаленно, я обнаруживаю, что установка инструментов на сервере вместе со службами SQL вызывает гораздо меньше проблем, чем их не установка. И я использую SQL Server уже 12 лет. Некоторые вещи (например, репликацию) очень сложно выполнить, написав Transact-sql вручную, потому что вызовы хранимых процедур могут быть очень сложными, и часто отсутствует какая-то, казалось бы, тривиальная утилита, которая вам понадобится.