Olmaz demeyin, gerçekten olduğuna
kaç kere şahit oldum. Kullanıcılar bazen farkında
olmadan tüm System Administrator yetkisine sahip Login' leri silebiliyorlar ve bunun
sonucunda da SQL Server Instance' larına yönetici olarak bağlanamıyorlar.
Bu gibi durumlarda genellikle başvurulan yöntem, SQL Server Instance' ının sistemden
kaldırılması, yeni bir SQL Server Instance' ının kurulması ve veritabanlarının yeni
Instance' a bağlanması oluyor. Bu şekilde, eğer sistem veritabanlarının (master,
msdb gibi) yedekleri yoksa, tüm Maintanence Plan' lar, Job' lar, Login' ler vb.
yok oluyor. Zaten bu sistem veritabanlarının yedekleri olsa dahi, Login bilgilerinin
saklandığı "master" veritabanında da "sysadmin" rolüne üye bir Login bulunmayabilir.
Ayrıca bu, çok zahmetli ve zaman alıcı bir iş olacaktır.
Bunun yerine aşağıdaki yöntemi uygulamanızı tavsiye ederim:
- Sisteme Yerel Yöneticiler (Local Administrators) Windows grubuna üye bir kullanıcıyla
oturum açın,
- SQL Server Intance' ınızı Tek Kullanıcılı Mod (Single User Mode)' da açın, bunun
için:
- SQL Server Configuration Manager' ı açın,
- SQL Server 2005 Services isimli düğüme tıklayın ve sağdaki pencereden ilgili
SQL Server Instance' ınızın
özelliklerine (Properties) gidin,
- "Advanced" sekmesinde, "Startup Parameters" özelliğini bulun ve oraya,
Resim-1' deki gibi "-m" parametresini
ekleyin.
- Parametre ekleme işleminden sonra SQL Server Instance' ınızın Veritabanı
Motoru (Database Engine) servisini
durdurup yeniden başlatmanız gerekiyor.

Resim-1 |
Burada dikkat etmeniz gereken şey ise, SQL Server Instance' ınızın artık sadece
bir kullanıcı kabul edeceğidir. Bu yüzden ilgili SQL Server Instance' ına ait SQL
Server Agent servisinin çalışmadığından emin olun.
Tüm bu gereklilikleri yerine getirdikten sonra, SQL Server Management Studio (SSMS)'
yu açın ve Query Editor' ü kullanarak ilgili SQL Server Instance' ınıza bağlanın.
Object Explorer' dan değil, Query Editor' den bağlandığınıza emin olun, çünkü Object
Explorer' dan bağlandığınızda sistemi eski haline getirmek için Login değişiklikleri
yapmak istediğinizde SSMS SQL Server Instance' ınıza birden fazla bağlantı kurmak
isteyecektir ve sistem de bunu kabul edemeyeceği için bu da hataya neden olacaktır.
SSMS' i açtıktan sonra yeni bir Query Editor penceresi açmak için SSMS' in sol üst
köşesinde bulunan New Query düğmesine tıklayabilir veya File->New->Database
Engine Query menüsünü kullanabilirsiniz.
Query Editor' de yeni bir sorgulama penceresi açtıktan sonra System Administrator
haklarına sahip yeni bir kullanıcı oluşturmak için aşağıdaki komutları kendi ortamınıza
uyarlayarak çalıştırmanız gerekiyor:
-- Yeni bir Windows Login oluşturma:
CREATE LOGIN [Test6\Administrator]
FROM WINDOWS
-- Oluşturulan Login' i "sysadmin" Server Fixed Role' üne üye yapma:
EXEC sp_addsrvrolemember
'test6\Administrator',
'sysadmin';
Yeni Login oluşturma hakkında daha fazla bilgi için aşağıdaki adrese gözatın:
http://msdn.microsoft.com/en-us/library/ms189751(SQL.90).aspx
sp_addsrvrolemember Sistem Stored Procedure' ü için ise aşağıdaki adresi inceleyebilirsiniz:
http://msdn.microsoft.com/en-us/library/ms186320.aspx
Yeni Login de oluşturulup gerekli haklar verildikten sonra SQL Server Instance'
ınıza başlangıç parametresi olaran eklediğiniz "-m" parametresini yukarıda izlediğiniz
yolu izleyerek çıkarıp, SQL Server Instance' ınızın Database Engine servisini tekrar
başlatmanız gerekir ve artık oluşturduğunuz Login ile SQL Server Instance' ınıza
Sistem Yöneticisi olarak bağlanabilirsiniz!
Ekrem Önsoy