229: The SELECT/EXECUTE permission was denied on the object
SQL ServerNe demek?
Kullanıcının, ilgili nesne üzerinde istenen işlemi (SELECT, INSERT, EXECUTE vb.) yapma izni yok. Erişim güvenlik nedeniyle reddedildi.
Neden olur?
Kullanıcıya/role gerekli iznin verilmemiş olması, yanlış şema sahipliği (ownership chaining kırılması), nesneye açık DENY uygulanmış olması veya kullanıcının yeterli role üye olmaması.
Nasıl çözülür?
Gerekli izni verin: GRANT SELECT ON dbo.Tablo TO KullaniciAdi (veya GRANT EXECUTE ON dbo.Prosedur TO ...). Kullanıcıyı uygun bir role ekleyin (ör. db_datareader). Açık bir DENY varsa kaldırın. En az ayrıcalık ilkesine uyacak şekilde izinleri düzenleyin. sys.database_permissions ile mevcut izinleri denetleyin.
Aynı motorda diğer kayıtlar
- 9002The transaction log for database is full due to ...
- 1105Could not allocate space for object in database because the filegroup is full
- 208Invalid object name
- 4060Cannot open database requested by the login. The login failed
- 233A connection was successfully established with the server, but then an error occurred (no process is on the other end of the pipe)
- 823The operating system returned error to SQL Server during a read/write at offset in file (I/O error)
- 824SQL Server detected a logical consistency-based I/O error (page corruption)