una studio solucion servidor services seleccionada rrrenderingerror representación relacionado puede nombre mientras management instancia informes informe establecia esta especifico especificado error encontro durante disponible datos conexion conectar con abrir sql-server vb.net windows-10

sql server - studio - Error de SqlConnection si EXE se ejecuta desde la ruta de red



no se puede abrir una conexion con sql server (4)

Está intentando ejecutar un ejecutable no confiable (de forma predeterminada para cualquier archivo .exe en un recurso compartido de red). Por lo tanto, está restringido en lo que puede hacer.

Intente hacer clic con el botón derecho en el archivo ejecutable y hacer un ''ejecutar como administrador''.

También puede intentar buscar en la política de seguridad local.

En primer lugar: todo lo que lea en esta publicación solo ocurre si está instalada la actualización de Windows 10 de abril de 2018. No hay problema antes de la instalación y después de la desinstalación de la actualización.

Después de instalar la actualización de Windows 10 1803, todos los programas de mi VB (VB6, .NET y WPF) que se ejecutan desde la unidad asignada a la red o la ruta UNC no pueden conectarse al servidor SQL. en 2 pc en la misma red):

  1. Servidor SQL remoto, exe en disco local: OK
  2. El mismo servidor SQL remoto, el mismo exe en la unidad de red asignada (con acceso completo de lectura / escritura): ERROR

Este es el error (tal vez no significativo para resolver este problema):

Se produjo un error relacionado con la red o específico de la instancia al establecer una conexión a 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).

Código VB.NET simple 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?

Actualización: 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 ...

Actualización 08/05/2018: Noté que la actualización de abril de 2018 trajo algunos cambios en la 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.

Actualización 09/05/2018: Encontré esta información en this publicación:

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 me puede ayudar?


Este blog da una solución a esto, que funcionó para nosotros. Mire específicamente la respuesta de "M.Hermann": Windows 10 1803 no ejecutará la aplicación conectada a ODBC SQL desde la red

El siguiente enlace parece explicar por qué SMBv1 está deshabilitado: SMBv1 no está instalado de forma predeterminada en Windows 10 Fall Creators Update y Windows Server, versión 1709 y versiones posteriores

Sin embargo, no estoy seguro de por qué esto parece ser un problema después de 1803, ya que SMBv1 se ha deshabilitado desde 1709.


Finalmente encontré el problema: en el servidor con la carpeta compartida, SMBv2 está deshabilitado (no sé por qué), por lo que solo SMBv1 está activo; el mismo programa ejecutado desde el mismo cliente en la misma red pero ubicado en un servidor con SMBv2 habilitado funciona bien.

Entonces, el problema es sobre el recurso compartido SMBv1, desaprobado a partir de Windows 10 1803


Tengo el mismo problema con alguna aplicación escribir en "Rad Studio 10.2"

Encuentro una solución para mí, cambio mi cadena de conexión eliminando el parámetro "Network Library = dbmssocn"

Cambio esto

Provider=SQLOLEDB.1;Password=MyPassword;Persist Security Info=True;User ID=MyUser;Initial Catalog=MyDb;Data Source=MyServer;Network Library=dbmssocn;

A esto :

Provider=SQLOLEDB.1;Password=MyPassword;Persist Security Info=True;User ID=MyUser;Initial Catalog=MyDb;Data Source=MyServer

¡Ahora todo funciona bien!