SqlException: Deadlock

У меня возникают эти два исключения, когда я пытаюсь получить данные из базы данных SQL на C #:

System.Data.SqlClient.SqlException: транзакция (идентификатор процесса 97) была заблокирована при блокировке ресурсов другим процессом и была выбрана в качестве жертвы взаимоблокировки.

ИЛИ

System.Data.SqlClient.SqlException: транзакция (идентификатор процесса 62) оказалась в тупиковой ситуации на ресурсах блокировки с другим процессом и была выбрана жертвой взаимоблокировки.

ИЛИ

System.Data.SqlClient.SqlException: транзакция (идентификатор процесса 54) была заблокирована для ресурсов блокировки с другим процессом и была выбрана в качестве жертвы взаимоблокировки. Повторите транзакцию.

это код:

 using (SqlConnection con = new SqlConnection(datasource))
 {
    SqlCommand cmd = new SqlCommand("Select * from MyTable Where ID='1' ", con);
    cmd.CommandTimeout = 300;
    con.Open();
    SqlDataAdapter adapter = new SqlDataAdapter(cmd);
    DataSet ds = new DataSet();
    adapter.Fill(ds);
    con.Close();
    return ds.Tables[0];
 }

Это происходило каждый раз.

Есть идеи, как их можно решить?

11
задан Hakan Fıstık 19 November 2018 в 08:35
поделиться