Eu também tive o mesmo problema. De acordo com esta página , a ApplicationPoolIdentity deve acessar recursos de rede como a conta da máquina (DOMAIN \ COMPUTERNAME $), mas estava usando NT AUTHORITY \ ANONYMOUS LOGON para acessar o SQL Server.
Consegui usar esta correcção para que o ApplicationPoolIdentity funcionasse como o documento diz que deveria. Esse hotfix não descreve especificamente uma solução para acessar recursos de rede como NT AUTHORITY \ ANONYMOUS LOGON, mas está relacionado à alteração de senha do computador.
Este thread stackoverflow ajudou-me a encontrar este solução:
Outras dicas úteis para depurar a identidade do ASP.NET e a identidade do SQL
Como a autenticação integrada do SQL está relacionada à identidade do encadeamento, é útil poder exibir sua identidade de usuário, identidade de encadeamento (que muda dependendo da representação) e o logon do servidor SQL. Este snippet ASPX exibe todos os três:
<%@ Import Namespace="System.Security.Principal" %>
<div>ASP.NET Request User identity: <%= User.Identity.Name %></div>
<div>Current thread/process WindowsIdentity: <%= WindowsIdentity.GetCurrent(false).Name %></div>
<asp:SqlDataSource ID="CurrentUserData" runat="server" ConnectionString="<%$ ConnectionStrings:ConnID %>"
SelectCommand="select SYSTEM_USER" />
<asp:DetailsView DataSourceID="CurrentUserData" runat="server" />