Měl jsem tuto chybu a našel jsem několik řešení:
Při pohledu na váš připojovací řetězec vypadá platný. Našel jsem tento blogový příspěvek, problém je v tom, že používali integrované zabezpečení. Pokud používáte službu IIS, váš uživatel služby IIS potřebuje přístup k databázi.
Pokud používáte Entity Framework s transakcemi, Entity Framework automaticky otevře a uzavře připojení s každým voláním databáze. Při použití transakcí se tedy pokoušíte rozložit transakci na více připojení. Toto povýší na MSDTC.
(Více informací naleznete v tomto odkazu.)
Změna mého kódu na následující to vyřešila:
using (DatabaseEntities context = new DatabaseEntities())
{
context.Connection.Open();
// the rest
}