Hola a todos tengo un problema, espero puedan ayudarme, es un poco extensa la explicacion pero quiero dar hasta el mas minimo detalle:
Acabo de formatear un servidor q tenia el w2000 server, despues de formatearlo le instale el w2003 server, lo configure todo como estaba antes, el active directory, la base de datos q utiliza el software de la empresa, la red y todo eso, todo estaba bien...pero cuando queremos acceder al sistema de software de la empresa, lo hacemos por medio de contraseña para lo cual tenemos dos tipos de acceso: como 'administrador' y como 'usuario', en cualquiera de los dos casos aparece el sgte mensaje de error:
Error en la conexion
SQLState:'28000'
Error de SQL Server:'18456'
[Microsoft][ODBC SQL Server Driver][SQL Server]Error de Inicio de Sesion del usuario 'Administrador'
lo unico q diferencia para ambos tipos de acceso es la parte final del mensaje de error en donde en vez de 'Administrador' aparece 'Usuario' si es q hemos querido ingresar como 'Usuario'.
Luego damos en el boton aceptar y aparece otro mensaje en donde te especifica:
Origen de Datos:
Id de Inicio de Sesion:
Contraseña:
y tbn da la posibilidad de ingresar usando conexion de confianza, si es q se habilita esa opcion alli recien se puede ingresar al sistema de software de la empresa de manera normal, si es q no se hace eso no se puede, obviamente al usar conexion de confianza esta usando el usuario por defecto del SQL q es 'sa'.
La idea es q ingrese sin q aparescan estos mensajes.
Yo intente lo sgte:
Hacer q coincidan los inicios de sesion del SQL con los usuarios de la base de datos o en todo caso asociarlos, para ello utilice un codigo q baje de internet q es el sgte (lo pongo para aquellos q tengan el mismo problema y quizas les pueda servir):
DECLARE cUsuarios CURSOR READ_ONLY
FOR
select UserName = name from sysusers
where issqluser = 1 and (sid is not null and sid <> 0x0)
and suser_sname(sid) is null
order by name
DECLARE @Usuario varchar(4000)
DECLARE @cadena varchar(4000)
OPEN cUsuarios
FETCH NEXT FROM cUsuarios INTO @Usuario
WHILE (@@fetch_status <> -1)
BEGIN
IF (@@fetch_status <> -2)
BEGIN
SET @cadena = 'sp_change_users_login ''Auto_Fix'',''' + @Usuario + ''''
EXEC ( @CADENA )
END
FETCH NEXT FROM cUsuarios INTO @Usuario
END
CLOSE cUsuarios
DEALLOCATE cUsuarios
lo ejecuté en el analizador de consultas y luego verifiqué en el SQL (Administrador Corporativo) y si paso algo en la configuracion de los usuarios de la base de datos, Ahora junto a sus nombres aparecen tbn el nombre de inicio de sesion (q antes no aparecia). Es decir:
Usuarios de Base de Datos:
Administrador(nombre)----->Administrador(Nombre inicio de sesion)
dbo(nombre)-------------->sa(Inicio de sesion)
Usuario(nombre)----------->Usuario(inicio de sesion)
y en la carpeta Seguridad/Inicios de Sesion:
Administrador----------------->Estandar----------->Permiso--->CreditosDb
BUILTIN/Administradores------->Grupo de Windows->Permiso--->master
sa---------------------------->Estandar---------->Permiso--->CreditosDb
Usuario----------------------->Estandar---------->Permiso--->CreditosDb
Los q dice estandar usan autenticacion 'sa' y estan con acceso permitido a las bases de datos q aparecen alli, en el caso de la empresa donde trabajo usamos la base da datos 'CreditosDb'.
Despues de estos cambios, intentamos ingresar de nuevo al sistema y nada!!...aparece el mismo mensaje de error, la verdad no se me ocurre nada mas, por alli intente eliminar los usuario de base datos y crear otros con los mismos nombres pero esta vez q usen el inicio de sesion 'sa' pero no pude, aparece un mensaje de error diciendo:
Error 15405: No se puede usar el nombre reservado de usuario o funcion 'sa'.
La verdad ya no se q mas hacer, quisiera por favor me ayuden , si alguien tiene conociemientos avanzados de Sql o a pasado por el mismo problema, les agradeceria me ayudasen. Gracias mil de antemano. Salu2.