13 Mart 2014 Perşembe

HATA: The database VeritabanıAdı is not accessible

HATA
The database VeritabanıAdı is not accessible. (Object Explorer)

AÇIKLAMA
Aslında bu hata için Blog yazmayacaktım, fakat başka ve buna benzer bir hata için yazdığım yazının en çok aratılan yazı olduğunu görünce, belki bu da çok aratılıyordur diye bunu da kayıtlara geçmek istedim.

Bu hatayı, SQL Server Management Studio'daki Object Explorer penceresindeki Databases altındaki veritabanlarından birini açmaya çalıştığınızda alabilirsiniz. Nedeni ise açmaya çalıştığınız veritabanına erişim yetkinizin bulunmamasıdır.

ÇÖZÜM
Eğer yetkiniz varsa kendiniz, eğer yoksa veritabanı yöneticisine söyleyip ilgili SQL Login'inize yine ilgili veritabanına erişim için yetki istemelisiniz. Tabii ki çoğu durumda sadece erişim yetkisi yetmeyecektir, aynı zamanda okuma (db_datareader) ve yazma (db_datawriter) gibi yetkilere de ihtiyacınız olacaktır; tabii ki ihtiyaçlar çok çeşitli olduğu için artık ne yetki gerektiğini sizin belirlemeniz gerekiyor, ben sadece çok genel hatlarıyla bir tanımlama yaptım.

Bu arada erişim yetkisi derken neyi kastettiğimi de hemen belirteyim, ilgili veritabanında bir kullanıcınızın (User) olmasından bahsediyorum. Bunu aşağıdaki şekilde oluşturabilirsiniz:

USE [VeritabanıAdı]
GO
-- Aşağıdaki kullanıcı, belirtilen Login'e Map edilerek oluşturulacaktır ve artık veritabanına erişebilir olacaktır. Bununla birlikte, okuma ve yazma gibi yetkilerin ayrı komutlarla verileceğini dikkate almalısınız. Aşağıdaki kullanıcı varsayılan olarak yalnızca Public rolüne üye olarak oluşturulacaktır. Çoğu veritabanında da Public rolüne yetki verilmez, ki doğru olanı da budur.
CREATE USER [KullanıcıAdı] FOR LOGIN [LoginAdı] WITH DEFAULT_SCHEMA=[dbo];

Ekrem Önsoy

Hiç yorum yok: