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:SQL Server
Azure SQL Yönetilen Örneği
Bu makalede, SQL Server ve Azure SQL Yönetilen Örneği'nde zamanlanmış yönetim görevlerini ( işler olarak adlandırılır) yürüten bir Microsoft Windows hizmeti olan SQL Server Aracısı'na genel bir bakış sağlanır.
Önemli
Azure SQL Managed Instanceüzerinde, SQL Server Agent özelliklerinin çoğu şu anda desteklenmektedir fakat hepsi değil. Ayrıntılar için bkz. SQL Yönetilen Örneği'nde SQL Server veya SQL Aracısı iş sınırlamalarından Azure SQL Yönetilen Örneği T-SQL farkları .
SQL Server Agent'ın avantajları
SQL Server Aracısı, iş bilgilerini depolamak için SQL Server kullanır. İşler bir veya daha fazla iş adımı içerir. Her adım, veritabanını yedekleme gibi kendi görevini içerir.
SQL Server Aracısı belirli bir olaya yanıt olarak veya isteğe bağlı olarak bir işi zamanlamaya göre çalıştırabilir. Örneğin, tüm şirket sunucularını hafta içi her gün saat başı yedeklemek istiyorsanız, bu görevi otomatikleştirebilirsiniz. Yedeklemeyi Pazartesi ile Cuma günleri arasında saat 22:00'ye kadar çalışacak şekilde zamanlayın. Yedekleme bir sorunla karşılaşırsa, SQL Server Aracısı olayı kaydedebilir ve size bildirebilir.
Uyarı
Varsayılan olarak, kullanıcı hizmeti otomatik olarak başlatmayı açıkça seçmediği sürece SQL Server yüklendiğinde SQL Server Aracısı hizmeti devre dışı bırakılır.
SQL Server Aracısı bileşenleri
SQL Server Aracısı gerçekleştirilecek görevleri, görevlerin ne zaman gerçekleştirildiğini ve görevlerin başarısını veya başarısızlığını nasıl bildireceklerini tanımlamak için aşağıdaki bileşenleri kullanır.
SQL Server Agent hizmetini yönetmek için SQL Server Configuration Manager'ı kullanın ve SQL Server Agent özelliklerini, işlerini, uyarılarını, işleçlerini ve proxy'lerini grafik kullanıcı arabiriminde kolayca yönetmek için SQL Server Management Studio'yu (SSMS) kullanın.
Işleri
İş, SQL Server Agent'ın gerçekleştirdiği belirtilen bir eylem dizisidir. "İşleri kullanarak bir veya daha fazla kez çalıştırılabilen ve başarı veya başarısızlık açısından izleyebileceğiniz bir yönetim görevi tanımlayın." bir iş bir yerel sunucuda veya birden çok uzak sunucuda çalıştırılabilir.
Önemli
BIR SQL Server yük devretme kümesi örneğinde bir yük devretme olayı sırasında çalışan SQL Server Aracısı işleri, başka bir yük devretme kümesi düğümüne yük devretmeden sonra sürdürülemez. bir Hyper-V düğümü duraklatıldığında çalışan SQL Server Aracısı işleri, duraklatma başka bir düğüme yük devretmeye neden olursa sürdürülemez. Bir yük devretme olayı nedeniyle başlayan ancak tamamlanamadıktan sonra tamamlayabilen işler başlatıldı olarak günlüğe kaydedilir, ancak tamamlanma veya hata için ek günlük girdileri gösterilmez. Bu senaryolardaki SQL Server Agent işleri hiç bitmiyor gibi görünüyor.
İşleri çeşitli yollarla çalıştırabilirsiniz:
- Bir veya daha fazla takvime göre.
- Bir veya daha fazla uyarıya yanıt olarak.
-
sp_start_jobsaklı yordamı yürüterek.
bir işteki her eylem bir iş adımıdır. Örneğin, iş adımı bir Transact-SQL deyimi çalıştırmak, SQL Server Integration Services (SSIS) paketini yürütmek veya bir Analysis Services sunucusuna komut vermek olabilir. İş adımları bir işin parçası olarak yönetilir.
Her iş adımı belirli bir güvenlik bağlamında çalışır. Transact-SQL kullanan iş adımları için deyimini EXECUTE AS kullanarak iş adımının güvenlik bağlamını ayarlayın. Diğer iş adımı türleri için, iş adımının güvenlik bağlamını ayarlamak için bir proxy hesabı kullanın.
Belirli bir iş hakkında bilgi edinmek için sp_help_job sistem saklı yordamını kullanın. İşler hakkındaki bilgileri görüntülemek için dbo.sysjobs sistem tablosunu kullanın. Örneğin, bir sunucudaki tüm işler hakkındaki bilgileri görüntülemek için aşağıdaki Transact-SQL (T-SQL) deyimini kullanın:
USE msdb;
GO
SELECT job_id,
[name]
FROM dbo.sysjobs;
Programlar
Bir zamanlama, bir işin ne zaman çalıştırılacağını belirtir. Aynı zamanlamaya göre birden fazla iş çalıştırılabilir ve aynı işe birden fazla zamanlama uygulanabilir. Zamanlama, bir işin çalıştığı zaman için aşağıdaki koşulları tanımlayabilir:
- SQL Server Aracısı her başlatıldığında.
- Bilgisayarın CPU kullanımı boşta olarak tanımladığınız bir düzeyde olduğunda.
- Belirli bir tarih ve saatte bir kez.
- Yinelenen bir zamanlamaya göre.
Daha fazla bilgi için bkz. İşlere Zamanlama Oluşturma ve Ekleme.
Uyarılar
Uyarı, belirli bir olaya otomatik yanıttır. Örneğin, bir olay, başlayan bir iş veya belirli bir eşiğe ulaşan sistem kaynakları olabilir. Uyarının hangi koşullar altında gerçekleştiğini tanımlarsınız.
Uyarı aşağıdaki koşullardan birine yanıt verebilir:
- SQL Server olayları
- SQL Server performans koşulları
- SQL Server Agent'ın çalıştığı bilgisayarda Microsoft Windows Yönetim Araçları (WMI) olayları
Bir uyarı aşağıdaki eylemleri gerçekleştirebilir:
- Bir veya daha fazla operatörü bilgilendir
- Bir iş çalıştır
Daha fazla bilgi için bkz. SQL Server Aracısı uyarıları.
Operatörler
Operatör, SQL Server'ın bir veya daha fazla örneğinin bakımdan sorumlu bir kişi için kişi bilgilerini tanımlar. Bazı kuruluşlarda operatör sorumlulukları tek bir kişiye atanır. Birden çok sunucusu olan kuruluşlarda, birçok kişi operatör sorumluluklarını paylaşabilir. İşleç, güvenlik bilgileri içermez ve güvenlik unsuru tanımlamaz.
SQL Server, uyarıları işleçlere şu şekilde bildirebilir:
- E-posta gönder
- Çağrı cihazı (e-posta yoluyla)
- net send
Uyarı
Net send kullanarak bildirim göndermek için Windows Messenger hizmetinin SQL Server Agent'ın bulunduğu bilgisayarda başlatılması gerekir.
Önemli
Pager ve net send seçenekleri, SQL Server'ın gelecekteki bir sürümünde SQL Server Aracısı'ndan kaldırılacaktır. Bu özellikleri yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özellikleri kullanan uygulamaları değiştirmeyi planlayın.
E-posta veya çağrı cihazları kullanarak işleçlere bildirim göndermek için SQL Server Agent'ı Veritabanı Postası kullanacak şekilde yapılandırmanız gerekir. Daha fazla bilgi için bkz. Veritabanı Postası.
Bir işleci, bir grup birey için diğer ad olarak tanımlayabilirsiniz. Bu şekilde, bu diğer adın tüm üyeleri aynı anda doğrulanmaz. Daha fazla bilgi için bkz. İşleçler.
SQL Server Aracısı yönetimi için güvenlik
SQL Server Aracısı, msdb sabit sunucu rolünün üyesi olmayan kullanıcılar için SQL Server Aracısı'na erişimi denetlemek için veritabanında aşağıdaki sabit veritabanı rollerinden birini kullanır.
- SQLAgentUserRole
- SQLAgentReaderRole
- SQLAgentOperatorRole
Bu sabit veritabanı rollerine ek olarak, alt sistemler ve proxy'ler veritabanı yöneticilerinin her iş adımının görevini gerçekleştirmek için gereken en düşük izinlerle çalıştığından emin olmasını sağlar.
Görevler
IÇINDE SQLAgentUserRole, SQLAgentReaderRole ve SQLAgentOperatorRole sabit veritabanı rollerinin msdbüyeleri ve sysadmin sabit sunucu rolünün üyeleri SQL Server Aracısı'na erişebilir. Bu rollerin hiçbirine ait olmayan bir kullanıcı SQL Server Agent'ı kullanamaz. SQL Server Aracısı tarafından kullanılan roller hakkında daha fazla bilgi için bkz. SQL Server Agent güvenliğini uygulama.
Alt Sistemler
Alt sistem, bir iş adımında kullanılabilen işlevselliği temsil eden önceden tanımlanmış bir nesnedir. Her ara sunucu bir veya daha fazla alt sisteme erişebilir. Alt sistemler, bir ara sunucu için kullanılabilen işlevlere erişimi sınırlandırdığından güvenlik sağlar. her iş adımı, Transact-SQL iş adımları dışında bir ara sunucu bağlamında çalışır. Transact-SQL iş adımları, güvenlik bağlamını EXECUTE AS İşin sahibine ayarlamak için komutunu kullanın.
SQL Server, aşağıdaki tabloda listelenen alt sistemleri tanımlar:
| Alt sistem adı | Açıklama |
|---|---|
| Microsoft ActiveX Komut Dosyası | ActiveX betik işi adımını çalıştırın. Uyarı ActiveX Betik Alt Sistemi, Microsoft SQL Server'ın gelecekteki bir sürümünde SQL Server Aracısı'ndan kaldırılır. Bu özelliği yeni geliştirme çalışmalarında kullanmaktan kaçının ve şu anda bu özelliği kullanan uygulamaları değiştirmeyi planlayın. |
| İşletim Sistemi (CmdExec) | Yürütülebilir bir program çalıştırın. |
| PowerShell | PowerShell betik işi adımını çalıştırın. |
| Çoğaltım Dağıtıcısı | Çoğaltma Dağıtım Aracısı'nı etkinleştiren bir iş adımı çalıştırın. |
| Çoğaltma Birleşimi | Çoğaltma Birleştirme Aracısı'nı etkinleştiren bir iş adımı çalıştırın. |
| Replikasyon Kuyruğu Okuyucusu | Çoğaltma Kuyruk Okuyucu Aracısı'nı etkinleştiren bir iş adımını çalıştırın. |
| Çoğaltma Anlık Görüntüsü | Çoğaltma Anlık Görüntü Aracısı'nı etkinleştiren bir iş adımını çalıştırın. |
| Çoğaltma İşlem Günlüğü Okuyucusu | Bir iş adımı çalıştırarak Çoğaltma Günlüğü Okuyucu Aracısı'nı etkinleştirin. |
| Analiz Hizmetleri Komutu | Bir Analysis Services komutu çalıştırın. |
| Analysis Services Sorgusu | Bir Analysis Services sorgusu çalıştırın. |
| SSIS paketi yürütme | Bir SSIS paketi çalıştırın. |
Uyarı
Transact-SQL iş adımları proxy kullanmadığından, Transact-SQL iş adımları için SQL Server Agent alt sistemi yoktur.
SQL Server Aracısı, ara sunucunun güvenlik sorumlusu normalde görevi iş adımında çalıştırma iznine sahip olsa bile alt sistem kısıtlamalarını zorlar. Örneğin, sysadmin sabit sunucu rolünün üyesi olan bir kullanıcının proxy'si, kullanıcı SSIS paketlerini çalıştırabilse bile, ara sunucunun SSIS alt sistemine erişimi olmadığı sürece SSIS işi adımını çalıştıramaz.
Proxy'ler
SQL Server Aracısı, güvenlik bağlamlarını yönetmek için proxy'leri kullanır. Ara sunucu birden fazla iş adımında kullanılabilir. Sysadmin sabit sunucu rolünün üyeleri ara sunucular oluşturabilir.
Her ara sunucu bir güvenlik kimlik bilgilerine karşılık gelir. Her ara sunucu bir alt sistem kümesi ve bir dizi oturum açma işlemiyle ilişkilendirilebilir. Ara sunucu yalnızca ara sunucuyla ilişkilendirilmiş bir alt sistemi kullanan iş adımları için kullanılabilir. Belirli bir ara sunucuyu kullanan bir iş adımı oluşturmak için, iş sahibinin bu ara sunucuyla ilişkili bir oturum açma bilgisi veya proxy'lere sınırsız erişimi olan bir rolün üyesini kullanması gerekir. Sysadmin sabit sunucu rolünün üyelerinin proxy'lere sınırsız erişimi vardır.
SQLAgentUserRole, SQLAgentReaderRole veya SQLAgentOperatorRole üyeleri yalnızca kendilerine belirli erişim verilen proxy'leri kullanabilir. Bu SQL Server Aracısı sabit veritabanı rollerinden herhangi birinin üyesi olan her kullanıcıya, söz konusu ara sunucuları kullanan iş adımları oluşturabilmesi için belirli proxy'lere erişim verilmelidir.
Yönetimi otomatikleştirme
SQL Server Agent'ı SQL Server yönetimini otomatikleştirmek üzere yapılandırmak için aşağıdaki adımları kullanın:
Hangi yönetim görevlerinin veya sunucu olaylarının düzenli olarak gerçekleştiğini ve bu görevlerin veya olayların program aracılığıyla yönetilip yönetilemeyeceğini belirleyin. Görev, öngörülebilir bir adım dizisi içeriyorsa ve belirli bir zamanda veya belirli bir olaya yanıt olarak gerçekleşirse otomasyon için iyi bir adaydır.
SQL Server Management Studio, Transact-SQL betikleri veya SQL Server Yönetim Nesneleri (SMO) kullanarak bir dizi iş, zamanlama, uyarı ve işleç tanımlayın. Daha fazla bilgi için bkz. SQL Server Agent işleri oluşturma.
Tanımladığınız SQL Server Agent işlerini çalıştırın.
Uyarı
SQL Server'ın varsayılan örneği için SQL Server hizmeti SQLSERVERAGENT olarak adlandırılır. Adlandırılmış örnekler için SQL Server Aracısı hizmeti SQLAgent$instancename olarak adlandırılır.
SQL Server'ın birden çok örneğini çalıştırıyorsanız, tüm örneklerde ortak görevleri otomatikleştirmek için çok sunuculu yönetimi kullanabilirsiniz. Daha fazla bilgi için bkz. Kuruluş Genelinde Otomatik Yönetim.
SQL Server Agent'ı kullanmaya başlamak için aşağıdaki görevleri kullanın:
| Açıklama | Makale |
|---|---|
| SQL Server Aracısı'nın nasıl yapılandırıldığı açıklanır. | SQL Server Aracısını Yapılandırma |
| SQL Server Agent hizmetini başlatmayı, durdurmayı ve duraklatmayı açıklar. | SQL Server Agent hizmetini başlatma, durdurma veya duraklatma |
| SQL Server Agent hizmeti için bir hesap belirtmek için dikkat edilmesi gerekenler açıklanır. | SQL Server Agent hizmeti için bir hesap seçin |
| SQL Server Aracısı hata günlüğünün nasıl kullanılacağını açıklar. | SQL Server Aracısı Hata Günlüğü |
| Performans nesnelerinin nasıl kullanılacağını açıklar. | Performans Nesnelerini Kullanma |
| SQL Server örneğinin yönetimini otomatikleştirmek için işleri, uyarıları ve işleçleri oluşturduğunuz bir yardımcı program olan Bakım Planı Sihirbazı'nı açıklar. | Bakım Planı Sihirbazı'nı kullanma |
| SQL Server Agent kullanarak yönetim görevlerini otomatikleştirmeyi açıklar. | Otomatik Yönetim Görevleri (SQL Server Aracısı) |
NOSQLPS
SQL Server 2019'dan başlayarak SQLPS'yi devre dışı bırakabilirsiniz. PowerShell türündeki bir iş adımının ilk satırında, SQL Aracısı'nın SQLPS modülünü otomatik olarak yüklemesini durduran öğesini ekleyebilirsiniz #NOSQLPS. Artık SQL Aracısı İşiniz makinede yüklü Olan PowerShell sürümünü çalıştırır ve ardından istediğiniz başka bir PowerShell modülünü kullanabilirsiniz.
SQL Aracısı İşi adımınızda SqlServer modülünü kullanmak için bu kodu betiğinizin ilk iki satırına yerleştirebilirsiniz.
#NOSQLPS
Import-Module -Name SqlServer
TDS 8.0 ve katı şifreleme desteği
SQL Server 2025 (17.x), katı şifreleme kullanabilen SQL Server Aracısı için TDS 8.0 ve TLS 1.3 desteği sağlar. SQL Server Aracısı, SQL Server Configuration Manager'da (Force Strict Encryption, Force Encryptionveya yok) yapılandırılan şifreleme düzeyini bulur ve SQL Server'a (strict, mandatoryveya optional) bağlanmak için ilgili seçeneği kullanır. Yerel örneğe bağlanan SQL Aracısı T-SQL işleri, SQL Server Aracısı şifreleme ayarlarını kullanır. Bu, SQL Server Aracısı şifreleme ile strict bağlanırsa, yerel bir T-SQL işinin de aynı şifreleme düzeyiyle bağlandığını gösterir.
| TLS sürümü etkin | SQL Yapılandırma Yöneticisi Yapılandırma ayarı |
Beklenen SQL Server Agent sonucu | Açıklama |
|---|---|---|---|
| TLS 1.3 | Katı Şifrelemeyi Zorla | Başarılı bağlantı ve başlatma | TDS 8.0 şifreleme kullanır strict |
| TLS 1.3 | Şifrelemeyi Zorla | Bağlanma ve başlatma hatası | TLS 1.3 gerektirir strict |
| TLS 1.3 | Hiç kimse | Bağlanma ve başlatma hatası | TLS 1.3 şifreleme gerektirir strict |
| TLS 1.2 | Katı Şifrelemeyi Zorla | Başarılı bağlantı ve başlatma | TDS 8.0 TLS 1.2 kullanabilir |
| TLS 1.2 | Şifrelemeyi Zorla | Başarılı bağlantı ve başlatma | Bağlantı için mandatory TDS 7.x kullanılır |
| TLS 1.2 | Hiç kimse | Başarılı bağlantı ve başlatma | Bağlantı için optional TDS 7.x kullanılır |
| TLS 1.3 ve TLS 1.2 | Katı Şifrelemeyi Zorla | Başarılı bağlantı ve başlatma | TDS 8.0 strict şifreleme kullandı |
| TLS 1.3 ve TLS 1.2 | Şifrelemeyi Zorla | Başarılı bağlantı ve başlatma |
mandatory bağlantısı için TDS 7.x kullanıldı. |
| TLS 1.3 ve TLS 1.2 | Hiç kimse | Başarılı bağlantı ve başlatma | Bağlantı için optional TDS 7.x kullanılır |