SQL Analizler etkinleştirme (önizleme)
Şunlar için geçerlidir:Azure SQL Veritabanı Azure SQL Yönetilen Örneği
Bu makalede, SQL dağıtımlarınızı izlemek için SQL Analizler (önizleme) özelliğinin nasıl etkinleştirileceği açıklanır. İzleme, SQL dağıtımlarınızla bağlantı oluşturan ve izleme verilerini toplamak için Dinamik Yönetim Görünümlerini (DMV) kullanan bir Azure sanal makinesinden gerçekleştirilir. Bir izleme profili kullanarak hangi veri kümelerinin toplandığını ve toplama sıklığını denetleyebilirsiniz.
Not
Bir resource manager şablonu kullanarak izleme profili ve sanal makine oluşturarak SQL Analizler (önizleme) özelliğini etkinleştirmek için bkz. SQL Analizler için Resource Manager şablon örnekleri (önizleme).
SQL Analizler (önizleme) özelliğini etkinleştirmeyi öğrenmek için bu Kullanıma Sunulan Veri bölümüne de başvurabilirsiniz.
Log Analytics çalışma alanı oluşturma
SQL Analizler verilerini bir veya daha fazla Log Analytics çalışma alanında depolar. SQL Analizler etkinleştirebilmeniz için önce bir çalışma alanı oluşturmanız veya var olan bir çalışma alanını seçmeniz gerekir. Tek bir çalışma alanı birden çok izleme profiliyle kullanılabilir, ancak çalışma alanı ve profillerin aynı Azure bölgesinde bulunması gerekir. SQL Analizler özelliklerini etkinleştirmek ve bu özelliklere erişmek için çalışma alanında Log Analytics katkıda bulunanı rolüne sahip olmanız gerekir.
İzleme kullanıcısı oluşturma
İzlemek istediğiniz SQL dağıtımlarında bir kullanıcı (oturum açma) gerekir. Farklı SQL dağıtım türleri için aşağıdaki yordamları izleyin.
Aşağıdaki yönergeler, izleyebileceğiniz SQL türüne göre işlemi kapsar. Bunu birkaç SQL kaynağında aynı anda bir betikle gerçekleştirmek için lütfen aşağıdaki BENIOKU dosyasına ve örnek betiğine bakın.
Azure SQL Veritabanı
Not
SQL Analizler (önizleme) aşağıdaki Azure SQL Veritabanı senaryolarını desteklemez:
- Elastik havuzlar: Elastik havuzlar için ölçümler toplanamaz. Elastik havuzlar içindeki veritabanları için ölçümler toplanamaz.
- Düşük hizmet katmanları: Temel, S0 ve S1 hizmet hedeflerindeki veritabanları için ölçümler toplanamaz
SQL Analizler (önizleme) aşağıdaki Azure SQL Veritabanı senaryoları için sınırlı desteğe sahiptir:
- Sunucusuz katman: Ölçümler, sunucusuz işlem katmanı kullanılarak veritabanları için toplanabilir. Ancak, ölçümleri toplama işlemi otomatik duraklatma gecikme zamanlayıcısını sıfırlar ve veritabanının otomatik duraklatılmış duruma girmesini engeller.
ile bir Azure SQL veritabanına BağlanSQL Server Management Studio, Azure portalında Sorgu Düzenleyicisi (önizleme) veya başka bir SQL istemci aracı.
Gerekli izinlere sahip bir kullanıcı oluşturmak için aşağıdaki betiği çalıştırın. kullanıcı adını ve mystrongpassword değerini güçlü bir parolayla değiştirin.
CREATE USER [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW DATABASE STATE TO [user];
GO
Kullanıcının oluşturulduğunu doğrulayın.
select name as username,
create_date,
modify_date,
type_desc as type,
authentication_type_desc as authentication_type
from sys.database_principals
where type not in ('A', 'G', 'R', 'X')
and sid is not null
order by username
Azure SQL Yönetilen Örnek
SQL Server Management Studio veya benzer bir araç kullanarak Azure SQL Yönetilen Örneği Bağlan ve aşağıdaki betiği yürüterek gerekli izinlere sahip izleme kullanıcısını oluşturun. kullanıcı adını ve mystrongpassword değerini güçlü bir parolayla değiştirin.
USE master;
GO
CREATE LOGIN [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [user];
GO
GRANT VIEW ANY DEFINITION TO [user];
GO
SQL Server
Azure sanal makinenizde SQL Server'a Bağlan ve SQL Server Management Studio veya benzer bir araç, gereken izinlere sahip izleme kullanıcısını oluşturmak için aşağıdaki betiği çalıştırır. kullanıcı adını ve mystrongpassword değerini güçlü bir parolayla değiştirin.
USE master;
GO
CREATE LOGIN [user] WITH PASSWORD = N'mystrongpassword';
GO
GRANT VIEW SERVER STATE TO [user];
GO
GRANT VIEW ANY DEFINITION TO [user];
GO
Kullanıcının oluşturulduğunu doğrulayın.
select name as username,
create_date,
modify_date,
type_desc as type
from sys.server_principals
where type not in ('A', 'G', 'R', 'X')
and sid is not null
order by username
Azure Sanal Makinesi oluşturma
SQL'i izlemek için veri toplamak için kullanılacak bir veya daha fazla Azure sanal makinesi oluşturmanız gerekir.
Not
İzleme profilleri, izlemek istediğiniz farklı SQL türlerinden hangi verileri toplayacağınız belirtir. Her izleme sanal makinesinin kendisiyle ilişkilendirilmiş yalnızca bir izleme profili olabilir. Birden çok izleme profiline ihtiyacınız varsa her biri için bir sanal makine oluşturmanız gerekir.
Azure sanal makine gereksinimleri
Azure sanal makinesi aşağıdaki gereksinimlere sahiptir:
- İşletim sistemi: Azure Market görüntüsünü kullanan Ubuntu 18.04. Özel görüntüler desteklenmez. Ubuntu'nun bu sürümü için Genişletilmiş Güvenlik Bakımı (ESM) elde etmek için Ubuntu Pro 18.04 LTS market görüntüsünü kullanmanızı öneririz. Daha fazla bilgi için bkz . Azure'da Linux ve açık kaynak teknolojisi desteği.
- Önerilen en düşük Azure sanal makine boyutları: Standard_B2s (2 CPU, 4 GiB bellek)
- Azure İzleyici aracısı tarafından desteklenen herhangi bir Azure bölgesine dağıtılır ve tüm Azure İzleyici aracısı önkoşullarını karşılar.
Not
Standard_B2s (2 CPU, 4 GiB bellek) sanal makine boyutu en fazla 100 bağlantı dizesi destekler. Tek bir sanal makineye 100'den fazla bağlantı ayırmamalısınız.
SQL kaynaklarınızın ağ ayarlarına bağlı olarak, izleme verilerini toplamak için ağ bağlantıları oluşturabilmeleri için sanal makinelerin SQL kaynaklarınızla aynı sanal ağa yerleştirilmesi gerekebilir.
Ağ ayarlarını yapılandırma
Her SQL türü, izleme sanal makinenizin SQL'e güvenli bir şekilde erişmesi için yöntemler sunar. Aşağıdaki bölümlerde SQL dağıtım türüne göre seçenekler ele alınmaktadır.
Azure SQL Veritabanı
SQL Analizler, Azure SQL Veritabanı hem genel uç noktası hem de sanal ağı üzerinden erişmeyi destekler.
Genel uç nokta üzerinden erişim için, Azure portalındaki Güvenlik duvarı ayarları sayfasının ve IP güvenlik duvarı ayarları bölümünün altına bir kural eklersiniz. Sanal ağdan erişim belirtmek için, sanal ağ güvenlik duvarı kurallarını ayarlayabilir ve Azure İzleyici aracısı için gereken hizmet etiketlerini ayarlayabilirsiniz.
Azure SQL Yönetilen Örnek
İzleme sanal makineniz SQL MI kaynaklarınız ile aynı sanal ağda yer alacaksa bkz. aynı sanal ağın içindeki Bağlan. İzleme sanal makineniz SQL MI kaynaklarınızdan farklı bir sanal ağda yer alacaksa bkz. farklı bir sanal ağ içinde Bağlan.
SQL Server
İzleme sanal makineniz SQL sanal makine kaynaklarınız ile aynı sanal ağdaysa bkz. Sanal ağ içinde SQL Server'a Bağlan. İzleme sanal makineniz SQL sanal makine kaynaklarınızdan farklı bir sanal ağda yer alacaksa bkz. İnternet üzerinden SQL Server'a Bağlan.
Azure Key Vault'ta izleme parolasını depolama
En iyi güvenlik uygulaması olarak, SQL kullanıcı (oturum açma) parolalarınızı doğrudan izleme profili bağlantı dizesi girmek yerine bir Key Vault'ta depolamanızı kesinlikle öneririz.
PROFILInizi SQL izleme için ayarlarken, kullanmayı planladığınız Key Vault kaynağında aşağıdaki izinlerden birine ihtiyacınız olacaktır:
- Microsoft.Authorization/roleAssignments/write
- Microsoft.Authorization/roleAssignments/delete
Bu izinlere sahipseniz, belirttiğiniz Key Vault'u kullanan SQL İzleme profilinizi oluşturmanın bir parçası olarak yeni bir Key Vault erişim ilkesi otomatik olarak oluşturulur.
Önemli
Ağ ve güvenlik yapılandırmasının izleme VM'sinin Key Vault'a erişmesine izin verdiğinden emin olmanız gerekir. Daha fazla bilgi için bkz . Güvenlik duvarının arkasındaki Azure Key Vault'a erişme ve Azure Key Vault ağ ayarlarını yapılandırma.
SQL izleme profili oluşturma
Azure portalındaki Azure İzleyici menüsünün Analizler bölümünden SQL (önizleme) öğesini seçerek SQL Analizler (önizleme)açın. Yeni profil oluştur'u seçin.
Profil, SQL sistemlerinizden toplamak istediğiniz bilgileri depolar. Bunun için belirli ayarları vardır:
- Azure SQL Veritabanı
- Azure SQL Yönetilen Örnek
- Sanal makinelerde çalışan SQL Server
Örneğin, veri toplama sıklığı, hangi verilerin toplanması ve verilerin hangi çalışma alanına gönderilmesi için farklı ayarlarla SQL Üretim adlı bir profil ve sql Hazırlama adlı başka bir profil oluşturabilirsiniz.
Profil, seçtiğiniz abonelikte ve kaynak grubunda veri toplama kuralı kaynağı olarak depolanır. Her profilin şunlara ihtiyacı vardır:
- Adı. Oluşturulduktan sonra düzenlenemez.
- Konum. Bu bir Azure bölgesidir.
- İzleme verilerini depolamak için Log Analytics çalışma alanı.
- Toplayacak sql izleme verilerinin sıklığı ve türü için koleksiyon ayarları.
Not
Profilin konumu, izleme verilerini göndermeyi planladığınız Log Analytics çalışma alanıyla aynı konumda olmalıdır.
İzleme profilinizin ayrıntılarını girdikten sonra İzleme profili oluştur'u seçin. Profilin dağıtılması bir dakika kadar sürebilir. İzleme profili birleşik giriş kutusunda listelenen yeni profili görmüyorsanız, yenile düğmesini seçin; dağıtım tamamlandıktan sonra görünmelidir. Yeni profili seçtikten sonra profille ilişkilendirilecek bir izleme makinesi eklemek için Profili yönet sekmesini seçin.
İzleme makinesi ekleme
SQL örneklerinizin izleneceği ve bağlantı dizesi sağlandığı sanal makineyi seçmek üzere bir Add monitoring virtual machine
bağlam paneli açmak için İzleme makinesi ekle'yi seçin.
İzleme sanal makinenizin aboneliğini ve adını seçin. İzleme oturum açma bilgilerinin parolalarını depolamak için Key Vault kullanıyorsanız (kesinlikle önerilir), altında Key vault subscriptions
bu Key Vault aboneliğini seçin ve ardından altında KeyVault
gizli dizileri depolayan Key Vault'ı seçin. Connection strings
alanına kasa URI'sini ve bağlantı dizesi kullanılacak her parolanın gizli dizi adını girin.
Örneğin, Key Vault URI'si https://mykeyvault.vault.azure.net/
ise ve gizli dizi adları sqlPassword1
ve sqlPassword2
ise alandaki JSON Connection strings
şunları içerir:
{
"secrets": {
"telegrafPassword1": {
"keyvault": "https://mykeyvault.vault.azure.net/",
"name": "sqlPassword1"
},
"telegrafPassword2": {
"keyvault": "https://mykeyvault.vault.azure.net/",
"name": "sqlPassword2"
}
}
}
Artık bu gizli dizilere alanda daha fazla Connection strings
başvurabilirsiniz. Aşağıdaki örnekte, iki bağlantı dizesi daha önce tanımlanan ve telegrafPassword2
gizli dizilerine başvururtelegrafPassword1
:
{
"sqlAzureConnections": [
"Server=mysqlserver.database.windows.net;Port=1433;Database=mydatabase;User Id=telegraf;Password=$telegrafPassword1;"
],
"sqlVmConnections": [
"Server=mysqlserver1;Port=1433;Database=master;User Id=telegraf;Password=$telegrafPassword2;"
]
}
Farklı SQL dağıtımları için bağlantı dizesi belirleme hakkında ayrıntılı bilgi için sonraki bölüme bakın.
bağlantı dizesi ekleme
bağlantı dizesi, SQL Analizler'nin (önizleme) izleme verilerini toplamak için SQL'de oturum açarken kullanması gereken oturum açma adını belirtir. İzleme kullanıcınızın parolasını depolamak için Key Vault kullanıyorsanız Key Vault URI'sini ve parolayı içeren gizli dizinin adını sağlayın.
Bağlantı dizesi her SQL kaynağı türü için farklılık gösterir:
Azure SQL Veritabanı
İzleme makinesinden VERITABANı tarafından kullanılan IP adresine ve bağlantı noktasına yapılan TCP bağlantılarına, ağ yolunda mevcut olabilecek tüm güvenlik duvarları veya ağ güvenlik grupları (NSG) tarafından izin verilmelidir. IP adresleri ve bağlantı noktaları hakkında ayrıntılı bilgi için bkz. Azure SQL Veritabanı bağlantı mimarisi.
Forma bağlantı dizesi girin:
"sqlAzureConnections": [
"Server=mysqlserver1.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;",
"Server=mysqlserver2.database.windows.net;Port=1433;Database=mydatabase;User Id=$username;Password=$password;"
]
Bağlan ion dizeleri sayfasından ve veritabanı için uygun ADO.NET uç noktasından ayrıntıları alın.
Okunabilir bir ikincil değeri izlemek için bağlantı dizesi sonuna ekleme;ApplicationIntent=ReadOnly
. SQL Analizler tek bir ikincil izlemeyi destekler. Toplanan veriler birincil veya ikincil verileri yansıtacak şekilde etiketlenir.
Azure SQL Yönetilen Örnek
İzleme makinesinden YÖNETILEN örnek tarafından kullanılan IP adresine ve bağlantı noktasına yapılan TCP bağlantılarına, ağ yolunda mevcut olabilecek tüm güvenlik duvarları veya ağ güvenlik grupları (NSG) tarafından izin verilmelidir. IP adresleri ve bağlantı noktalarıyla ilgili ayrıntılar için bkz. Azure SQL Yönetilen Örneği bağlantı türleri.
Forma bağlantı dizesi girin:
"sqlManagedInstanceConnections": [
"Server= mysqlserver1.<dns_zone>.database.windows.net;Port=1433;User Id=$username;Password=$password;",
"Server= mysqlserver2.<dns_zone>.database.windows.net;Port=1433;User Id=$username;Password=$password;"
]
Bağlan ion dizeleri sayfasından ve yönetilen örnek için uygun ADO.NET uç noktasından ayrıntıları alın. Yönetilen örnek genel uç noktasını kullanıyorsanız 1433 numaralı bağlantı noktasını 3342 ile değiştirin.
Okunabilir bir ikincil değeri izlemek için bağlantı dizesi sonuna ekleme;ApplicationIntent=ReadOnly
. SQL Analizler, belirli bir birincil veritabanı için tek bir yüksek kullanılabilirlik (HA) ikincil çoğaltmasının izlenmesini destekler. Toplanan veriler Birincil veya İkincil'i yansıtacak şekilde etiketlenir.
SQL Server
İzlemek istediğiniz SQL Server örneği için TCP/IP protokolü etkinleştirilmelidir. İzleme makinesinden SQL Server örneği tarafından kullanılan IP adresine ve bağlantı noktasına yapılan TCP bağlantılarına, ağ yolunda mevcut olabilecek tüm güvenlik duvarları veya ağ güvenlik grupları (NSG) tarafından izin verilmelidir.
Yüksek kullanılabilirlik için yapılandırılmış SQL Server'ı izlemek istiyorsanız (kullanılabilirlik gruplarını veya yük devretme kümesi örneklerini kullanarak), kullanılabilirlik grubu dinleyicisi veya yük devretme kümesi adı üzerinden bağlanmak yerine kümedeki her SQL Server örneğini tek tek izlemenizi öneririz. Bu, izleme verilerinin geçerli örnek rolünden (birincil veya ikincil) bağımsız olarak toplanmasını sağlar.
Forma bağlantı dizesi girin:
"sqlVmConnections": [
"Server=SQLServerInstanceIPAddress1;Port=1433;User Id=$username;Password=$password;",
"Server=SQLServerInstanceIPAddress2;Port=1433;User Id=$username;Password=$password;"
]
SQL Server örneğinin dinlediğini IP adresini kullanın.
SQL Server örneğiniz varsayılan olmayan bir bağlantı noktasında dinleyecek şekilde yapılandırılmışsa, 1433 değerini bağlantı dizesi bağlantı noktası numarasıyla değiştirin. Azure Sanal Makine'de SQL Server kullanıyorsanız, kaynağın Güvenlik sayfasında hangi bağlantı noktasının kullanılacağını görebilirsiniz.
Herhangi bir SQL Server örneği için, örneğe bağlanarak ve örneğe en az bir TCP bağlantısı olduğu sürece aşağıdaki T-SQL sorgusunu yürüterek dinlediği tüm IP adreslerini ve bağlantı noktalarını belirleyebilirsiniz:
SELECT DISTINCT local_net_address, local_tcp_port
FROM sys.dm_exec_connections
WHERE net_transport = 'TCP'
AND
protocol_type = 'TSQL';
Oluşturulan izleme profili
SQL kaynaklarınızdan veri toplamak üzere sanal makineyi yapılandırmak için İzleme sanal makinesi ekle'yi seçin. Genel Bakış sekmesine geri dönmeyin. Birkaç dakika içinde Durum sütunu "Toplanıyor" olarak değiştirilmelidir. İzlemeyi seçtiğiniz SQL kaynaklarına ilişkin verileri görmeniz gerekir.
Verileri görmüyorsanız, sorunu belirlemek için bkz. SQL Analizler sorunlarını giderme (önizleme).
Not
İzleme profilinizi veya izleme VM'lerinizdeki bağlantı dizesi güncelleştirmeniz gerekiyorsa, bunu SQL Analizler (önizleme) Profili yönet sekmesi aracılığıyla yapabilirsiniz. Güncelleştirmeleriniz kaydedildikten sonra, değişiklikler yaklaşık 5 dakika içinde uygulanır.
Sonraki adımlar
- Sql Analizler etkinleştirildikten sonra düzgün çalışmıyorsa bkz. SQL Analizler sorunlarını giderme (önizleme).
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin