Все известные логины SA в SQLSERVER: можно ли включить по-другому? - PullRequest
3 голосов
/ 13 февраля 2010

Для моего проекта на последний год я делаю то, что я называю - SeeQuaL, и это универсальный интерфейс для доступа к трем наиболее известным типам баз данных - SQLite, SQL Server и MySql . Я почти уверен, что смогу справиться с SQLite и MySql. Но SQL Server, ме! наверняка доставит мне проблемы.

Теперь давайте возьмем случай, когда в моей системе установлен SQL Server Express 2005, но У меня не установлена ​​ Management Studio. Чтобы получить доступ к моим базам данных, мне нужно будет войти в систему с режимом аутентификации сервера SQL AKA via the all famous login - SA.

Итак, вот мой вопрос:

Как включить эту учетную запись ( sa ) и установить для аутентификации сервера значение «Аутентификация SQL Server и Windows» mode БЕЗ с помощью Management Studio ??

Понятия не имею, как это сделать :( Так что, пожалуйста, помогите мне, ребята! Есть ли какая-нибудь таблица, к которой мне нужно обращаться через режим аутентификации Windows, с помощью которого я могу выполнить эту работу?

Ответы [ 3 ]

5 голосов
/ 13 февраля 2010

Если вы пишете что-то, что претендует на замену Management Studio, узнайте, что делает Management Studio в первую очередь.

Вы можете перехватить практически все, что Management Studio делает, используя dropdon кнопки «Сценарий» и выбрав «Действие сценария для нового окна запроса» в верхней части диалогового окна после выполнения необходимых действий, но непосредственно перед нажатием кнопки ОК.

Вот код SQL, который используется Management Studio для выполнения того, что вы запрашиваете:

USE [master]
GO
EXEC xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'Software\Microsoft\MSSQLServer\MSSQLServer', N'LoginMode', REG_DWORD, 2
GO

Другим вариантом является использование Profiler. Он включен в Developer Edition.

4 голосов
/ 09 июля 2010

Я думаю, что могу дать вам ответ, потому что я только что решил его в последние дни.

Для режима «Аутентификация SQL Server и Windows» БЕЗ использования Management Studio, ответ прост - за исключением того, что M $ не хочет говорить вам явно.

Развернуть раздел реестра

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer

там вы увидите значение REG_DWORD с именем LoginMode , если 1 это Аутентификация Windows, если 2, это Аутентификация Windows + SQL. Что вам нужно сделать, это изменить его с 1 на 2 и перезапустить сервисы SQLEXPRESS.

Еще одна вещь, которую нужно сделать, включить sa и установить его пароль, который по умолчанию отключен.

Прямо на вашем компьютере с SQL Express войдите в ваш экземпляр служб SQLEXPRESS с помощью команды

sqlcmd -S localhost\SQLEXPRESS

тогда exeucte

1> ALTER LOGIN sa ENABLE ;
2> ALTER LOGIN sa WITH PASSWORD = 'mypassword' ;
3> GO

Теперь все готово.

Я узнал об этом по следующему URL:

0 голосов
/ 13 февраля 2010

Во-первых, вы используете Windows? Если да, то какая версия? Я собираюсь предположить, что вы работаете под Windows 7, но из памяти шаги одинаковы для Vista

  1. Укусите пулю и загрузите SQL Server 2008 Management Studio Express
  2. После того, как вы установили SMSE, щелкните правой кнопкой мыши ссылку SMSE в меню «Пуск» и выберите «Администратор».
  3. Подключитесь к локальной установке SQLEXPRESS с помощью аутентификации Windows.
  4. В обозревателе объектов щелкните правой кнопкой мыши свой экземпляр SQLEXPRESS и выберите «Свойства»
  5. Нажмите «Безопасность» и выберите «Режим аутентификации SQL Server & Windows» и нажмите «ОК»
  6. Разверните Security> Logins, а затем щелкните правой кнопкой мыши своего пользователя "sa" и выберите свойства.
  7. Установите пароль пользователя "sa" на то, что вы запомните, я предлагаю использовать Пароль вместо пароля.
  8. Нажми OK, и тебе надо идти ..

Вы можете выполнить тестирование, закрыв и повторно открыв SMSE без прав администратора, и попытайтесь соединиться с вашей информацией SA.

...