Share via

SqlCredential Class


SqlCredential provides a more secure way to specify the password for a login attempt using SQL Server Authentication.

SqlCredential is comprised of a user id and a password that will be used for SQL Server Authentication. The password in a SqlCredential object is of type SecureString.

SqlCredential cannot be inherited.

Windows Authentication (Integrated Security = true) remains the most secure way to log in to a SQL Server database.

public ref class SqlCredential sealed
public sealed class SqlCredential
type SqlCredential = class
Public NotInheritable Class SqlCredential


Use Credential to get or set a connection's SqlCredential object. Use ChangePassword to change the password for a SqlCredential object. For information on how a SqlCredential object affects connection pool behavior, see SQL Server Connection Pooling (ADO.NET).

An InvalidOperationException exception will be raised if a non-null SqlCredential object is used in a connection with any of the following connection string keywords:

  • Integrated Security = true

  • Password

  • User ID

The following sample connects to a SQL Server database using Credential:

// change connection string in the APP.CONFIG file  
  <add name="MyConnString"  
       connectionString="Initial Catalog=myDB;Server=myServer"  
       providerName="Microsoft.Data.SqlClient" />  

// then use the following snippet:  
using System.Configuration;  

System.Windows.Controls.TextBox txtUserId = new System.Windows.Controls.TextBox();  
System.Windows.Controls.PasswordBox txtPwd = new System.Windows.Controls.PasswordBox();  

Configuration config = Configuration.WebConfigurationManager.OpenWebConfiguration(Null);  
ConnectionStringSettings connString = config.ConnectionStrings.ConnectionString["MyConnString"];  

using (SqlConnection conn = new SqlConnection(connString.ConnectionString))  
    SecureString pwd = txtPwd.SecurePassword;  
    SqlCredential cred = new SqlCredential(txtUserId.Text, pwd);  
    conn.Credential = cred;  


SqlCredential(String, SecureString)

Creates an object of type SqlCredential.



Gets the password component of the SqlCredential object.


Gets the user ID component of the SqlCredential object.

Applies to