Я написал приложение Windows в C#, которое подключается к базе данных SQL Сервера. Я запускаю этот запрос изнутри приложения, чтобы создать SQL аутентификацию пользователя сервера, которая предположительно скрыта от P C user:
SET @LoginName = 'TestAdmin'
SET @Password = 'pass@word1'
-- Create user
SET @SQL = 'Create Login ' + @LoginName + ' with Password = ''' + @Password + ''''
EXEC sp_executesql @SQL
-- Adding user to sysadmin role
EXEC sp_addsrvrolemember @LoginName, 'sysadmin'
Я планирую загрузить файл .SQL
для создания базы данных с таблицы и данные, все это можно делать программно из приложения. Я не хочу, чтобы пользователь приложения или владелец P C имел полный доступ к этой базе данных.
Проблема:
Когда я go на SQL Server Management Studio, как пользователь, я могу просто подключиться к базе данных, используя аутентификацию Windows, и получить полный доступ к таблицам и данным базы данных! Как я могу это предотвратить? Я хочу, чтобы только это приложение имело доступ к своей базе данных?