15151: Cannot find the object/principal because it does not exist or you do not have permission
SQL ServerNe demek?
Başvurduğunuz nesne veya güvenlik asıl adı (principal: kullanıcı, rol, oturum) ya gerçekten yok ya da erişmek/işlem yapmak için yeterli izniniz yok. SQL Server, güvenlik nedeniyle bu iki durumu tek mesajda birleştirir.
Neden olur?
GRANT/ALTER/DROP gibi bir komutta var olmayan bir kullanıcı, rol, şema ya da nesne adı yazmak; yanlış veritabanı bağlamında çalışmak (nesne başka bir DB'de); ya da işlemi yapmaya yetkiniz olmaması. İsim yazım hataları ve büyük/küçük harf/şema önekleri sık nedendir.
Nasıl çözülür?
Nesne/asıl adının doğru yazıldığını ve doğru veritabanında olduğunuzu doğrulayın. Kullanıcılar için: SELECT name, type_desc FROM sys.database_principals; nesneler için sys.objects sorgulayın. İşlemi yapan hesabın gerekli izinlere (ör. ALTER ANY USER, CONTROL) sahip olduğundan emin olun. Doğru şema önekini kullanın (dbo.nesne gibi).
Aynı motorda diğer kayıtlar
- 3961Snapshot isolation transaction failed because the object was modified by a DDL statement
- 1785Introducing FOREIGN KEY constraint may cause cycles or multiple cascade paths
- 9421XML parsing: illegal xml character
- 4834You do not have permission to use the bulk load statement
- 10928Resource limit for the database has been reached (Azure SQL)
- 40544The database has reached its size quota (Azure SQL)
- 40613Database is not currently available (Azure SQL)