DBAtlas · Veritabanı operasyon atlası

15151: Cannot find the object/principal because it does not exist or you do not have permission

SQL Server

Ne 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).

DBAtlas'ta aç →

Aynı motorda diğer kayıtlar