Solución:
Creo que el problema es que el usuario tiene negar privilegios. Este error se produce cuando el usuario que ha creado no tiene los privilegios suficientes para acceder a sus tablas en la base de datos. Otorgue el privilegio al usuario para obtener lo que desea.
CONCEDER los permisos específicos del usuario como SELECT, INSERT, UPDATE y DELETE en las tablas de esa base de datos.
- Abrir SQL Management Studio
- Amplíe su base de datos
- Expanda la carpeta “Seguridad”
- Expandir “Usuarios”
- Haga clic con el botón derecho en el usuario (el que está intentando realizar la consulta) y seleccione
Properties
. - Seleccionar página
Membership
. -
Asegúrate de desmarcar
db_denydatareader
db_denydatawriter
Esto debería ser evidente, pero solo otorgue los permisos a lo que el usuario necesita. Una solución fácil y perezosa es comprobar db_owner
como yo, pero esta no es la mejor práctica de seguridad.
La sintaxis para otorgar permiso de selección en una tabla específica:
USE YourDB;
GRANT SELECT ON dbo.functionName TO UserName;
Para otorgar el permiso de selección en todas las tablas de la base de datos:
USE YourDB;
GRANT SELECT TO UserName;