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 konu, SQL Server Management Studio, Transact-SQL veya Replication Management Objects (RMO) kullanılarak SQL Server Management Studio'da Replikasyon Ajanı Profilleriyle nasıl çalışılacağını açıklar. Her replikasyon ajanının davranışı, ajan profilleri aracılığıyla ayarlanabilen bir dizi parametre tarafından kontrol edilir. Her ajanın varsayılan bir profili vardır ve bazılarının ek önceden tanımlanmış profilleri vardır; Belirli bir anda, bir ajan için sadece bir profil aktiftir.
SQL Server Management Studio'yu kullanma
SQL Server Management Studio'dan Agent Profilleri iletişim kutusuna erişmek için
- Dağıtıcı Özellikleri - <Dağıtıcı> iletişim kutusunun Genel sayfasında, Profil Varsayılan sayfasına tıklayın.
Replikasyon Monitörü'nden Ajan Profilleri iletişim kutusuna erişmek için
Tüm aracılar için iletişim kutusunu açmak üzere, bir Publisher’a sağ tıklayın ve ardından Agent Profiles’e tıklayın.
Tek bir ajan için diyalog kutusunu açmak için:
Çoğaltma İzleyicisi'nin sol bölmesinde bir Yayımcı grubunu genişletin, bir Publisher'ı genişletin ve sonra bir yayına tıklayın.
Distribution Agent ve Merge Agent profilleri için, Tüm Abonelikler sekmesinde aboneliğe sağ tıklayın ve ardından Agent Profile'e tıklayın. Diğer ajanlar için Agents sekmesinde temsilciye sağ tıklayın ve ardından Agent Profile'a tıklayın.
Bir ajan için profil belirtmek için
Ajan Profilleri iletişim kutusu birden fazla ajan profilini gösteriyorsa, bir ajan seçin.
Ajan profilleri ızgarasındaki Yeni için varsayılan sütununda bir profil seçin. Varsayılan olarak, profil yalnızca yeni yayınlar ve abonelikler için ajanlara uygulanır.
Mevcut yayınlar veya abonelikler için seçilen tüm türdeki ajanların bu profili kullanması gerektiğini belirtmek için, Mevcut ajanları Değiştir seçeneğine tıklayın.
Bir profille ilişkili parametreleri görüntülemek ve düzenlemek için
Ajan Profilleri iletişim kutusu birden fazla ajan profilini gösteriyorsa, bir ajan seçin.
Profilin yanındaki özellikler butonuna (...) tıklayın.
ProfileName> Profile Properties iletişim kutusunda< parametreleri ve değerleri görüntüleyin.
Kullanıcı tanımlı profillerdeki parametreler düzenlenebilir; önceden tanımlanmış sistem profillerindeki parametreler bunu yapamaz.
Bir ajanın tüm parametrelerini görüntülemek için, Yalnızca bu profilde kullanılan parametreleri göster onay kutusunun işaretini kaldırın. Ajan parametreleri hakkında bilgi için bu konunun sonundaki bağlantılara bakınız.
Kapat'a tıklayın.
Kullanıcı tanımlı bir profil oluşturmak için
Ajan Profilleri iletişim kutusu birden fazla ajan profilini gösteriyorsa, bir ajan seçin.
Yeni'ye tıklayın.
Yeni Ajan Profili başlatma diyalog kutusunda, yeni profili temel alacağınız mevcut bir profili seçin.
Yeni Ajan Profili iletişim kutusunda, İsim ve Açıklama metin kutularına değerleri girin.
Profili uyarlamak için parametreleri değiştirin. Bir ajanın tüm parametrelerini görüntülemek için, Yalnızca bu profilde kullanılan parametreleri göster onay kutusunun işaretini kaldırın. Ajan parametreleri hakkında bilgi için bu konunun sonundaki bağlantılara bakınız.
Tamam'ı seçin.
Kullanıcı tanımlı bir profili silmek için
Ajan Profilleri iletişim kutusu birden fazla ajan profilini gösteriyorsa, bir ajan seçin.
Bir profil bir veya daha fazla ajanla ilişkilendiriliyorsa, bu ajanların profilini değiştirin:
Ajan profilleri ızgarasında farklı bir profil seçin.
Mevcut ajanları Değiştir'e tıklayın.
Note
Bu, sadece silmek istediğiniz profili kullananlar değil, mevcut yayınlar veya abonelikler için seçilen tüm ajanların profilini değiştirecektir.
Silmek istediğiniz profili seçin ve ardından Sil'e tıklayın.
Tamam'ı seçin.
Transact-SQL Kullanımı
Yeni bir ajan profili oluşturmak için
Dağıtıcıda sp_add_agent_profile (Transact-SQL) çalıştırın. @name, @profile_typeiçin 1 değer ve @agent_type için aşağıdaki değerlerden birini belirtin:
Eğer bu profil, replikasyon ajanı türü için yeni varsayılan profil olacaksa, @default için 1 değeri belirtin. Yeni profil için tanımlayıcı, @profile_id çıktı parametresi kullanılarak döner. Bu, verilen ajan türü için varsayılan profile dayalı yeni bir profil parametresi oluşturuyor.
Yeni profil oluşturulduktan sonra, profili özelleştirmek için varsayılan parametreleri ekleyin, çıkarın veya değiştirin.
Mevcut bir ajan profilini değiştirmek için
Dağıtıcıda sp_help_agent_profile (Transact-SQL) çalıştırın. @agent_type için aşağıdaki değerlerden birini belirtin:
Bu, belirtilen ajan türüne ait tüm profilleri döndürür. Profilin değişmesi için sonuç kümesindeki profile_id değerine dikkat edin.
Dağıtıcıda sp_help_agent_parameter (Transact-SQL) çalıştırın. @profile_id için adım 1'den profil tanımlayıcısını belirtin. Bu, profil için tüm parametreleri döndürür. Profilden değiştirilecek veya çıkarılacak parametrelerin adını not edin.
Bir profildeki bir parametrenin değerini değiştirmek için sp_change_agent_parameter (Transact-SQL) çalıştırın. @profile_id için 1. adımdan profil tanımlayıcısını, @parameter_name için değiştirilecek parametrenin adını ve @parameter_value için parametre için yeni bir değer belirtin.
Note
Mevcut bir ajan profilini bir ajan için varsayılan profil haline getiremezsiniz. Bunun yerine, önceki prosedürde gösterildiği gibi varsayılan profil olarak yeni bir profil oluşturmalısınız.
Bir profilden bir parametreyi kaldırmak için sp_drop_agent_parameter (Transact-SQL) çalıştırın. @profile_id için adım 1'den profil tanımlayıcısını ve @parameter_name için kaldırılacak parametrenin adını belirtin.
Bir profile yeni bir parametre eklemek için şunları yapmanız gerekir:
Her ajan türü için hangi profil parametrelerinin ayarlanabileceğini belirlemek amacıyla Dağıtıcıdaki MSagentparameterlist (Transact-SQL) tablosunu sorgulayın.
Dağıtıcıda sp_add_agent_parameter (Transact-SQL) çalıştırın. @profile_id için 1. adımdan profil tanımlayıcısını, @parameter_name için eklenecek geçerli bir parametrenin adını ve @parameter_value için parametrenin değerini belirtin.
Bir ajan profilini silmek için
Dağıtıcıda sp_help_agent_profile (Transact-SQL) çalıştırın. @agent_type için aşağıdaki değerlerden birini belirtin:
Bu, belirtilen ajan türüne ait tüm profilleri döndürür. Profilin kaldırılacağı sonuç kümesindeki profile_id değerine dikkat edin.
Dağıtıcıda sp_drop_agent_profile (Transact-SQL) çalıştırın. @profile_id için adım 1'den profil tanımlayıcısını belirtin.
Senkronizasyon sırasında ajan profillerini kullanmak
Dağıtıcıda sp_help_agent_profile (Transact-SQL) çalıştırın. @agent_type için aşağıdaki değerlerden birini belirtin:
Bu, belirtilen ajan türüne ait tüm profilleri döndürür. Profilin kullanacağı sonuç kümesindeki profile_name değerine dikkat edin.
Ajan bir ajan işinden başlatılıyorsa, ajanı başlatan iş adımını, -ProfileName komut satırı parametresinden sonra 1. adımda elde edilen profile_name değerini belirtmek için düzenleyin. Daha fazla bilgi için, View and Modify Replication Agent Command Prompt Parameters (SQL Server Management Studio) bölümüne bakınız.
Ajanı komut satırından başlatırken, -ProfileName komut satırı parametresinden sonra 1. adımda elde edilen profile_name değerini belirtin.
Örnek (Transact-SQL)
Bu örnek, custom_merge adlı Merge Agent için özel bir profil oluşturur, -UploadReadChangesPerBatch parametresinin değerini değiştirir, yeni bir -ExchangeType parametresi ekler ve oluşturulan profil hakkında bilgi döndürür.
DECLARE @profilename AS sysname;
DECLARE @profileid AS int;
SET @profilename = N'custom_merge';
-- Create a temporary table to hold the returned
-- Merge Agent profiles.
CREATE TABLE #profiles (
profile_id int,
profile_name sysname,
agent_type int,
[type] int,
description varchar(3000),
def_profile bit)
INSERT INTO #profiles (profile_id, profile_name,
agent_type, [type],description, def_profile)
EXEC sp_help_agent_profile @agent_type = 4;
SET @profileid = (SELECT profile_id FROM #profiles
WHERE profile_name = @profilename);
IF (@profileid IS NOT NULL)
BEGIN
EXEC sp_drop_agent_profile @profileid;
END
DROP TABLE #profiles
-- Add a new merge agent profile.
EXEC sp_add_agent_profile @profile_id = @profileid OUTPUT,
@profile_name = @profilename, @agent_type = 4,
@description = N'custom merge profile';
-- Change the value of uploadreadchangesperbatch in the profile.
EXEC sp_change_agent_parameter @profile_id = @profileid,
@parameter_name = N'-UploadReadChangesPerBatch', @parameter_value = 50;
-- Add a new parameter ExchangeType the profile.
EXEC sp_add_agent_parameter @profile_id = @profileid,
@parameter_name = N'-ExchangeType', @parameter_value = 1;
-- Verify the new profile.
EXEC sp_help_agent_parameter @profileid;
GO
RMO kullanımı
Yeni bir ajan profili oluşturmak için
Sınıfın bir örneğini ServerConnection kullanarak Dağıtıcıya bağlantı oluşturun.
AgentProfile sınıfının bir örneğini oluşturun.
Nesneye aşağıdaki özellikleri ayarlayın:
Name - Profilin adı.
AgentType - profilin oluşturulduğu replikasyon ajanı türünü belirten bir AgentType değer.
ConnectionContext - ServerConnection Adım 1'de oluşturulan.
(İsteğe bağlı) Description - profilin bir açıklaması.
(İsteğe bağlı) Default - Tüm yeni ajan işleri AgentType varsayılan olarak bu profili kullanacaksa bu özelliği doğru olarak ayarlayın.
Sunucuda profil oluşturmak için metodu Create çağırın.
Profil sunucuda bulunduktan sonra, replikasyon ajanı parametrelerinin değerlerini ekleyerek, kaldırarak veya değiştirerek özelleştirebilirsiniz.
Profili mevcut bir replikasyon ajanı işine atamak için metodu AssignToAgent çağırın. distributionDBName için dağıtım veritabanının adını ve agentID için işin ID'sini verin.
Mevcut bir ajan profilini değiştirmek için
Sınıfın bir örneğini ServerConnection kullanarak Dağıtıcıya bağlantı oluşturun.
ReplicationServer sınıfının bir örneğini oluşturun. Adım 1'de oluşturulan ServerConnection nesneyi geçirin.
yöntemini çağırın LoadProperties . Eğer bu yöntem yanlış dönerse, Dağıtıcının var olduğunu doğrulayın.
yöntemini çağırın EnumAgentProfiles . Geri dönen profilleri belirli bir replikasyon ajanı türüne daraltmak için bir AgentType değer verin.
İstenen AgentProfile nesneyi geri dönen ArrayListcihazdan alın, burada Name nesnenin özelliği profil adıyla eşleşiyor.
Profili değiştirmek için aşağıdaki yöntemlerden AgentProfile birini arayın:
AddParameter - profile desteklenen bir parametre ekler; burada ism , replikasyon ajanı parametresinin adıdır ve değer belirtilen değerdir. Belirli bir ajan türü için desteklenen tüm ajan parametrelerini saymak için yöntemi EnumParameterInfo çağırın. Bu yöntem, tüm desteklenen parametreleri temsil eden nesnelerden AgentProfileParameterInfo birini ArrayList döndürür.
RemoveParameter - profilden mevcut bir parametreyi kaldırır; burada ism , replikasyon ajanı parametresinin adıdır. Profil için tanımlanan tüm mevcut ajan parametrelerini saymak için yöntemi EnumParameters çağırın. Bu yöntem, bu profil için mevcut parametreyi temsil eden nesnelerden AgentProfileParameter birini ArrayList döndürür.
ChangeParameter - profildeki mevcut bir parametrenin ayarını değiştirir; burada ad, ajan parametresinin adıdır ve newValue parametrenin değiştirildiği değerdir. Profil için tanımlanan tüm mevcut ajan parametrelerini saymak için yöntemi EnumParameters çağırın. Bu yöntem, bu profil için mevcut parametreyi temsil eden nesnelerden AgentProfileParameter birini ArrayList döndürür. Tüm desteklenen ajan parametre ayarlarını saymak için metodu EnumParameterInfo çağırın. Bu yöntem, tüm parametreler için desteklenen değerleri temsil eden nesnelerden AgentProfileParameterInfo birini ArrayList döndürür.
Bir ajan profilini silmek için
Sınıfın bir örneğini ServerConnection kullanarak Dağıtıcıya bağlantı oluşturun.
AgentProfile sınıfının bir örneğini oluşturun. Name için profil adını ve ConnectionContext için 1. adımdaki ServerConnection öğesini ayarlayın.
yöntemini çağırın LoadProperties . Bu yöntem yanlış dönerse, ya belirtilen isim yanlıştır ya da profil sunucuda yoktur.
Type özelliğinin User olarak ayarlandığını doğrulayın; bu, bir müşteri profilini belirtir. ' değeri SystemTypeolan bir profili kaldırmamalısınız.
Bu nesne tarafından temsil edilen kullanıcı tanımlı profili sunucudan kaldırmak için yöntemi Remove çağırın.
Takip Süreci: Ajan Parametrelerini Değiştirdikten Sonra
Aracı parametresi değişiklikleri, aracı bir sonraki başlatışında etkili olur. Ajan sürekli çalışıyorsa, ajanı durdurup yeniden başlatmanız gerekir. SQL Server 2017 CU3 ile itibaren, bazı ajan parametre değişiklikleri Agent'ları yeniden başlatmadan etki gösterir.