Та же ошибка, даже если выполняется от имени администратора

е всего: все, что вы прочтете в этом посте, происходиттолько если установлено обновление Windows 10 апреля 2018 года. нет проблемдо установка ипосле удалить обновление.

После установки обновления Windows 10 1803 все мои программы VB (VB6, .NET и WPF), работающие с сетевого подключенного диска или пути UNC, не могут подключиться к серверу SQL, нет проблем, если один и тот же исполняемый файл размещается и выполняется с локального диска (проверено на 2 ПК в той же сети):

Удаленный SQL сервер, exe на локальном диске:ХорошоТакой же удаленный SQL-сервер,такой же EXE на подключенном сетевом диске (с полным доступом для чтения / записи):ОШИБКА

Это ошибка (возможно, не значащая для решения этой проблемы):

При установке соединения с SQL Server произошла ошибка, связанная с сетью или экземпляром. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (поставщик: сетевые интерфейсы SQL, ошибка: 26 - ошибка при поиске указанного сервера / экземпляра).

Простой код VB.NET для воспроизведения проблемы (поместите код в простой форме с помощью кнопки в событии button_click, установите значения для подключения к серверу SQL, скомпилируйте, сохраните исполняемый файл по сетевому пути и выполните его):

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

Исключение:

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

Есть идеи?

Обновить: Если я удаляю обновление за апрель 2018 года, проблема исчезает, и программа работает нормально, даже если выполняется на сетевом диске, но это не может быть решением ...

Обновление 05/05/2018: Я заметил, что апрельское обновление 2018 года принеслоизменения в безопасности:

Windows 10 версии 1803 обеспечивает дополнительную защиту:

Новые правила уменьшения поверхности атакиКонтролируемый доступ к папкам теперь может блокировать сектора диска

Может ли это быть причиной проблемы? Я не менеджер по безопасности, поэтому я не могу сказать, может ли это вызвать мою проблему

Обновление 09/05/2018: Я нашел эту информацию вэто Почта:

Обновление 1803 для Windows 10 не открывает сетевые подключения для исполняемых файлов на общем ресурсе SMBv1 (как Windows Server 2003)

но я не знаю, что такое SMBv1 ... кто-нибудь может мне помочь?

Ответы на вопрос(4)

Ваш ответ на вопрос