Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:Azure SQL Veritabanı
Bu makalede, Azure SQL Veritabanı için elastik işlerin özellikleri ve ayrıntıları gözden geçirin.
- Elastik işleri yapılandırma öğreticisi için bkz. elastik işler öğreticisi.
- Azure veritabanı platformlarındaki otomasyon kavramları hakkında daha fazla bilgi edinin.
Elastik işlere genel bakış
Bir veya birden çok Azure SQL veritabanında düzenli aralıklarla çalışan esnek işler oluşturabilir ve zamanlayabilirsiniz. İşler Transact-SQL (T-SQL) sorguları çalıştırır ve bakım görevlerini gerçekleştirir.
İşin çalıştığı hedef veritabanlarını veya veritabanı gruplarını tanımlayabilirsiniz. Ayrıca, bir işi çalıştırmak için zamanlamalar tanımlayabilirsiniz . Elastik işlerdeki tüm tarihler ve saatler UTC saat dilimindedir.
İş, hedef veritabanında kimlik doğrulama görevini yerine getirir. Ayrıca, bir grup veritabanında çalıştırılacak Transact-SQL betikleri de tanımlar, korur ve kalıcı hale getirin.
Her iş yürütme durumunu günlüğe kaydeder ve herhangi bir hata oluşursa işlemleri otomatik olarak yeniden dener.
Elastik işlerin kullanımı ne zaman uygundur?
Aşağıdaki senaryolarda elastik iş otomasyonunu kullanın:
-
Örneğin, yönetim görevlerini otomatikleştirin ve bunları haftanın her günü veya saatler sonra çalışacak şekilde zamanlayın.
- Şema değişikliklerini dağıtın ve kimlik bilgilerini yönetin.
- Performans verilerini veya kiracı (müşteri) günlüklerini toplayın.
- Başvuru verilerini (tüm veritabanlarında bulunan ortak veriler) güncelleştirin.
- Azure Blob depolamadan veri yükleme.
-
İşleri, yoğun olmayan saatler gibi yinelenen zamanlarda bir veritabanı koleksiyonu üzerinde çalışacak şekilde yapılandırın.
- Bir veritabanı kümesindeki sorgu sonuçlarını sürekli olarak merkezi bir tabloya toplayın.
- Sorgular sürekli olarak çalıştırılabilir ve ek görevleri tetiklenecek şekilde yapılandırılabilir.
-
Raporlama için veri toplama
- Bir veritabanı koleksiyonundaki verileri tek bir hedef tabloda toplayın.
- Müşteri günlüklerinin toplanması gibi büyük bir veritabanı kümesinde veri işleme sorguları çalıştırın. Sonuçlar daha ayrıntılı analiz için tek bir hedef tabloda toplanır.
-
Veri taşıma
- Özel geliştirilmiş çözümler, iş otomasyonu veya diğer görev yönetimi için.
- Veritabanındaki tablolar arasında veri ayıklamak, dönüştürmek ve yüklemek için ETL işleme.
Şu durumlarda elastik işleri göz önünde bulundurun:
Bir veya daha fazla veritabanını hedefleyen bir zamanlamaya göre düzenli olarak çalışması gereken bir göreviniz var.
Bir kez, ancak birden çok veritabanında çalışması gereken bir göreviniz var.
Herhangi bir veritabanı kombinasyonuna göre işler çalıştırmanız gerekiyor: bir veya daha fazla bireysel veritabanı, bir sunucudaki tüm veritabanları, bir elastik havuzdaki tüm veritabanları ile belirli bir veritabanını dahil etme veya hariç tutma esnekliğine sahip olmalısınız. İşler birden fazla sunucu ve birden fazla havuzda çalışabilir, hatta farklı aboneliklerde bulunan veritabanlarını kullanabilir. Sunucular ve havuzlar çalışma sırasında dinamik olarak tanımlandığından, işlemler yürütme anında hedef grupta bulunan tüm veritabanlarında çalışır.
- Bu özellik, özellikle veritabanlarının dinamik olarak eklendiği veya silindiği SaaS müşteri senaryolarında hedef veritabanlarını dinamik olarak numaralandırabilen SQL Aracısı'ndan önemli bir farklılıktır.
Elastik iş bileşenleri
| Bileşen | Açıklama |
|---|---|
| Elastik iş aracısı | İşleri çalıştırmak ve yönetmek için oluşturduğunuz Azure kaynağı. |
| İş veritabanı | İş aracısının işle ilgili verileri, iş tanımlarını ve daha fazlasını depolamak için kullandığı Azure SQL Veritabanı'ndaki bir veritabanı. |
| İş | İş, bir veya daha fazla iş adımından oluşan bir çalışma birimidir. İş adımları, çalıştırılacak T-SQL betiğini ve diğer gerekli ayrıntıları belirtir. |
| Hedef grup | İş çalıştırılacak sunucu, havuz ve veritabanı kümesi. |
Elastik iş ajanı
Elastik iş aracısı, işleri oluşturmaya, çalıştırmaya ve yönetmeye yönelik Azure kaynağıdır. Elastik iş aracısını Azure kaynağı olarak portalda oluşturursunuz (PowerShell ve REST API kullanarak elastik işler oluşturma ve yönetme de desteklenmektedir).
Elastik iş aracısı oluşturmak için Azure SQL Veritabanı'da mevcut bir veritabanı gerekir. Aracı bu mevcut Azure SQL Veritabanı iş veritabanı olarak yapılandırıyor.
Azure portalı üzerinden bir işi başlatabilir, devre dışı bırakabilir veya iptal edebilirsiniz. Azure portalı ayrıca iş tanımlarını ve yürütme geçmişini görüntülemenizi sağlar.
Elastik iş etkeni maliyeti
İş veritabanı, Azure SQL Veritabanı'daki tüm veritabanlarıyla aynı oranda faturalandırılır. Elastik iş aracısı maliyeti, iş aracısı için seçtiğiniz hizmet katmanının sabit fiyatlandırmasını temel alır. Daha fazla bilgi için bkz. Azure SQL Veritabanı fiyatlandırma sayfası.
Elastik iş veritabanı
İşleri tanımlamak ve iş yürütmelerinin durumunu ve geçmişini izlemek için iş veritabanını kullanın. İşler hedef veritabanlarında çalışır. İş veritabanı aracı meta verilerini, günlüklerini, sonuçlarını ve iş tanımlarını da depolar. T-SQL kullanarak iş oluşturmak, çalıştırmak ve yönetmek için birçok yararlı saklı yordam ve diğer veritabanı nesnelerini içerir.
Elastik iş aracısı oluşturmak için bir Azure SQL Veritabanı gerekir. İş aracısı, işle ilgili tüm meta verilerini yeni, boş bir Azure SQL Veritabanı olması gereken iş veritabanında depolar.
İş veritabanının önerilen hizmet hedefi DTU S1 veya üzeridir, ancak en uygun seçenek işlerinizin performans gereksinimlerine bağlıdır: iş adımlarının sayısı, iş hedefi sayısı ve işlerin ne sıklıkta çalıştığı.
İş veritabanına yönelik işlemler beklenenden daha yavaşsa Azure portalını veya sys.dm_db_resource_stats DMV'yi kullanarak yavaşlık dönemlerinde iş veritabanındaki veritabanı performansını ve kaynak kullanımını izleyin. CPU, Veri G/Ç veya Günlük Yazma gibi bir kaynağın kullanımı %100'e yaklaşıyorsa ve yavaşlama süreleriyle ilişkiliyse, iş veritabanı performansı yeterince iyileştirilene kadar veritabanını daha yüksek hizmet hedeflerine artımlı olarak ( DTU tabanlı satın alma modelinde veya sanal çekirdek satın alma modelinde ) ölçeklendirmeyi göz önünde bulundurun.
Elastik işin hedefi, iş veritabanının kendisi olabilir. Bu senaryoda, iş veritabanını diğer hedef veritabanları gibi değerlendirin. İş kullanıcısını oluşturmanız ve iş veritabanında yeterli izinler vermelisiniz. İş kullanıcısının veritabanı kapsamlı kimlik bilgisi, tıpkı diğer hedef veritabanlarında olduğu gibi, iş veritabanında da bulunmalıdır.
İş veritabanı bir işin hedefi olduğunda, işlerinizin bu veritabanında depolanan iş aracısına özgü meta verileri değiştirmediğinden veya silmediğinden emin olun. İşle ilgili bilgileri değiştirmek veya sorgulamak için yalnızca iş saklı yordamlarını veya iş görünümlerini kullanın.
Önemli
Raporlama ve analiz için tablolardan okuyabilmenize rağmen, mevcut nesneleri değiştirmeyin veya iş veritabanında yeni nesneler oluşturmayın.
Elastik işler ve iş adımları
İş, bir zamanlamaya göre veya tek seferlik bir iş olarak çalışan bir çalışma birimidir. Bir işte bir veya daha fazla iş adımı bulunur.
Her iş adımı çalıştırılacak bir T-SQL betiğini, T-SQL betiğini çalıştıracak bir veya daha fazla hedef grubu ve iş aracısının hedef veritabanına bağlanması için gereken kimlik bilgilerini belirtir. İşin her adımı özelleştirilebilir zaman aşımı ve yeniden deneme ilkelerine sahiptir ve her adımda isteğe bağlı çıkış parametreleri belirtilebilir.
Elastik iş hedefleri
Elastik işler bir veya daha fazla T-SQL betiğini aynı anda, çok sayıda veritabanında, bir zamanlamaya göre veya isteğe bağlı olarak çalıştırabilir. Hedef herhangi bir Azure SQL Veritabanı katmanı olabilir.
Zamanlanmış işleri veritabanlarının herhangi bir bileşimine göre çalıştırabilirsiniz: bir veya daha fazla bağımsız veritabanı, bir sunucudaki tüm veritabanları veya elastik havuzdaki tüm veritabanları, belirli bir veritabanını dahil etme veya hariç tutma esnekliğiyle. İşler birden çok sunucu ve birden çok havuz arasında çalıştırılabilir ve hatta farklı aboneliklerdeki veritabanlarında çalıştırılabilir. Sunucular ve havuzlar çalışma sırasında dinamik olarak tanımlandığından, işlemler yürütme anında hedef grupta bulunan tüm veritabanlarında çalışır.
Aşağıdaki resimde farklı türlerdeki hedef gruplarda iş yürüten bir iş aracısı gösterilmektedir:
Hedef grup
Hedef grup, bir iş adımının çalıştığı veritabanı kümesini tanımlar. Hedef grup, aşağıdaki türlerin herhangi bir sayısını ve birleşimini içerebilir:
Mantıksal SQL sunucusu: Bir sunucu belirtirseniz, iş yürütme sırasında sunucuda bulunan tüm veritabanları grubun bir parçasıdır. Görev çalıştırılmadan önce grubun numaralandırılabilmesi ve güncelleştirilebilmesi için
masterveritabanı kimlik bilgilerini sağlamanız gerekir. Mantıksal sunucular hakkında daha fazla bilgi için bkz. Azure SQL Veritabanı ve Azure Synapse'te mantıksal sunucu nedir?Elastik havuz: Elastik havuz belirtirseniz, iş yürütme sırasında elastik havuzda bulunan tüm veritabanları grubun bir parçasıdır. Bir sunucuda olduğu gibi, grubun iş yürütmeden
masterönce güncelleştirilebilmesi için veritabanı kimlik bilgilerini sağlamanız gerekir.Tek veritabanı: Grubun parçası olacak bir veya daha fazla bağımsız veritabanı belirtin.
İpucu
İş yürütme sırasında dinamik numaralandırma , sunucuları veya havuzları içeren hedef gruplardaki veritabanları kümesini yeniden değerlendirir. Dinamik numaralandırma, işlerin, yürütüldükleri sırada sunucuda veya havuzda mevcut olan tüm veritabanlarında çalıştırılmasını sağlar. Çalışma zamanında veritabanları listesini yeniden değerlendirmek, havuz veya sunucu üyeliğinin sık sık değiştiği senaryolar için yararlıdır.
Havuzlar ve tek veritabanları gruba dahil edilebilir veya hariç tutulabilir. Herhangi bir veritabanı bileşimiyle bir hedef grup oluşturabilirsiniz. Örneğin hedef gruba bir sunucuyu ekleyebilir ancak bir elastik havuzdaki belirli veritabanlarını (veya bir havuzun tamamını) hariç tutabilirsiniz.
Hedef grup, birden çok abonelikteki ve birden çok bölgede bulunan veritabanlarını içerebilir. Bölgeler arası yürütmeler, aynı bölge içindeki yürütmelerden daha yüksek gecikme süresine sahiptir.
Aşağıdaki örneklerde, hangi veritabanlarının etkileneceğini belirlemek için farklı hedef grup tanımlarının iş yürütme sırasında nasıl dinamik olarak numaralandırıldığı gösterilmektedir:
Örnek 1'de tek veritabanlarının listesini içeren bir hedef grup gösterilmektedir. bir iş adımı bu hedef grubu kullandığında, iş adımının eylemi bu veritabanlarının her birinde yürütülür.
Örnek 2'de , hedef olarak sunucu içeren bir hedef grup gösterilmektedir. bir iş adımı bu hedef grubu kullandığında, sunucuda bulunan veritabanlarının listesini belirlemek için sunucu dinamik olarak numaralandırılır. İş adımının eylemi bu veritabanlarının her birinde yürütülür.
Örnek 3'te gösterilen hedef grup Örnek 2'dekine benzer ancak belirli veritabanları özel olarak hariç tutulmuştur. İş adımının eylemi dışlanan veritabanında yürütülmüyor .
Örnek 4'te hedef olarak bir elastik havuz içeren bir hedef grup gösterilmektedir. Örnek 2'ye benzer şekilde havuz, havuzdaki veritabanlarının listesini belirlemek için iş yürütme sırasında dinamik olarak numaralandırılır.
- Örnek 5 ve Örnek 6'da sunucuların, elastik havuzların ve veritabanlarının ekleme ve dışlama kuralları kullanılarak birleştirilebileceği gelişmiş senaryolar gösterilir.
Elastik iş zamanlamaları
Elastik işler öncelikli olarak bulut için tasarlanmış ürünlerdir. Bunlar, zamanlandıklarında, geçici bir ağ veya hizmet kullanılabilirliği sorunu yaşansa bile başlatılmak üzere tasarlanmıştır. Esnek iş zamanlamaları zamanlama başlangıç saatini ve istenen aralıkları dikkate alır. Esnek bir iş zamanlaması oluşturduğunuzda, iş zamanlanan her aralık olayından sonra en kısa sürede çalışır.
Önemli
En iyi uygulama olarak, gelecekte başlayacak iş zamanlamaları oluşturun.
İş zamanlamaları, kaçırılan olayları algılar. Geçmişte başlayan yeni bir iş zamanlaması oluşturursanız, iş etkinleştirildiğinde hemen yürütülür. Devre dışı bırakılırsa veya başka bir şekilde kullanılamaz duruma gelirse, iş etkinleştirildikten veya kullanılabilir duruma geçtikten hemen sonra çalışır.
Örneğin, şu anda 2 Ocak 09:00 UTC'dedir. Bu gece, 2 Ocak'ta saat 22:30'da (UTC) başlayacak ve her gün çalışacak şekilde yeni bir iş ayarladınız. İş 22:30 'da (UTC) yürütülür.
Bir işin yanlışlıkla başlatılmasını önlemek için gelecekte başlayacak zamanlamalar oluşturun. İş başlangıcının yanlışlıkla başlamasına neden olabilecek bir örnekte, yeni bir işi her gün 22:30 UTC'de çalışacak şekilde ayarlarsınız. İşi bir hafta boyunca devre dışı bırakırsınız. Ardından, işi UTC'de 08:30'da etkinleştirirseniz, iş hemen yürütülür ve dün gece gerçekleştirilmesi gereken ancak kaçırılan aralık olayını telafi eder. Yürütüldükten sonra, görev ajanı yeniden çalıştırılmaz ve UTC saat 22:30'daki bir sonraki zamanlanmış çalıştırmaya kadar bekler. Bu senaryoda 08:30 UTC'de yürütülmesini önlemek için iş zamanlamasının başlangıcını 22:30 UTC'de 8 Ocak'a güncelleştirin ve işi etkinleştirin. İsterseniz, işin hemen çalışabileceği bir zamanda da işi etkinleştirin.
Kimlik Doğrulaması
Elastik iş aracısı için tüm hedefler için bir yöntem seçin. Örneğin, tek bir elastik iş aracısı için bir hedef sunucuyu veritabanı kapsamlı kimlik bilgilerini kullanacak şekilde, diğerini ise Microsoft Entra Id kimlik doğrulamasını kullanacak şekilde yapılandıramazsınız.
Elastik iş aracısı, iki kimlik doğrulama seçeneği kullanarak hedef grup tarafından belirtilen sunuculara ve veritabanlarına bağlanabilir:
- Kullanıcı tarafından atanan yönetilen kimlik (UMI) ile Microsoft Entra (eski adıyla Azure Active Directory) kimlik doğrulamayı kullanın.
- Veritabanı kapsamlı kimlik bilgilerini kullanın.
Kullanıcı tarafından atanan yönetilen kimlik (UMI) aracılığıyla kimlik doğrulaması
Kullanıcı tarafından atanan yönetilen kimlik (UMI) aracılığıyla Microsoft Entra kimlik doğrulaması, elastik işleri Azure SQL Veritabanı'na bağlamak için önerilen seçenektir. İş aracısı, Microsoft Entra ID desteğiyle UMI kullanarak hedef veritabanlarına (veritabanları, sunucular, elastik havuzlar) ve çıkış veritabanına bağlanır.
İsteğe bağlı olarak, elastik iş veritabanını içeren mantıksal sunucuda Microsoft Entra ID kimlik doğrulamasını etkinleştirerek Bu veritabanına Microsoft Entra ID bağlantıları aracılığıyla erişebilir ve bunları sorgulayabilirsiniz. Ancak iş aracısı, iş veritabanına bağlanmak için iç sertifika tabanlı kimlik doğrulamasını kullanır.
Bir UMI oluşturabilir veya mevcut bir UMI'yi kullanabilir ve aynı UMI'yi birden çok iş aracısına atayabilirsiniz. Her iş aracısı yalnızca bir UMI'i destekler. bir iş aracısı için bir UMI atadıktan sonra, iş aracısı hedef veritabanlarında T-SQL işlerine bağlanmak ve çalıştırmak için bu kimliği kullanır. İş aracısı hedef sunucuda veya veritabanlarında SQL Kimlik Doğrulaması kullanmaz.
UMI adı bir harf veya sayı ile başlamalıdır ve uzunluğu 3 ile 128 karakter arasında olmalıdır. Kısa çizgi (-) ve alt çizgi (_) karakterleri içerebilir.
Azure SQL Veritabanı'ndaki UMI hakkında daha fazla bilgi için bkz. Azure SQL veritabanı mantıksal sunucu kimliği olarak UMI kullanmanın gerekli adımları ve avantajları da dahil olmak üzere Azure SQL için yönetilen kimlikler. Daha fazla bilgi için bkz. Azure SQL için Microsoft Entra kimlik doğrulaması.
Önemli
Microsoft Entra Id kimlik doğrulamayı kullanırken, her hedef veritabanında bu Microsoft Entra Id'den kullanıcınızı jobuser oluşturun. Bu kullanıcıya her hedef veritabanında işlerinizi yürütmek için gereken izinleri verin.
Sistem tarafından atanan yönetilen kimlik (SMI) kullanılması desteklenmez.
Veritabanı kapsamlı kimlik bilgileri aracılığıyla kimlik doğrulaması
Önerilen seçenek Microsoft Entra (eski adıYla Azure Active Directory) kimlik doğrulaması olsa da, yürütme sırasında hedef grup tarafından belirtilen veritabanlarına bağlanmak için işleri veritabanı kapsamlı kimlik bilgilerini kullanacak şekilde yapılandırabilirsiniz. Ekim 2023'e kadar veritabanı kapsamlı kimlik bilgileri tek kimlik doğrulama seçeneğiydi.
Bir hedef grup sunucular veya havuzlar içeriyorsa, bu veritabanı odaklı kimlik bilgileri, mevcut veritabanlarını master listelemek üzere veritabanına bağlanır.
İş veritabanında veritabanı kapsamlı kimlik bilgilerini oluşturun.
Tüm hedef veritabanlarında işin başarıyla tamamlanması için yeterli izinlere sahip bir giriş yapılması gerekmektedir (aşağıdaki diyagramda).
Hedef veritabanlarında oluşturduğunuz kimlik bilgileri (
LOGINvePASSWORDiçin), aşağıdaki diyagramda olduğu gibi, iş veritabanında oluşturduğunuzIDENTITYveSECRETkimlik bilgileriyle eşleşmelidir.Kimlik bilgilerini işler arasında yeniden kullanabilirsiniz. Kimlik bilgileri parolaları şifrelenir ve iş nesnelerine salt okunur erişimi olan kullanıcılardan korunur.
Aşağıdaki görüntü, uygun iş kimlik bilgilerini ayarlamayı ve elastik iş aracısının, hedef sunucularda ve veritabanlarında oturum açma bilgileri ve kullanıcılar için kimlik doğrulaması olarak veritabanı kimlik bilgilerini kullanarak nasıl bağlanyacağını anlamanıza yardımcı olur.
Not
Veritabanı kapsamlı kimlik bilgilerini kullanırken, her hedef veritabanında kullanıcınızı jobuser oluşturmayı unutmayın.
Elastik görev özel uç noktaları
Elastik iş aracısı, elastik iş özel uç noktalarını destekler. Elastik işler için özel bir uç nokta oluşturmak, elastik iş ile hedef sunucu arasında özel bir bağlantı kurar. Elastik işler özel uç noktaları özelliği, Azure Özel Bağlantı'dan farklıdır.
Esnek iş özel uç noktaları özelliği, hedef ve çıkış sunucularına yönelik özel bağlantıları destekler, böylece iş aracısı Genel Erişimi Reddet seçeneği etkinleştirildiğinde bile bunlara erişebilir. Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver seçeneğini devre dışı bırakmak istiyorsanız, özel uç noktaların kullanılması da olası çözümlerden biridir.
Elastik iş özel uç noktaları, elastik iş aracısı kimlik doğrulamasının tüm seçeneklerini destekler.
Elastik iş özel uç noktası özelliği, iş aracısı ile hedef ve çıkış sunucuları arasında güvenli bir bağlantı kurmak için hizmet tarafından yönetilen bir özel uç nokta seçmenize olanak tanır. Hizmet tarafından yönetilen özel uç nokta, belirli bir sanal ağ ve alt ağ içindeki özel bir IP adresidir. İş aracınızın hedef ve çıkış sunucularından birinde özel uç noktaları kullanmayı seçtiğinizde Azure, hizmet tarafından yönetilen bir özel uç nokta oluşturur. Bu özel uç nokta daha sonra iş aracısı tarafından yalnızca işleri bağlamak ve yürütmek veya iş çıkışını bu hedef ve çıkış veritabanlarına yazmak için kullanılır.
Azure portalı aracılığıyla elastik iş özel uç noktaları oluşturabilir ve izin verebilirsiniz. Özel bağlantı üzerinden bağlanan hedef sunucular, farklı coğrafyalarda ve aboneliklerde bile Azure'da herhangi bir yerde olabilir. Bu iletişimi etkinleştirmek için istenen her hedef sunucu ve iş çıktı sunucusu için özel bir uç nokta oluşturmanız gerekir.
Elastik işler için, hizmet tarafından yönetilen yeni bir özel uç nokta yapılandırma öğreticisi hakkında bilgi almak için Azure SQL elastik işleri özel uç noktasını yapılandırma kısmına bakın.
Elastik iş özel uç noktalarına yönelik gereksinimler
Elastik işler özel uç noktasını kullanmak için hem iş aracısı hem de hedef sunucuların veya veritabanlarının Azure'da (aynı veya farklı bölgelerde) ve aynı bulut türünde (örneğin, hem genel bulutta hem de kamu bulutunda) barındırılması gerekir.
Kaynak sağlayıcısının
Microsoft.Networkhem iş aracısının hem de hedef ve çıkış sunucularının konak abonelikleri için kayıtlı olması gerekir.Azure, hedef ve çıkış sunucusu başına elastik iş özel uç noktaları oluşturur. Elastik iş aracısının kullanabilmesi için önce bunları onaylamanız gerekir. Bu mantıksal sunucunun Ağ bölmesi veya tercih ettiğiniz istemci aracılığıyla bunları onaylayabilirsiniz. Daha sonra, elastik iş aracısı özel bağlantı kullanarak bu sunucu altındaki tüm veritabanlarına ulaşabilir.
Elastik iş aracından işler veritabanına yapılan bağlantı, özel uç nokta kullanmaz. İş aracısı, iş veritabanına bağlanmak için iç sertifika tabanlı kimlik doğrulamasını kullanır.
- İşler veritabanını hedef grup üyesi olarak eklerseniz, normal bir hedef olarak davranır. Gerektiğinde özel uç noktayı ayarlamanız gerekir.
Elastik iş veritabanı izinleri
İş aracısı oluşturma sırasında, iş veritabanında şema, tablolar ve jobs_reader adlı bir rol oluşturulur. Rol aşağıdaki izinle oluşturulur ve yöneticilere iş izleme için daha ayrıntılı erişim denetimi sağlamak üzere tasarlanmıştır. Yöneticiler, kullanıcılara iş veritabanındaki jobs_reader role ekleyerek iş yürütmelerini izleme olanağı sağlayabilir.
| Rol adı |
jobs şema izinleri |
jobs_internal şema izinleri |
|---|---|---|
jobs_reader |
SELECT |
Hiçbiri |
Dikkat
İş veritabanındakijobs.target_group_members gibi iç katalog görünümlerini güncelleştirmayın. Bu katalog görünümlerini el ile değiştirmek iş veritabanını bozabilir ve hataya neden olabilir. Bu görünümler yalnızca salt okunur sorgulama içindir. jobs.sp_add_target_group_member gibi hedef grupları ve üyeleri eklemek veya silmek için iş veritabanınızdaki saklı yordamları kullanabilirsiniz.
İş veritabanına yükseltilmiş erişim vermeden önce güvenlik etkilerini göz önünde bulundurun. İş oluşturma veya düzenleme izinleri olan kötü amaçlı bir kullanıcı, kötü amaçlı kullanıcının denetimi altındaki bir veritabanına bağlanmak için depolanan kimlik bilgilerini kullanan bir iş oluşturabilir veya düzenleyebilir. Bu güvenlik açığı, kötü amaçlı kullanıcının kimlik bilgilerinin parolasını belirlemesine veya kötü amaçlı komutlar yürütmesine izin verebilir.
Elastik işleri izleme
Elastik iş aracısı, iş durumu bildirimleri için Azure Uyarıları ile tümleştirerek iş yürütme durumunu ve geçmişini izlemeye yönelik çözümü basitleştirir.
Azure portalı esnek işleri ve iş izlemeyi desteklemeye yönelik ek özellikler içerir. Elastik iş aracısının Genel Bakış sayfasında, aşağıdaki ekran görüntüsünde gösterildiği gibi en son iş yürütmeleri görüntülenir.
Azure portalı, Azure CLI, PowerShell ve REST API ile Azure İzleyici Uyarı kuralları oluşturabilirsiniz. Başarısız Elastik işler ölçümü, elastik iş yürütme uyarılarını izlemek ve almak için iyi bir başlangıç noktasıdır. Buna ek olarak, Azure Uyarı tesisi tarafından SMS veya e-posta gibi yapılandırılabilir bir eylem aracılığıyla uyarı almayı seçebilirsiniz. Daha fazla bilgi için bkz. Azure portalında Azure SQL Veritabanı için uyarılar oluşturma.
Örnek için bkz Elastik işleri oluşturma, yapılandırma ve yönetme.
İş çıktısı
Bir görevin her bir hedef veritabanındaki adımlarının sonucu ayrıntılı olarak kaydedilir ve betik çıktısı belirtilen bir tabloya kaydedilebilir. Bir işin döndürdüğü verilerin kaydedileceği bir veritabanı belirtebilirsiniz.
İş geçmişi
tablosunu sorgulayarak iş veritabanındajobs.job_executions. Sistem temizleme işi, 45 günden eski yürütme geçmişini temizler. 45 günden daha eski olan geçmişi el ile kaldırmak için sp_purge_jobhistory yürütebilirsiniz.
İş durumu
elastik iş yürütmelerini izleyebilirsiniz ve iş veritabanında, tabloyu sorgulayarak jobs.job_executions.
En iyi yöntemler
Elastik veritabanı işleriyle çalışırken aşağıdaki en iyi yöntemleri göz önünde bulundurun.
En iyi güvenlik uygulamaları
API’lerin kullanımını güvenilir kişilerle sınırlayın.
Kimlik bilgilerine bir iş adımı gerçekleştirmek için gereken en düşük ayrıcalıkları verin. Daha fazla bilgi için bkz . Yetkilendirme ve İzinler.
Sunucu veya havuz hedef grubu üyesi kullanılırken,
masterveritabanında veritabanlarını görüntüleme ve listeleme haklarına sahip ayrı bir kimlik bilgisi oluşturun. Bu kimlik bilgisi, iş yürütülmeden önce sunucuların ve havuzların veritabanı listelerini genişletir.
Elastik iş performansı
Elastik işler, uzun süre çalışan işlerin tamamlanmasını beklerken asgari düzeydeki işlem kaynaklarını kullanır.
Hedef veritabanı grubunun boyutuna ve bir iş için istenen yürütme süresine (eş zamanlı çalışan sayısı) bağlı olarak aracı, iş veritabanının farklı işlem ve performans miktarlarını gerektirir (ne kadar fazla hedef ve ne kadar fazla iş olursa, gereken işlem miktarı o kadar yüksek olur).
Eşzamanlı kapasite seviyeleri
Ekim 2023'te başlayan elastik iş aracısı, kapasiteyi artırmaya olanak sağlayan birden çok performans katmanına sahiptir.
Kapasite artışları, iş aracısının bağlanabileceği ve bir işi başlatabileceği toplam eş zamanlı hedef veritabanı sayısını gösterir. İş yürütme için daha fazla eşzamanlı hedef bağlantı almak için, bir iş aracısının katmanını 100 eşzamanlı hedef bağlantı sınırı olan varsayılan JA100 katmanından yükseltin.
Çoğu ortam için her zaman 100'den az eşzamanlı iş gerekir, bu nedenle varsayılan olarak JA100 kullanılır.
| Elastik görev ajan katmanı | En fazla eşzamanlı iş sayısı |
|---|---|
JA100 |
100 |
JA200 |
200 |
JA400 |
400 |
JA800 |
800 |
İş hedefleriyle iş aracısı eşzamanlılık kapasitesi katmanının aşılması, bazı hedef veritabanları ve sunucular için kuyruğa alma gecikmeleri oluşturur. Örneğin, JA100 katmanında 110 hedef içeren bir işi başlatırsanız, diğerleri bitene kadar 10 hedef başlamayı bekler.
Azure portalı, PowerShell veya İş Aracıları REST API'sini kullanarak elastik iş aracısının katmanını veya hizmet hedefini değiştirebilirsiniz. Örneğin, bkz İş aracısını ölçeklendirme.
Elastik havuzlar üzerindeki görev etkisini sınırla
Azure SQL Veritabanı elastik havuzundaki veritabanlarında işler çalıştırılırken kaynakların aşırı yüklenmediğinden emin olmak için işleri, bir işin aynı anda çalıştırıldığı veritabanı sayısını sınırlandıracak şekilde yapılandırın.
T-SQL'de saklı yordamın sp_add_jobstep parametresini ayarlayarak bir işin üzerinde çalıştığı eşzamanlı veritabanlarının @max_parallelism sayısını ayarlayın.
İdempotent betikler
Elastik bir işin T-SQL betiklerinin idemponent olması gerekir; yani betik başarılı olursa ve yeniden çalıştırıldığında aynı sonuç oluşur. Geçici ağ sorunları nedeniyle bir komut dosyası başarısız olabilir. Bu durumda, iş betiği durdurulmadan önce belirlenen bir sayıda çalıştırmayı otomatik olarak yeniden dener. Bir idempotent betik, başarılı bir şekilde iki kez (veya daha fazla) çalıştırılsa bile aynı sonuca sahiptir.
Basit bir yöntem, bir nesneyi oluşturmadan önce mevcut olup olmadığını test etmektir. Aşağıdaki örnek varsayımsaldır:
IF NOT EXISTS (SELECT *
FROM sys.objects
WHERE [name] = N'some_object')
PRINT 'Object does not exist'; -- Create the object
ELSE
PRINT 'Object exists'; -- If it exists, drop the object before recreating it.
Benzer şekilde bir betiğin mantıksal olarak test ederek ve bulduğu sonuçlara göre kendini ayarlayarak başarılı şekilde yürütülebilmesi gerekir.
Sınırlamalar
Elastik iş hizmeti için geçerli sınırlamalar bunlardır. Ürün ekibi, bu sınırlamaların mümkün olduğunca çoğunu kaldırmak için etkin bir şekilde çalışmaktadır.
| Sorun | Açıklama |
|---|---|
| Bir yük devretme veya yeni bir Azure bölgesine taşınma sonrasında elastik iş aracısının yeniden oluşturulması ve yeni bölgede başlatılması gerekir. | Elastik işler hizmeti, tüm iş aracısını ve iş meta verilerini iş veritabanında depolar. Azure kaynaklarının yeni bir Azure bölgesine yük devretmesi veya taşınması, iş veritabanını, iş aracısını ve iş meta verilerini de yeni Azure bölgesine taşır. Ancak elastik iş aracısı, işler yeniden yürütülmeye başlamadan önce açıkça yeniden oluşturulması ve yeni bölgede başlatılması gereken yalnızca işlem amaçlı bir kaynaktır. Elastik iş aracısı başlatıldıktan sonra, daha önce tanımlanmış iş zamanlamasına göre yeni bölgede işleri yürütmeye devam eder. |
| İşler veritabanından aşırı miktarda SQL Denetim günlükleri | Elastik iş aracısı, yeni işlerin ve diğer CRUD işlemlerinin gelişini denetlemek için iş veritabanını sürekli yoklayarak çalışır. bir iş veritabanını barındıran sunucuda denetim etkinleştirildiyse, iş veritabanı çok sayıda denetim günlüğü oluşturabilir. Komutunu bir koşul ifadesiyle kullanarak Set-AzSqlServerAudit bu denetim günlüklerini filtreleyerek bu sorunu giderebilirsiniz.Örneğin: Set-AzSqlServerAudit -ResourceGroupName "ResourceGroup01" -ServerName "Server01" -BlobStorageTargetState Enabled -StorageAccountResourceId "/subscriptions/7fe3301d-31d3-4668-af5e-211a890ba6e3/resourceGroups/resourcegroup01/providers/Microsoft.Storage/storageAccounts/mystorage" -PredicateExpression "application_name <> 'Microsoft Azure SQL Database elastic jobs'"Bu komut, iş aracısını hedef veritabanları denetim günlüklerine değil yalnızca iş veritabanı denetim günlüklerine filtreler. |
| Hiper Ölçek veritabanını iş veritabanı olarak kullanma | hiper ölçek veritabanını iş veritabanı olarak kullanma desteklenmez. Ancak elastik işler Hiper Ölçek veritabanlarını Azure SQL Veritabanı'daki diğer veritabanlarıyla aynı şekilde hedefleyebilir. |
| Sunucusuz veritabanları ve esnek işler ile otomatik duraklama. | Otomatik duraklatma etkin sunucusuz veritabanı, iş veritabanı olarak desteklenmez. Sunucusuz veritabanları elastik işler tarafından hedeflendiğinde, otomatik askıya alma desteği sunar ve iş bağlantıları veritabanlarını devam ettirir. |
| İş Veritabanını BACPAC dosyasına aktarma | bir iş veritabanının BACPAC dosyasına dışarı aktarımı desteklenmez. İş veritabanı içeren SQL Server'ın dışarı aktarılması gerekiyorsa, sunucuyu dışarı aktarmadan önce iş veritabanını bırakın. |