Назад | Перейти на главную страницу

Разрешить только определенным процессам подключаться к MS SQL

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

Одна из идей состоит в том, чтобы разрешить старому приложению выполнять запросы на сервере SQL и блокировать любое другое приложение, например, анализатор запросов и т. Д. Могу ли я каким-то образом установить разрешение процесса?

Спасибо за помощь!

Вы действительно не можете этого сделать, AFIAK. Вы можете заблокировать порты SQL с помощью брандмауэра Windows, чтобы только машина, на которой запущено приложение, могла подключиться к SQL, который, как вы говорите, является самим сервером SQL. Конечно, это нарушает все, что у вас есть, что подключается с помощью SQL, который не работает на сервере SQL.

Вы говорите, что пользователи также вошли в систему на сервере SQL (и, таким образом, могут запускать Query Analyzer локально), или они всегда удалены? Если первое, вам не повезло. И что вы все равно делаете, позволяя пользователям входить на сам SQL-сервер? :-)

Можно попробовать с помощью шестнадцатеричного редактора найти пароль в EXE и заменить его? Если он закодирован, даже если вы потеряли исходный код, вы должны помнить, какой алгоритм использовался для его кодирования?

Вы определенно усвоили два тяжелых урока. Не кодируйте пароли жестко и не теряйте вещи, резервные копии которых у вас нет. У вас есть другие важные вещи, для которых не выполняется резервное копирование? Возможно, вы захотите провести аудит процессов резервного копирования и восстановления или аварийного восстановления. Или напишите, если у вас их нет.