Мне было поручено перевести нас от системы десятилетней давности (Access '97) к совершенно новой системе, использующей MS SQL Express 2008 в качестве бэкэнда. Так здорово, я знаю, что могу подключиться к базе данных (успешно с пользователем только для чтения), единственная проблема в том ... У меня нет пользователя в базе данных с доступом на запись, и у нас нет доступа к источнику в приложение, чтобы узнать, какой пароль использует приложение (хотя имя пользователя у меня есть).
Итак, как я вижу, у меня есть два варианта:
Являются ли какие-либо из этих вариантов жизнеспособными и / или возможными, и как бы я поступил с одним или обоими из них, учитывая тот факт, что я сижу перед компьютером с полным доступом для любых действий.
Обычно это делается путем запуска SQL Server в однопользовательском режиме и вставки нового пользователя с правами администратора sql, который затем можно использовать для получения полного доступа. Я бы не стал менять пароль sa, пока вы не узнаете, использует его приложение или нет.
Вот ссылка с инструкциями и снимки экрана для этого с обычным SQL Server. Чтобы перевести SQL Express в однопользовательский режим и открыть окно запроса, выполняется примерно так:
C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn> Sqlservr.exe -s SQLEXPRESS -m
C:\Program Files\Microsoft SQL Server\90\Tools\Binn> sqlcmd -S.\SQLExpress
Изменить (в случае гниения ссылок): после открытия окна запроса в однопользовательском режиме вы сможете добавить логин администратора сервера, который вы можете использовать:
CREATE LOGIN MYADMIN WITH PASSWORD='myadminpassword'
SP_ADDSRVROLEMEMBER 'MYADMIN', 'SYSADMIN'
В вашем случае логины SQL включены, иначе вы не сможете использовать логин только для чтения, но для других им может потребоваться Вход в систему SQL включен проверив или отредактировав реестр (заменив MSSQL.1 тем экземпляром, который вам нужен, но, скорее всего, это .1). поместите это в файл .reg и запустите (или используйте RegEdit):
-------------COPY BELOW---------------------------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\MSSQLServer]
"LoginMode"=dword:00000002
-------------COPY TILL THIS---------------------------------
И, наконец, если ваш логин sa отключен, и вы хочу включить это (но не делайте этого, если ваше приложение использует sa, иначе вы можете все сломать):
ALTER LOGIN sa ENABLE ;
GO
ALTER LOGIN sa WITH PASSWORD = '<enterStrongPasswordHere>' ;
GO
Я не уверен на 100%, о чем вы спрашиваете. Похоже, ваше приложение использует жестко запрограммированные имя пользователя и пароль?!?!?
Если ваша проблема заключается в простом сбросе учетной записи sa для SQL Server, вот как вы можете сбросить пароль sa (при условии, что у вас есть физический доступ к ящику).
Войдите на физический компьютер как администратор.
Запустите SQL Server Enterprise Manager.
Щелкните правой кнопкой мыши имя сервера и выберите «Изменить свойства регистрации SQL Server».
Выберите «Использовать проверку подлинности Windows» и нажмите «ОК».
Разверните сервер, разверните Безопасность, затем нажмите Логины.
Дважды щелкните логин sa и укажите новый пароль на вкладке «Общие».