Имеются ли параметры проверки подлинности на SQL Server 2008 R2 с разницей в производительности?

Хорошо, это первый метод

public static string srConnectionString = "server=localhost;database=myDB; "+
" uid=sa;pwd=myPW;";

И это второй метод

public static string srConnectionString = "server=localhost;database=myDB; "+
" integrated security=SSPI;persist security info=False; Trusted_Connection=Yes;";

Есть ли разница в производительности или какая-либо другая разница между этими двумя строками соединения?

Здесь мой класс подключения sql предлагает любое предложение?

using System;
using System.Data.Sql;
using System.Data.SqlClient;
using System.Data;

public static class DbConnection

{
    public static string srConnectionString = "server=localhost; database=myDB; uid=sa; pwd=myPW;";

    public static DataSet db_Select_Query(string strQuery)
    {
        DataSet dSet = new DataSet();
        if (strQuery.Length < 5)
            return dSet;
        try
        {
            using (SqlConnection connection = new SqlConnection(srConnectionString))
            {
                connection.Open();
                using (SqlDataAdapter DA = new SqlDataAdapter(strQuery, connection))
                {
                    DA.Fill(dSet);
                }
            }
            return dSet;
        }
        catch
        {
            using (SqlConnection connection = new SqlConnection(srConnectionString))
            {
                if (srConnectionString.IndexOf("select Id from tblAspErrors") != -1)
                {
                    connection.Open();
                    strQuery = strQuery.Replace("'", "''");

                    using (SqlCommand command = new SqlCommand("insert into tblSqlErrors values ('" + strQuery + "')", connection))
                    {
                        command.ExecuteNonQuery();
                    }
                }
            }
            return dSet;
        }
    }

    public static void db_Update_Delete_Query(string strQuery)
    {
        if (strQuery.Length < 5)
            return;
        try
        {
            using (SqlConnection connection = new SqlConnection(srConnectionString))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand(strQuery, connection))
                {
                    command.ExecuteNonQuery();
                }
            }
        }
        catch
        {
            strQuery = strQuery.Replace("'", "''");
            using (SqlConnection connection = new SqlConnection(srConnectionString))
            {
                connection.Open();
                using (SqlCommand command = new SqlCommand("insert into tblSqlErrors values ('" + strQuery + "')", connection))
                {
                    command.ExecuteNonQuery();
                }
            }
    }
}

}

Ответ 1

Разница в производительности незначительно мала, и ее можно игнорировать. Проверка подлинности выполняется

  • ... выполняется только при входе в систему. Соединение не перепроверяется для каждого запроса. Однако при объединении пула соединение аутентифицируется и reset много раз, вполне возможно, почти для каждого запроса
  • ... так же, как и каждый доступ к файлу и другая активность, связанная с проверкой домена в Active Directory

FYI эти две настройки одинаковы (используйте один или другой):

интегрированная безопасность = SSPI
   Trusted_Connection = Да