Alıştırma - Veritabanınıza bağlanma ve örnek veriler ekleme

Tamamlandı

Veritabanını uygulamanıza bağlamadan önce bağlanıp bağlanamadığını kontrol etmek, basit bir tablo eklemek ve örnek verilerle çalışmak istersiniz.

Azure SQL veritabanının altyapısını, yazılım güncelleştirmelerini ve düzeltme eklerini sizin yerinize biz idare ederiz. Azure SQL veritabanınızı, diğer TÜM SQL Server yüklemeleri gibi değerlendirebilirsiniz. Örneğin, Azure SQL veritabanınızı yönetmek için Visual Studio, SQL Server Management Studio, Azure Data Studio veya diğer araçları kullanabilirsiniz.

Veritabanınıza erişme ve veritabanını uygulamanıza bağlama yöntemini siz belirlersiniz. Veritabanınızla çalışma konusunda biraz deneyim elde etmek için doğrudan portaldan veritabanına bağlanalım, bir tablo oluşturalım ve birkaç temel CRUD işlemi çalıştıralım. Burada şunları öğrenirsiniz:

  • Cloud Shell'in ne olduğu ve portaldan erişme.
  • Bağlantı dizeleri dahil olmak üzere veritabanınızla ilgili bilgilere Azure CLI'den erişme.
  • sqlcmd kullanarak veritabanınıza bağlanma.
  • Veritabanınızı basit bir tablo ve örnek verilerle kullanmaya başlama.

Azure Cloud Shell nedir?

Azure Cloud Shell, Azure kaynaklarını yönetmenizi ve geliştirmenizi sağlayan bir tarayıcı tabanlı kabul deneyimidir. Cloud Shell'i bulutta çalışan etkileşimli bir konsol olarak düşünebilirsiniz.

Cloud Shell arka planda Linux üzerinde çalışır. Ancak, Linux veya Windows ortamını tercih edip etmediğinize bağlı olarak, aralarından seçim yapabileceğiniz iki deneyiminiz vardır: Bash ve PowerShell.

Cloud Shell'e her yerden erişebilirsiniz. Cloud Shell'e portalın yanı sıra shell.azure.com adresinden, Azure mobil uygulamasından veya Visual Studio Code'dan erişebilirsiniz.

Cloud Shell'de popüler araçlar ve metin düzenleyiciler bulunur. Burada, bu alıştırmada azkullandığınız üç araç olan , jqve sqlcmd yardımcı programlarına kısaca göz atabilirsiniz.

  • az, Azure CLI olarak da bilinir. Azure kaynaklarıyla çalışmak için kullanabileceğiniz komut satırı arabirimidir. Bağlantı dizesi dahil olmak üzere veritabanınız hakkında bilgi almak için bu arabirimi kullanırsınız.
  • jq, bir komut satırı JSON ayrıştırıcısıdır. JSON çıkışından az önemli alanları ayıklamak için komutlardan çıkışı bu aracına aktarırsınız.
  • sqlcmd, SQL Server üzerinde deyim yürütmenizi sağlar. Azure SQL veritabanınızla etkileşimli bir oturum oluşturmak için kullanırsınız sqlcmd .

Azure SQL veritabanınız hakkında bilgi edinme

Veritabanınıza bağlanmadan önce var olup olmadığını ve çevrimiçi olma durumunu doğrulamak iyi bir yöntemdir.

Burada az yardımcı programını kullanarak veritabanlarınızı listeleyecek ve Logistics veritabanının maksimum boyutu ve durumu gibi bazı bilgileri göreceksiniz.

  1. az Çalıştırdığınız komutlar için kaynak grubunuzun adı ve Azure SQL mantıksal sunucunuzun adı gerekir. Tuş vuruşlarını kaydetmek için bu azure configure komutu çalıştırarak bunları varsayılan değer olarak belirtin.

    değerini, oluşturduğunuz Azure SQL mantıksal sunucusunun adıyla ve [resource-group] sunucunuz için kullandığınız kaynak grubuyla değiştirin[server-name].

    az configure --defaults group=[resource-group] sql-server=[server-name]
    

    Dekont

    Portalda bulunduğunuz bölmeye bağlı olarak, SQL server adınız FQDN (örneğin, servername.database.windows.net) olarak görüntülenebilir. Ancak bu komut için .database.windows.net soneki olmadan yalnızca mantıksal ad gereklidir.

  2. Azure SQL mantıksal sunucunuzdaki tüm veritabanlarını listelemek için aşağıdaki az sql db list komutu çalıştırın:

    az sql db list
    

    Çıkış olarak büyük bir JSON bloğu elde edersiniz.

  3. Yalnızca veritabanı adlarını almak istediğimiz için komutunu ikinci kez çalıştırın. Ancak bu kez, yalnızca ad alanlarını görüntülemek için jq çıkışı öğesine yöneltin.

    az sql db list | jq '[.[] | {name: .name}]'
    

    Şu çıkışı almanız gerekir:

    [
      {
        "name": "Logistics"
      },
      {
        "name": "master"
      }
    ]
    

    Logistics veritabanınızdır. SQL Server gibi sistem veritabanı da master oturum açma bilgileri ve sistem yapılandırma ayarları gibi sunucu meta verilerini içerir.

  4. Veritabanıyla ilgili Logistics ayrıntıları almak için aşağıdaki az sql db show komutu çalıştırın:

    az sql db show --name Logistics
    

    Önceki gibi çıktı olarak büyük bir JSON bloğu görürsünüz.

  5. komutunu ikinci kez çalıştırın. Bu kez çıkışı yalnızca jq Logistics veritabanının adı, maksimum boyutu ve durumuyla sınırlamak için çıkışa yöneltin.

    az sql db show --name Logistics | jq '{name: .name, maxSizeBytes: .maxSizeBytes, status: .status}'
    

    Veritabanının çevrimiçi olduğunu ve veritabanının depolayabileceğiniz maksimum miktarda veri olduğunu görürsünüz.

    {
      "name": "Logistics",
      "maxSizeBytes": 2147483648,
      "status": "Online"
    }
    

