Как запретить другим приложениям подключаться к SQL Server?

У меня есть приложение Delphi, подключающееся к удаленному SQL Server через компоненты ADO.

Как я могу разрешить доступ только к моему приложению к SQL Server 2012, и любое другое приложение, пытающееся подключиться, должно быть выброшено?

Проблема в том, что все, что подключается к SQL Server, делает это с помощью ConnectionString.

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

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

Вы должны использовать триггер входа и в этом триггере сравнить APP_NAME() с константой, содержащей ваше имя приложения. Если они разные, выполните ROLLBACK .

Вы можете использовать роль приложения SQL Server.

Для меня нет смысла блокировать весь SQL Server с помощью триггера входа в систему. Могут быть другие базы данных, и они также должны быть бесплатными, например, для агента SQL или для Management Studio или для программы обновления …

Если вы хотите контролировать доступ к базе данных – используйте роли пользователей и приложения. По Приложению. Роль, которую вы должны называть одной хранимой процедурой из вашего скомпилированного кода, и все, что вы можете сделать, будет определяться ролью приложения. Если вы отключите доступ к другим ролям и пользователям, никто не сможет получить доступ к вашей базе данных … Другие базы данных также могут быть настроены так, чтобы не предоставлять разрешения другим пользователям / ролям.

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

Извините за мой английский, это не мой родной язык.

  • СОЗДАТЬ МАСТЕР-КЛЮЧ - Ошибка проверки пароля
  • Невозможно создать хранимую процедуру с параметром вывода таблицы
  • Как выбрать все даты с 2002 по 2013 год в Microsoft Sql Server 2012
  • Могу ли я разработать SQL Server Express для последующего развертывания на полном SQL Server?
  • SQL Server 2012: Вход в систему PC-NAME \ SQLEXPRESS работает, но не локально / (локально)
  • Разрешить удаленное подключение только для определенных пользователей
  • Не удается подключить образец базы данных в SQL Server 2012
  • Операторы * = и = * sql
  • Скрытие баз данных для входа в Microsoft Sql Server 2008R2 и выше
  • SQL Server - та же таблица в нескольких схемах
  • Как просмотреть запрос, который использовался для создания таблицы?
  • Interesting Posts

    Найти максимальное значение и показать соответствующее значение из другого поля на SQL-сервере

    Указанный откат недействителен при получении данных столбца с SQL Server

    Сервисный брокер против нормальной работы монитора

    Создайте SQL-скрипт, создающий базу данных и таблицы

    Рассчитать количество недель

    Параметр среды конфигурации пакета SSIS не был найден при вызове с помощью xp_cmdshell?

    Как я могу использовать CONTAINS (), когда переменная иногда является пустой или пустой строкой?

    Как я могу получить один из моих внешних ключей для повторения в преобразовании слияния в SSIS?

    Получайте количество строк и сумм по четверти даты, если другой столбец не выходит из значения в SQL Server

    Откройте SQL Server 2012 из командной строки

    Как эффективно хранить и управлять изображениями в SQL Server 2005

    Параметр Key Value Pair XML (SQL Server 2005)

    Найти первую запись для каждого запроса Id SQL

    Как получить набор результатов, содержащий только числовое значение из столбца varchar?

    Кэширование против моментального снимка отчета в SSRS

    Давайте будем гением компьютера.