SqlConnection Error si EXE se ejecuta desde la ruta de red

Ante todo todo lo que leerás en esta publicación sucedesolament si está instalada la actualización de Windows 10 de abril de 2018. No hay problemaantes d instalación ydespué desinstalación de actualizaciones.

Después de instalar la actualización de Windows 10 1803, todo mi programa VB (VB6, .NET y WPF) que se ejecuta desde la unidad asignada a la red o la ruta UNC no se puede conectar al servidor SQL, no hay problema si el mismo ejecutable se coloca y ejecuta desde la unidad local ( probado en 2 pc en la misma red):

Servidor SQL remoto, exe en la unidad local:OKAMism servidor SQL remoto,mism exe en la unidad de red asignada (con acceso completo de lectura / escritura):ERRO

Este es el error (quizás no sea significativo para resolver este problema):

Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión con SQL Server. El servidor no se encontró o no estaba accesible. Verifique que el nombre de la instancia sea correcto y que SQL Server esté configurado para permitir conexiones remotas. (proveedor: interfaces de red SQL, error: 26 - Error al localizar el servidor / instancia especificada).

ódigo @Simple VB.NET para reproducir el problema (coloque el código de forma simple con un botón en el evento button_click, establezca valores para conectarse al servidor SQL, compile, guarde el archivo exe en una ruta de red y ejecútelo): @

Dim myConnectionString As String
Dim mySqlConnectionStringBuilder As New SqlConnectionStringBuilder()
mySqlConnectionStringBuilder.DataSource = myServer
mySqlConnectionStringBuilder.InitialCatalog = myDatabase
mySqlConnectionStringBuilder.UserID = myUtente
mySqlConnectionStringBuilder.Password = myPassword
myConnectionString = mySqlConnectionStringBuilder.ConnectionString

Dim mySqlConnection As New SqlConnection(myConnectionString)
mySqlConnection.Open()  <- error

Excepción

System.Data.SqlClient.SqlException (0x80131904): Si è verificato un errore di rete o specifico dell'istanza mentre si cercava di stabilire una connessione con SQL Server. Il server non è stato trovato o non è accessibile. Verificare che il nome dell'istanza sia corretto e che SQL Server sia configurato in modo da consentire connessioni remote. (provider: SQL Network Interfaces, error: 26 - Errore nell'individuazione del server/dell'istanza specificata)
   in System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling, SqlAuthenticationProviderManager sqlAuthProviderManager)
   in System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   in System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   in System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   in System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   in System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   in System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   in System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   in System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   in System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   in System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   in System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   in System.Data.SqlClient.SqlConnection.Open()
   in RiepilogoOreTimer.RiepilogoOreTimerWindow.ConnessioneOK()
ClientConnectionId:00000000-0000-0000-0000-000000000000
Error Number:-1,State:0,Class:20

¿Algunas ideas

Actualizar Si desinstalo la actualización de abril de 2018, el problema desaparece y el programa funciona bien incluso si se ejecuta en una unidad de red, pero esta no puede ser la solución ...

Update 08/05/2018: Noté que la actualización de abril de 2018 trajo algunas cambios en seguridad:

Windows 10, versión 1803 proporciona protecciones adicionales:

Nuevas reglas de reducción de superficie de ataque El acceso controlado a la carpeta ahora puede bloquear los sectores del disco

¿Podría ser la causa del problema? No soy un administrador de seguridad, así que no puedo decir si esto puede causar mi problema

Update 09/05/2018: Encontré esta información enest post:

La actualización 1803 de Windows 10 no abre conexiones de red en archivos ejecutables en el recurso compartido SMBv1 (como Windows Server 2003)

pero no sé qué es SMBv1 ... ¿alguien puede ayudarme?

Respuestas a la pregunta(4)

Su respuesta a la pregunta