Microsoft Azure

Azure üzerinde SQL Server-3 SQL on Azure – SQL Managed Instance

Merhaba,

SQL Server on Azure yazı dizimizin üçüncüsü ile sizlerle birlikteyiz. İlk makalemizde SQL Server on Azure konusuna bir giriş yaptık ve SQL Server Virtual Machine konusunu işledik. Burada Azure üzerinde bir IaaS hizmeti ile bir sanal makine oluşturup üzerine SQL Server kurulumunu gerçekleştirdik. Tekrar okumak isteyenler için buraya link bırakıyorum.

https://www.cozumpark.com/azure-uzerinde-sql-server-1-sql-on-azure-sql-virtual-machine/

İkinci makalede ise Azure SQL Database konusundan bahsettik. Bu yapıda artık bir sanal makinemiz yoktu ve doğrudan bir PaaS hizmeti olarak SQL Server database hizmeti kullandık. Tekrar okumak isteyenler için onun da linkini buraya bırakıyorum.

https://www.cozumpark.com/azure-uzerinde-sql-server-2-sql-on-azure-azure-sql-database/

Tabi Azure SQL Database’in kısıtlamaları söz konusu idi. İşte bu kısıtlamalara takılmadan SQL Server’ı Azure üzerinde bir hizmet olarak kullanmak isteyen kullanıcılar için geliştirilen son derece yetenekli bir başka Azure SQL Server ürünü SQL Server Managed Instance. Bu hizmet de aynı Azure SQL Server gibi bir PaaS hizmeti ama çok güzel farklılıkları var.

Kısaca Instance özelinde kontrolü size bırakan özellikleri var. Bu özelliklere baktığımızda,

  • Master,MSDB gibi sistem database lerine erişimi ve yönetilmesi
  • SA yetkisi ile sisteme erişme
  • Backup ve Restore komutlarını çalıştırma
  • Global Temp  tables kullanımı
  • Farklı db lerden sorgu çekme
  • Linked Servers kullanımı
  • SQL CLR kullanımı
  • SQL Agent hizmeti
  • Database Mail hizmeti

Gibi hizmet ve özelliklerin kullanımına izin verdiğini görüyoruz. Bu ne demek biliyor musunuz? Bulut ortamını on prem konforunda kullanma. Üstelik her türlü versiyon ve yama upgrade i, işletim sisteminin yönetimi, yedekleme yönetimi gibi kritik konuları tamamen Microsoft’a yıkarak. Oldukça mantıklı bir birliktelik.

Bu linkte Azure Managed Instance ve Azure SQL Server arasındaki farkları çok daha detaylı şekilde görebilirsiniz.

https://docs.microsoft.com/tr-tr/azure/azure-sql/database/features-comparison

Ayrıca Azure SQL Veritabanı, Azure Managed Instance ve Azure VM’de SQL Server üzerinde işlemlerin nasıl yapıldığı ile alakalı detayları burada bulabilirsiniz.

https://docs.microsoft.com/tr-tr/azure/azure-sql/

Şimdi gelin birlikte bir Azure SQL Server Managed Instance kurulumu gerçekleştirelim.

Bunun için home bölümünde arama kutucuğuna SQL managed yazdığımızda karşımıza SQL Managed Instances menüsü çıkıyor. Ona tıklıyoruz.

Karşımıza çıkan ekranda Add ya da Create Managed Instance butonuna tıklıyoruz.

Çıkan ekranda subscription,resource group, managend instance adı ve region değerlerini giriyoruz. Eğer herhangi bir resource group yok ise create diyerek oluşturuyoruz.

Configure Managed Instance diyerek sunucu konfigürasyonunu seçiyoruz. Benim seçtiğim konfigürasyonun maliyet detayları da yaklaşık olarak çıkmış durumda.

Sunucu için Admin kullanıcı ve şifresini belirliyoruz. Şifre en az 16 karakter, büyük-küçük harf ve rakam içerme zorunda.

İkinci adımda network kısmını şekildeki gibi yapıyoruz.

Yerel makinemizden denemeler yapabilmek için public endpoint değerini enable yapıyoruz ve Allow Access from seçeneğini internet olarak belirliyoruz. Normalde bu bir güvenlik açığı olsa da bu çalışmada rahat test edebilmek amacı ile bu şekilde seçiyoruz.

Ve son olarak özet ekranımızda Create butonuna tıklıyoruz.

Şimdi uzun sürecek bir deployment işlemine hazır olun. Zira bu işlem 2-3 saat kadar zaman alabiliyor.

Uzunca bir bekleyişten sonra deploy işlemi tamamlandı ve artık Azure Managed Instance’ımız hazır. Şimdi bildiğimiz araçlar ile instance’ımıza bağlanabiliriz.

Bunun için Management Studio’yu (SSMS) kullanacağız.

Tabi önce sunucumuza ait connection bilgilerine erişmemiz gerekiyor.

Bunun için Go to resource menüsüne tıklayarak instance ımızın özelliklerine bakıyoruz.

Ana sayfada bizi böyle bir ekran karşılıyor. Şimdi bu SQL Instance’ımıza Management Studio (SSMS) üzerinden bağlanalım.

Bunun için connection bilgilerine ihtiyacımız var. Bunun için sol menüde Connection Strings linkine tıklıyoruz.

Connection strings bölümünde public olarak internet üzerinden bağlanacağımız için public endpoint bilgilerini alıyoruz. Burada bir adres var ve bağlantı portu 1433 değil 3342.

Şimdi SSMS üzerinden bağlanmayı deneyelim.

Evet Azure SQL Managed Instance’a bağlandık. Resimde görüldüğü gibi sistem databse lerini ve SQL Server Agent’ı da görebiliyoruz.

Şimdi localdeki bir database ‘i SQL Server Managed Instance ortamına taşıyalım. Azure SQL’in aksine burada backup/restore komutlarını kullanabiliyoruz. Bunun için localdeki database imizi Azure Blob Storage üzerine backup alıp Managed Instance üzerine bu backup’tan restore işlemi gerçekleştireceğiz.

Gelen ekranda Add diyoruz.

Sign in diyerek Azure üzerinde login ekranına gidiyoruz.

Bu ekranda Credential oluşturuyoruz.

Sonraki ekranda da ok butonuna tıklıyoruz.

Backup işlemimiz başladı.

Backup  işlemi başarı ile tamamlandı.

Şimdi Managed Instance üzerine restore edeceğiz.

Add butonuna tıklıyoruz.

Storage Container ekliyoruz.

Azure a login oluyoruz.

Create credential diyerek credential oluşturuyoruz.

Karşımıza gelen ekrandan Container’dan backup dosyasını seçiyoruz. Görüldüğü gibi son aldığımız backup dosyası burada görünüyor.

Backup dosyasını seçerek OK butonuna basıyoruz.

Restore işlemi tamamlandı.

Son olarak database den sorgu çekiyoruz. Görüldüğü gibi master db seçili iken CRM database inden sorgu çekebiliyoruz. Yani Azure SQL Server’da çalışmayan multipart names özelliği burada çalışıyor.

Böylelikle Azure SQL Server Managed Instance kurulumunu da gerçekleştirmiş olduk.

Bir sonraki makalede görüşmek dileğiyle.

Sağlıcakla kalın.

Bir Yorum

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu

Reklam Engelleyici Algılandı

ÇözümPark Bilişim Portalı gönüllü bir organizasyon olup tek gelir kaynağı reklamlardır. Bu nedenle siteyi gezerken lütfen reklam engelleme eklentinizi kapatın veya Çözümpark web sitesi için izin tanımı yapın. Anlayışınız için teşekkürler.