SQL incelemesi, veritabanı değişikliği iş akışınızda otomatik bir denetleyici olarak görev yapar. SQL deyimleri üretim ortamınıza ulaşmadan önce DMS, her birini yapılandırılmış güvenlik kurallarına göre doğrular ve öncelikli optimizasyon önerileri sunar. Bu sayede kod kalitesi tutarlı kalır ve SQL enjeksiyon saldırısı riski azalır.
Bir projenin geliştirme aşamasında, iş mantığını uygulamak amacıyla veri eklemek, silmek, değiştirmek ve sorgulamak için SQL deyimleri kullanılır. Bu deyimlerin tek tek manuel olarak incelenmesi önemli ölçüde DBA eforu gerektirir ve geliştirme hızını yavaşlatır. Örneğin, aşağıdaki CREATE TABLE deyimi birincil anahtar, tablo açıklamaları ve alan açıklamaları içermemektedir; bu durum yaygın veritabanı geliştirme standartlarına aykırıdır:
CREATE TABLE `test_sql_review_table` (
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
`gmt_create` datetime NOT NULL,
`name` varchar(256) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
DMS, güvenlik kuralı modülüyle entegre olan SQL incelemesi özelliği aracılığıyla bu süreci otomatikleştirir. Güvenlik kurallarında SQL teknik özelliklerini özelleştirebilirsiniz; örneğin, tabloların birincil anahtara sahip olmasını zorunlu kılabilir veya birincil anahtar sütunlarının veri türünü ve sayısını kısıtlayabilirsiniz.
Ön koşullar
Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:
-
Desteklenen bir veritabanı türü:
ApsaraDB RDS for MySQL, PolarDB for MySQL, AnalyticDB for MySQL ve Alibaba Cloud üzerinde olmayan MySQL veritabanları
ApsaraDB for MariaDB
PolarDB for Xscale
Oracle
PolarDB for PostgreSQL (Oracle ile uyumlu)
OceanBase
DMS'de Stable Change veya Security Collaboration modunda yönetilen bir veritabanı örneği. Ayrıntılar için bkz. Control modes.
Nasıl çalışır
Bir SQL Audit Ticket gönderdiğinizde, DMS her SQL deyimini ayrıştırır ve söz konusu veritabanı için yapılandırılmış güvenlik kurallarıyla karşılaştırır. Sonuçlar dört kategoriye sınıflandırılır:
Must Improve — bilet onaylanmadan önce düzeltilmesi zorunlu olan sorunlar
Potential Issue — sorunlara neden olabilecek ve incelenmesi gereken sorunlar
Suggest Improve — kod kalitesini artıran isteğe bağlı optimizasyonlar
Index Recommendation — sorgu performansını iyileştirebilecek dizin değişiklikleri
Güvenlik kurallarını yapılandırma hakkında ayrıntılı bilgi için bkz. SQL review optimization.
SQL inceleme bileti gönderme
DMS konsolu V5.0 adresine giriş yapın.
-
SQL Audit Ticket sayfasına gidin:
Gelişmiş modda: Sol üst köşedeki
simgesinin üzerine fare imlecini getirin, ardından All Features > Database Development > SQL Review > SQL Audit Ticket yolunu izleyin.Normal modda: Üst gezinme çubuğunda Database Development > SQL Review > SQL Audit Ticket seçeneklerini belirleyin.
SQL Review Tickets sayfasının sağ üst köşesinde SQL Review öğesini tıklayın.
-
Ticket Application sayfasında aşağıdaki parametreleri yapılandırın.
Parameter Description Project name Bu inceleme projesi için bir ad. Database SQL deyimlerinin inceleneceği veritabanı. Veritabanı adını girin veya aramak için yüzde (%) ön eki kullanın. Veritabanında sorgu iznine sahip olmanız gerekir. Ayrıntılar için bkz. View owned permissions. Business background SQL incelemesinin amacı veya hedefi. Bu alanın doldurulması, inceleyenlerle yapılan iletişim döngülerini azaltır. Change stakeholder İncelemeye dahil olan paydaşlar. Belirtilen tüm paydaşlar bilet ayrıntılarını görüntüleyebilir ve onay sürecine katılabilir. Diğer kullanıcılar (DMS yöneticileri ve veritabanı yöneticileri (DBA) hariç) bilet ayrıntılarını görüntüleyemez. File SQL dosyalarının nasıl yükleneceği. Bir veya daha fazla SQL dosyası eklemek için Upload seçeneğini belirleyin veya SQL deyimlerini doğrudan yapıştırmak için Enter text seçeneğini belirleyin. Desteklenen biçimler: XML (iBATIS veya MyBatis çerçevesi) ve TXT. Örnekler için bkz. Sample SQL files. Save öğesini tıklayın. DMS, yüklenen SQL dosyalarını ayrıştırır ve her deyimi veritabanının güvenlik kurallarına göre inceler.
İnceleme sonuçları ve sonraki adımlar
DMS incelemeyi tamamladıktan sonra her bilet aşağıdaki durumlardan birini gösterir.
| State | Meaning | What to do |
|---|---|---|
| Passed | Düzeltmesi zorunlu sorun bulunamadı. Potansiyel sorunlar veya öneriler içerebilir. | Önerileri görüntülemek için Details öğesini tıklayın. Gerekirse deyimleri düzenlemek için Adjust SQL öğesini tıklayın. |
| Failed | Düzeltmesi zorunlu bir veya daha fazla sorun bulundu. | Sorunları görüntülemek için Details öğesini tıklayın. Deyimleri düzeltmek için Adjust SQL öğesini tıklayın, ardından yeniden gönderin. |
| Approve veya Disapprove | SQL, otomatik inceleme sonuçlarının ötesinde çözülemeyen veya çözülmesi gerekmeyen geçmiş sorunlar içeriyor. | İşlem sütununda Manual Review > Approve veya Manual Review > Disapprove seçeneklerini belirleyin. |
| Parsing Exception | DMS bir veya daha fazla deyimi ayrıştıramıyor. | Deyimleri düzeltmek için Adjust SQL öğesini tıklayın, ardından ön kontrol için yeniden gönderin. |
| Pending Analysis | Deyimler incelemeye alınmak üzere sıraya alındı. | Herhangi bir işlem gerekmez. İncelemenin tamamlanmasını bekleyin. |
Sorunları inceledikten ve düzelttikten sonra:
Onay adımında Submit for Approval öğesini tıklayın.
Bir DMS yöneticisi veya DBA son kontrolü gerçekleştirir.
Onaylandıktan sonra bilet kapatılır.
Değiştirilen SQL deyimleri kontrolden geçemiyor veya ayrıştırılamıyorsa, Submit for Approval öğesini tıkladıktan sonra bir hata mesajı görünür.
Örnek SQL dosyaları
Desteklenen biçimleri görmek için örnek dosyaları indirin:
Sonraki adımlar
SQL incelemesinin uyguladığı kuralları yapılandırın: SQL review optimization
Bir veritabanına erişmek için hangi izinlere ihtiyacınız olduğunu kontrol edin: View owned permissions
SQL incelemesini etkinleştiren kontrol modlarını anlayın: Control modes