229: The SELECT/EXECUTE permission was denied on the object (autorisation SELECT/EXECUTE refusée sur l'objet)
SQL ServerQue signifie cette erreur ?
L'utilisateur n'a pas l'autorisation d'effectuer l'opération demandée (SELECT, INSERT, EXECUTE, etc.) sur l'objet. L'accès a été refusé pour des raisons de sécurité.
Cause
L'autorisation requise n'a pas été accordée à l'utilisateur/au rôle, propriété de schéma incorrecte (chaînage de propriété rompu), DENY explicite sur l'objet, ou utilisateur non membre d'un rôle suffisant.
Comment la corriger
Accordez l'autorisation requise : GRANT SELECT ON dbo.MyTable TO UserName (ou GRANT EXECUTE ON dbo.MyProcedure TO ...). Ajoutez l'utilisateur à un rôle approprié (par ex. db_datareader). Supprimez tout DENY explicite. Organisez les autorisations selon le principe du moindre privilège. Auditez les autorisations existantes avec sys.database_permissions.
Autres entrées pour ce moteur
- 9002The transaction log for database is full due to ... (le journal des transactions de la base est plein)
- 1105Could not allocate space for object in database because the filegroup is full (allocation d'espace impossible : groupe de fichiers plein)
- 208Invalid object name (nom d'objet invalide)
- 4060Cannot open database requested by the login. The login failed (impossible d'ouvrir la base demandée par le login ; échec de connexion)
- 233A connection was successfully established with the server, but then an error occurred (no process is on the other end of the pipe) (connexion établie puis interrompue par une erreur)
- 823The operating system returned error to SQL Server during a read/write at offset in file (I/O error) (erreur d'E/S du système d'exploitation)
- 824SQL Server detected a logical consistency-based I/O error (page corruption) (erreur d'E/S de cohérence logique)