Veritabanınıza bağlanma

Veritabanınızla ilgili temel bilgileri kavradığınıza göre şimdi sqlcmd komutunu kullanarak bağlantı kuracak, taşımacılık sürücüleriyle ilgili bilgileri içeren bir tablo oluşturacak ve birkaç basit CRUD işlemi gerçekleştireceksiniz.

CRUD kısaltmasının Oluşturma, Okuma, Güncelleştirme ve Silme terimlerini ifade ettiğini unutmayın. Bu terimler tablo verilerinde gerçekleştirdiğiniz işlemlere başvurur ve uygulamanız için ihtiyacınız olan dört temel işlemdir. Şimdi bu işlemleri tek tek gerçekleştirebilirsiniz.

  1. veritabanına bağlantı dizesi kullanabileceği bir biçimde sqlcmd almak için Logistics aşağıdaki az sql db show-connection-string komutu çalıştırın:

    az sql db show-connection-string --client sqlcmd --name Logistics
    

    Çıkışınız aşağıdaki örneğe benzer. Bu çıkışı bir sonraki adımda kullanmak üzere kopyalayın.

    "sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U <username> -P <password> -N -l 30"
    
  2. Bir önceki adımın çıkışındaki sqlcmd deyimini çalıştırarak etkileşimli bir oturum oluşturun. Komutun etrafındaki tırnak işaretlerini kaldırın ve <username> ile <password> yerine veritabanınızı oluştururken belirlediğiniz kullanıcı adını ve parolayı yazın. Bir örnek aşağıda verilmiştir:

    sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U martina -P 'password1234$' -N -l 30
    

    Bahşiş

    "&" ve diğer özel karakterlerin işlem yönergesi olarak yorumlanmaması için parolanızı tek tırnak içine alın.

    Önemli

    Aşağıdaki örneğe benzer bir hata iletisi görebilirsiniz:

    Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server:
    Cannot open server 'contoso' requested by the login.
    Client with IP address 'nnn.nnn.nnn.nnn' is not allowed to access the server.
    To enable access, use the Windows Azure Management Portal or run sp_set_firewall_rule
    on the master database to create a firewall rule for this IP address or address range.
    It may take up to five minutes for this change to take effect.
    

    Bu hata oluşursa, istemciniz için başka bir güvenlik duvarı kuralı eklemeniz gerekir. Bunun için aşağıdaki adımları uygulayın:

    • Azure portal oturum açın.

    • Azure Giriş sayfasında, Azure hizmetleri'nin altında Tüm kaynaklar'ı seçin. Tüm kaynaklar bölmesi görüntülenir.

    • Veritabanınız için arama yapın ve bunu seçin. SQL veritabanınızın Lojistik bölmesi görüntülenir.

    • Üst menü çubuğunda Sunucu güvenlik duvarını ayarla'yı seçin. bölmesi görüntülenir.

    • Güvenlik duvarı kuralları bölümünde Güvenlik duvarı kuralı ekle'yi seçin. Güvenlik duvarı kuralı ekle bölmesi görüntülenir.

    • Benzersiz bir Kural adı belirtin ve sonra hem Başlangıç IP'si hem de Bitiş IP’si alanları için hata iletisinden IP adresinizi girin. Tamam seçeneğini işaretleyin.

    • Kaydet'i seçin.

    • sqlcmd Etkileşimli sqlcmd oturumunuzu başlatmak için deyimini yeniden çalıştırın. Aşağıdaki örneğe benzer olmalıdır:

    sqlcmd -S tcp:<server-name>.database.windows.net,1433 -d Logistics -U martina -P 'password1234$' -N -l 30
    

    Oturumunuzu başlattığınıza sqlcmd göre, kalan komutlar Transact-SQL veya T-SQL dilini kullanır.

    Bahşiş

    Bu modülde T-SQL komutlarını çalıştırırken, GO ikinci satırdaki komutu istemine kopyalanamayabilir sqlcmd . Komutun ilk satırını girdikten sonra, komutu yazmanız GO gerekebilir. T-SQL komutu bu olmadan yürütülmez, bu nedenle GO komutunu çalıştırdığınızdan emin olun.

  3. Oturumunuzda sqlcmd aşağıdaki T-SQL deyimlerini çalıştırarak adlı Driversbir tablo oluşturun:

    CREATE TABLE Drivers (DriverID int, LastName varchar(255), FirstName varchar(255), OriginCity varchar(255));
    GO
    

    Tabloda dört sütun bulunur: benzersiz tanıtıcı, sürücünün soyadı, adı ve memleketi.

  4. Tablonun mevcut olduğunu Drivers doğrulamak için aşağıdaki T-SQL deyimlerini çalıştırın:

    SELECT name FROM sys.tables;
    GO
    

    Şu çıkışı almanız gerekir:

    name
    --------------------------------------------------------------------------------------------------------------------------------
    Drivers
    
    (1 rows affected)
    
  5. Oluşturma işlemini test etmek için aşağıdaki T-SQL deyimlerini çalıştırarak tabloya örnek bir satır ekleyin:

    INSERT INTO Drivers (DriverID, LastName, FirstName, OriginCity) VALUES (123, 'Zirne', 'Laura', 'Springfield');
    GO
    

    Bu çıkış işlemin başarılı olduğunu gösterir:

    (1 rows affected)
    
  6. Okuma işlemini test etmek için aşağıdaki T-SQL deyimlerini çalıştırarak tablodaki DriverID tüm satırlardaki ve OriginCity sütunlarını listeleyin:

    SELECT DriverID, OriginCity FROM Drivers;
    GO
    

    Önceki adımda oluşturduğunuz satır için ve OriginCity ile DriverID bir sonuç alırsınız.

    DriverID    OriginCity
    ----------- --------------------------
            123 Springfield
    
    (1 rows affected)
    
  7. Güncelleştirme işlemini test etmek için aşağıdaki T-SQL deyimlerini çalıştırarak kaynak şehri 123 olan sürücü DriverID için "Springfield" yerine "Boston" olarak değiştirin:

    UPDATE Drivers SET OriginCity='Boston' WHERE DriverID=123;
    GO
    
  8. ve OriginCity sütunlarını yeniden listelemek DriverID için aşağıdaki T-SQL deyimlerini çalıştırın:

    SELECT DriverID, OriginCity FROM Drivers;
    GO
    

    Şimdi aşağıdaki çıkışı almanız gerekir. OriginCity öğesinin Boston güncelleştirmesini yansıttığına dikkat edin.

    DriverID    OriginCity
    ----------- --------------------------
            123 Boston
    
    (1 rows affected)
    
  9. Son olarak, kaydı silmek için aşağıdaki T-SQL deyimlerini çalıştırarak silme işlemini test edin:

    DELETE FROM Drivers WHERE DriverID=123;
    GO
    
    (1 rows affected)
    
  10. Tablonun boş olduğunu doğrulamak Drivers için aşağıdaki T-SQL deyimlerini çalıştırın:

    SELECT COUNT(*) FROM Drivers;
    GO
    

    Tabloda satır bulunmadığını göreceksiniz.

    -----------
              0
    
    (1 rows affected)
    

Cloud Shell'den Azure SQL Veritabanı ile çalışmak için genel bir fikriniz olduğuna göre, sql server management studio, Visual Studio veya başka bir şeyden olsun, sık kullandığınız SQL yönetim aracının bağlantı dizesi alabilirsiniz.

Cloud Shell, Azure kaynaklarınıza erişmeyi ve üzerinde çalışma yapmayı kolaylaştırır. Cloud Shell tarayıcı tabanlı olduğundan Windows, macOS veya Linux'tan erişebilirsiniz; temelde web tarayıcısı olan herhangi bir sistem.

Azure veritabanınızla ilgili bilgilere ulaşmak için Azure CLI komutlarını çalıştırma konusunda deneyim edindiniz. Bonus olarak T-SQL becerilerinizi de geliştirdiniz.

Sonraki ünitede bu modülü tamamlayacağız ve veritabanınızı nasıl kaldıracağımızı açıklayacağız.