Conexiones SQL Server Net 8
Usuario
Modificación de la cadena de conexión para que utilice Autenticación de Windows
Data Source=SERVIDOR;Initial Catalog=QSD_v1;User ID=sa;Password=********;Connect Timeout=30;Encrypt=False;Trust Server Certificate=False;Application Intent=ReadWrite;Multi Subnet Failover=False
Asistente
Para usar Autenticación de Windows (Integrated Security) con SQL Server desde C#, quita User ID y Password y añade Integrated Security.
Tu cadena quedaría así:
Data Source=SERVIDOR;
Initial Catalog=QSD_v1;
Integrated Security=True;
Connect Timeout=30;
Encrypt=False;
Trust Server Certificate=False;
Application Intent=ReadWrite;
Multi Subnet Failover=False
Integrated Security=True (o Trusted_Connection=True) indica que se usará el usuario de Windows bajo el que corre tu proceso (tu sesión si es app de escritorio; la identidad del AppPool si es IIS; el servicio si es Windows Service).
Ejemplo en C#
using (var cn = new SqlConnection(
"Server=SERVIDOR;Database=QSD_v1;Integrated Security=True;Encrypt=False;Trust Server Certificate=False"))
{{
cn.Open();
// ...
}}
Requisitos en SQL Server
-- Sustituye DOMINIO\CuentaPorEjemplo por la cuenta real
CREATE LOGIN [DOMINIO\CuentaPorEjemplo] FROM WINDOWS;
USE QSD_v1;
CREATE USER [DOMINIO\CuentaPorEjemplo] FOR LOGIN [DOMINIO\CuentaPorEjemplo];
EXEC sp_addrolemember N'db_datareader', N'DOMINIO\CuentaPorEjemplo'; -- y/o db_datawriter/db_owner según necesites
Notas útiles
- Si es una app web en IIS, la conexión usará la Identity del Application Pool. Si quieres una cuenta concreta (p. ej., de dominio), configúrala en el AppPool y dale permisos en SQL Server como arriba.
- En entornos modernos, conviene
Encrypt=Truecon un certificado válido. Si aún no tienes CA, durante desarrollo podrías usarEncrypt=True;Trust Server Certificate=Truepara evitar errores de certificado (no recomendado en producción).
Con eso deberías poder conectar con Windows Auth sin usuario/contraseña en la cadena.