C # SQL Server Добавить роли в базу данных пользователя - PullRequest
1 голос
/ 11 июня 2019

Я создал следующий код ниже для программного добавления логина и пользователя в SQL Server 2016 из кода C #. Мне также нужно назначить новому пользователю соответствующие роли для доступа на чтение и запись к базе данных, НО я не могу найти никаких примеров, которые бы мне помогли при использовании строки cmdText ниже.

Я предполагаю, что роли, которые мне нужно добавить этому новому пользователю:

db_datareader
db_datawriter

Этот вновь созданный пользователь должен иметь доступ только к одной базе данных и иметь возможность добавлять / редактировать / удалять / обновлять записи из существующих таблиц базы данных.

Мне нужно добавить этот новый логин / пользователя только один раз. Как только я понял это, мне нужно еще два действия:

Напишите метод с cmdText, который позволит мне сделать следующее:

  • Обновить пароль для этого пользователя "admin"
  • Удалить учетную запись «admin» на более позднем этапе.

Код:

 static readonly string connectionString = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;

 public static void CreateSqlServerUserAccount()
 {
        string usertobeadded = "admin";
        string password = "ComplexPasswordExample123456";
        string databasename = "DatabaseNameHere";

        string cmdText = "CREATE LOGIN " + usertobeadded + " WITH PASSWORD = '" +
        password + "';  USE " + databasename + "; CREATE USER " + usertobeadded + " FOR LOGIN " + usertobeadded + ";";

        // The connection is automatically closed at the end of the using block.
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            try
            {
                SqlCommand cmd = new SqlCommand(cmdText, connection);
                connection.Open();
                cmd.ExecuteNonQuery();
                log.Info("NEW Login & User Account created on Microsoft SQL Server");
            }
            catch (Exception ex)
            {
                log.Error("Error creating a new login and user account on Microsoft SQL Server: ", ex);
                SystemEvents.DatabaseExceptions(ex);
            }
        }
}

1 Ответ

0 голосов
/ 11 июня 2019

... позвольте мне сделать следующее:

1) Обновить пароль для этого пользователя "admin"

ALTER LOGIN admin WITH PASSWORD = 'newpassword' OLD_PASSWORD = 'oldpassword'

2) Удалить учетную запись пользователя "admin".

DROP USER [ IF EXISTS ] admin
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...