Moin moin,
wenn ich versuche aus C# heraus mittels "Alter Login" das Passwort eines SQL User zu ändern bekomme ich immer folgende Meldung "System.Data.SqlClient.SqlException (0x80131904): Falsche Syntax in der Nähe von 'PASSWORD'."
Hier ist mal mein Code:
using (sqlConnection = new SqlConnection(connectionString))
{
//var sqlCommand = new SqlCommand("ALTER LOGIN [@username] WITH PASSWORD=[@password]", sqlConnection);
var sqlCommand = new SqlCommand("ALTER LOGIN [@username] WITH PASSWORD = [@password] OLD_PASSWORD = [@oldPassword]", sqlConnection);
sqlCommand.Parameters.Add("@username", SqlDbType.NVarChar);
sqlCommand.Parameters["@username"].Value = username;
sqlCommand.Parameters.Add("@password", SqlDbType.NVarChar);
sqlCommand.Parameters["@password"].Value = newPassword;
sqlCommand.Parameters.Add("@oldPassword", SqlDbType.NVarChar);
sqlCommand.Parameters["@oldPassword"].Value = oldPassword;
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
}
Der Commandtext sieht wie folgt aus:
"ALTER LOGIN [@username] WITH PASSWORD = [@password] OLD_PASSWORD = [@oldPassword]".
Leider erkenne ich dabei keinen Fehler.
Noch ein Anmerkung. Ich ändere nicht den momentan angemeldeten User, sondern einen anderen SQL-User.
MFG.
Mr. Bob