sql >> Database >  >> RDS >> Sqlserver

C# SqlDataReader uitvoeringsstatistieken en informatie

Probeer de ingebouwde statistieken te gebruiken voor de uitvoeringstijd en rijen die zijn geselecteerd/beïnvloed:

using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["NorthwindConnectionString"].ConnectionString))
{
  cn.Open();
  cn.StatisticsEnabled = true;
  using (SqlCommand cmd = new SqlCommand("SP", cn))
  {
    cmd.CommandType = CommandType.StoredProcedure;
    try
    {
      using (SqlDataReader dr = cmd.ExecuteReader())
      {
        while (dr.Read())
        {

        }
      }
    }
    catch (SqlException ex)
    {
      // Inspect the "ex" exception thrown here
    }
  }

  IDictionary stats = cn.RetrieveStatistics();
  long selectRows = (long)stats["SelectRows"];
  long executionTime = (long)stats["ExecutionTime"];
}

Zie meer op MSDN .

De enige manier waarop ik kan zien dat je erachter komt hoe iets is mislukt, is het inspecteren van de SqlException gegooid en kijkend naar de details.



  1. Meerdere tabellen retourneren vanuit een opgeslagen procedure

  2. Het opslaan van de uitvoer van een dynamische query die refcursor gebruikt in een tabel

  3. Rails 3.0.3 - Oracle_enhanced werkt niet

  4. Als een site in een omgeving met meerdere servers langer dan 15 minuten inactief is, verliest de server de verbinding met de PostgreSQL-database