Aracılığıyla paylaş


Always On kullanılabilirlik grubunda çoğaltma dağıtım veritabanını ayarlama

Şunlar için geçerlidir: SQL Server

Bu makalede, Always On kullanılabilirlik grubunda (AG) SQL Server çoğaltma dağıtım veritabanının nasıl ayarlanacağı açıklanmaktadır.

SQL Server 2017 CU6 ve SQL Server 2016 SP2-CU3 aşağıdaki mekanizmalar aracılığıyla bir AG'de çoğaltma dağıtım veritabanı desteği sağlar:

  • Dağıtım veritabanı AG'sinin bir dinleyicisi olması gerekir. Yayımcı dağıtımcıyı eklediğinde, dağıtımcı adı olarak dinleyici adını kullanır.
  • Çoğaltma işleri, dinleyici adı dağıtımcı adı olarak kullanılarak oluşturulur. Dağıtım sunucusunda oluşturulan çoğaltma anlık görüntüsü, günlük okuyucusu ve dağıtım aracısı (anında iletme aboneliği) işleri, Dağıtım VERITABANı için AG'nin tüm ikincil çoğaltmalarında oluşturulur.

Not

Çekme abonelikleri için dağıtım temsilcisi işleri, dağıtım sunucusunda değil, abone sunucusunda oluşturulur.

  • Yeni bir iş, dağıtım veritabanlarının durumunu (AG'de birincil veya ikincil) izler ve dağıtım veritabanları durumuna göre çoğaltma işlerini devre dışı bırakır veya etkinleştirir.

AG'deki bir dağıtım veritabanı aşağıda belirtilen adımlara göre yapılandırıldığında, çoğaltma yapılandırması ve çalışma zamanı görevleri, dağıtım veritabanı AG yük devretme işleminden önce ve sonra düzgün bir şekilde çalışabilir.

Desteklenen senaryolar

  • Dağıtım veritabanını AG'ye dahil edilecek şekilde yapılandırma.
  • AG yük devretmeden önce ve sonra yayınlar ve abonelikler gibi çoğaltmayı yapılandırma.
  • Çoğaltma görevleri yük devretmeden önce ve sonra işlevseldir.
  • Dağıtım veritabanı AG'deyken dağıtımcı ve yayımcıda çoğaltma kaldırılıyor.
  • Mevcut dağıtım veritabanı AG'sine düğüm ekleme veya kaldırma.
  • Bir dağıtımcının birden çok dağıtım veritabanı olabilir. Her dağıtım veritabanı kendi AG'sinde olabilir ve herhangi bir AG'de olamaz. Birden çok dağıtım veritabanı bir AG'yi paylaşabilir.
  • Yayımcı ve dağıtımcının ayrı SQL Server örneklerinde olması gerekir.
  • Dağıtım veritabanını barındıran kullanılabilirlik grubunun dinleyicisi varsayılan olmayan bir bağlantı noktası kullanacak şekilde yapılandırılmışsa, dinleyici ve varsayılan olmayan bağlantı noktası için bir diğer ad ayarlamak gerekir.

Sınırlamalar veya dışlamalar

  • Yerel Dağıtımcı (Yayımcı sunucusu aynı zamanda Dağıtımcıdır) desteklenmez. Yayımcı ve Dağıtımcı ayrı SQL Server örnekleri olmalıdır. Bu örnekler aynı düğüm kümelerinde barındırılabilir. Yerel Dağıtımcı aşağıdaki nedenlerle desteklenmez:

    • Dağıtımcı yerel olarak yapılandırılmışsa, trafiği Dağıtımcıya yönlendirmek için kullanılabilirlik grubu dinleyicisini kullanamazsınız ve bu da çoğaltma aracılarının yük devretme sonrasında başarısız olmasına neden olur.
    • Yerel bir Dağıtımcı yapılandırıldığında ve ardından Dağıtımcı Yüksek Kullanılabilirlik Grubu orijinal ikincil sunucuya geçtiğinde, Yayımcı ile Dağıtımcı arasındaki bağlantı yerelden uzak bağlantıya geçer, bu da çoğaltma saklı yordamlarının ve aracılarının başarısız olmasına neden olur.
  • Oracle yayımcısı desteklenmez.

  • Birleştirme çoğaltması desteklenmez.

  • Anlık veya kuyruğa alınmış güncelleme aboneliğine sahip işlem çoğaltması desteklenmez.

  • Eşler arası çoğaltma, SQL Server 2019 (15.x) CU 17 öncesinde desteklenmez

  • Dağıtım veritabanı çoğaltmalarını barındıran tüm SQL Server 2017 örnekleri SQL Server 2017 CU 6 veya üzeri olmalıdır.

  • Dağıtım veritabanı çoğaltmalarını barındıran tüm SQL Server 2016 örnekleri SQL Server 2016 SP2-CU3 veya üzeri olmalıdır.

  • Dağıtım veritabanı çoğaltmalarını barındıran tüm SQL Server örnekleri, yükseltmenin gerçekleştiği dar zaman çerçevesi dışında aynı sürümde olmalıdır.

  • Dağıtım veritabanı tam kurtarma modelinde olmalıdır.

  • Kurtarma ve işlem günlüğünün kesilmesine izin vermek için tam ve işlem günlüğü yedeklemelerini yapılandırın.

  • Dağıtım veritabanı AG'sinin yapılandırılmış bir dinleyicisi olmalıdır.

  • Dağıtım veritabanı AG'sindeki ikincil çoğaltmalar eşzamanlı veya eşzamansız olabilir. Zaman uyumlu mod önerilir ve tercih edilir.

  • Çift yönlü işlemsel çoğaltma desteklenmez.

  • SSMS, dağıtım veritabanı bir kullanılabilirlik grubuna eklendiğinde Dağıtım Veritabanı'nı senkronize/yeniden senkronize olarak göstermez.

    Not

    İkinci dereceden kopyada çoğaltma saklı yordamlarından herhangi birini (örneğin - sp_dropdistpublisher, sp_dropdistributiondb, sp_dropdistributor, sp_adddistributiondb, sp_adddistpublisher) yürütmeden önce, kopyanın tamamen senkronize olduğundan emin olun.

  • Dağıtım veritabanı AG'sindeki tüm ikincil çoğaltmalar okunabilir durumda olmalıdır. İkincil çoğaltma okunamıyorsa, belirli bir ikincil çoğaltmadaki SQL Server Management Studio'daki dağıtımcı özelliklerine erişilemez, ancak çoğaltma düzgün çalışmaya devam eder.

  • Dağıtım veritabanı AG'sindeki tüm düğümlerin SQL Server Agent'ı çalıştırmak için aynı etki alanı hesabını kullanması ve bu etki alanı hesabının her düğümde aynı ayrıcalığı olması gerekir.

  • Herhangi bir çoğaltma aracısı bir ara sunucu hesabı altında çalıştırılırsa, ara sunucu hesabının dağıtım veritabanı AG'sindeki her düğümde mevcut olması ve her düğümde aynı ayrıcalığı olması gerekir.

  • Dağıtım veritabanı AG'sine katılan tüm çoğaltmalarda dağıtımcı veya dağıtım veritabanı özelliklerinde değişiklik yapın.

  • Dağıtım veritabanı AG'sinde yer alan tüm çoğaltmalarda msdb saklı yordamları veya SQL Server Management Studio aracılığıyla çoğaltma işleri üzerinde değişiklikler yapın.

  • Bir aracı için özel bir profil kullanılıyorsa, tüm ikincil çoğaltmalarda manuel olarak sp_add_agent_profileyordamı kullanılarak oluşturulması gerekir. Profil tüm çoğaltmalarda aynı kimliğe sahip olmalıdır. Profil ikincil çoğaltmada yoksa, geçişten sonra Birincil Anahtar ihlali hataları alabilirsiniz. Hataları çözmek için yayının aboneliğini yeniden başlatmanız gerekebilir.

  • Dağıtımcının yayımcıda yapılandırılması, betikler kullanılarak yapılmalıdır. Çoğaltma sihirbazı kullanılamaz. Diğer amaçlar için çoğaltma sihirbazları ve özellik sayfaları desteklenir.

  • AG'yi dağıtım veritabanları için yapılandırmak yalnızca betikler aracılığıyla yapılabilir.

  • AG'de dağıtım veritabanları kurulumu yeni bir replikasyon yapılandırması olmalıdır. Mevcut bir dağıtım veritabanını AG'ye geçirme desteklenmez. Ayrıca bir dağıtım veritabanı bir AG'den çıkarıldıktan sonra, artık geçerli bir dağıtım veritabanı olarak işlev göremez ve bırakılmalıdır.

Yapılandırma mimarisi

Bu makaledeki örneklerde aşağıdaki sunucu adları ve ayarları kullanılmıştır.

  • DIST1, DIST2, DIST3 dağıtımcı sunucularıdır;
  • PUB yayımcı sunucusudur;
  • Dağıtım veritabanı AG oluşturulduktan sonra dinleyici adı DISTLISTENER olur;
  • DIST1, dağıtım veritabanı AG'sinin ilk birincil çoğaltması olarak tasarlanmıştır.

Dağıtımcıyı, dağıtım veritabanını ve yayımcıyı yapılandırma

Bu örnekte yeni bir dağıtımcı ve yayımcı yapılandırılır ve dağıtım veritabanı AG'ye konur.

Dağıtımcılar iş akışı

  1. DIST1, DIST2, DIST3'i sp_adddistributor @@servernameile dağıtımcı olarak yapılandırın. @passwordaracılığıyla distributor_admin parolasını belirtin. @password DIST1, DAĞ2, DAĞ3 arasında aynı olmalıdır.

  2. sp_adddistributiondbile DIST1 üzerinde dağıtım veritabanını oluşturun. Dağıtım veritabanının adı distribution. distribution veritabanının kurtarma modelini basitten tama değiştirin.

  3. DIST1, DIST2 ve DIST3 üzerinde çoğaltmaları olan distribution veritabanı için bir AG oluşturun. Tercihen tüm replikalar senkronize olur. İkincil kopyaları okunabilir yapın veya okuma izni verin. Şu anda dağıtım veritabanları AG, DIST1 birincil çoğaltma, DIST2 ve DIST3 ise ikincil çoğaltmalardır.

  4. AG için DISTLISTENER adlı bir dinleyici yapılandırın.

  5. Kurtarma ve işlem günlüğünün kısaltılmasına izin vermek için tam ve işlem günlüğü yedeklemelerini yapılandırın.

  6. DAĞ2 ve DAĞ3'te şunu çalıştırın:

    EXEC sys.sp_adddistributiondb @database = 'distribution';
    
  7. DIST1'de yayımcı olarak PUB eklemek için şunu çalıştırın:

    EXEC sys.sp_adddistpublisher @publisher = 'PUB', @distribution_db = 'distribution', @working_directory = '<network path>';
    

    @working_directory değeri, DAĞ1, DAĞ2 ve DAĞ3'e göre bağımsız bir ağ yolu olmalıdır.

  8. DIST2 ve DIST3'te, çoğaltma ikincil olarak okunabilir durumda ise, komutu çalıştırın:

    EXEC sys.sp_adddistpublisher @publisher = 'PUB', @distribution_db = 'distribution', @working_directory = '<network path>';
    

    Bir kopya ikincil olarak okunamıyorsa, kopya birincil olacak şekilde yük devretme işlemi yapın ve uygun işlemi yürütün.

    EXEC sys.sp_adddistpublisher @publisher = 'PUB', @distribution_db = 'distribution', @working_directory = '<network path>';
    

    @working_directory değeri önceki adımla aynı olmalıdır.

Yayımcı iş akışı

dağıtımcı olarak distribution veritabanı AG dinleyicisini eklemek için PUB'da şunu çalıştırın:

EXEC sys.sp_adddistributor @distributor = 'DISTLISTENER', @password = '<distributor_admin password>' ;

@password değeri, dağıtımcılar dağıtımcı iş akışında yapılandırıldığında belirtilen değer olmalıdır.

Dağıtımcıyı ve yayımcıyı kaldırma

Bu örnek, dağıtım veritabanı AG'de olduğunda yayımcıyı ve dağıtımcıyı kaldırır.

Yayımcı iş akışı

PUB'da, bu yayımcının tüm aboneliklerini ve yayınlarını sonlandırın ve ardından sp_dropdistributor'ı çağırın.

Dağıtımcılar iş akışı

Bu örnekte, DIST1 distribution veritabanı AG'sinin geçerli birincil örneğidir. DIST2 ve DIST3 ikincil replikalardır.

  1. DAĞ2 ve DAĞ3'te şunu çalıştırın:

    EXEC sys.sp_dropdistpublisher @publisher = 'PUB', @no_checks = 1;
    
  2. DAĞ1'de şunu çalıştırın:

    EXEC sys.sp_dropdistpublisher @publisher = 'PUB';
    
  3. AG'yi silin.

  4. DIST2 ve DIST3'te, veritabanını kurtarma ile geri yükleyerek distribution veritabanını read_write moduna değiştirin.

    RESTORE DATABASE [distribution] WITH RECOVERY, KEEP_REPLICATION;
    
  5. distribution veritabanını bırakmak ve anlık görüntü dizinini korumak için şunu çalıştırın:

    EXEC sys.sp_dropdistributiondb @database = 'distribution' , @former_ag_secondary = 1;
    

Bu prosedür, bu çoğaltmadaki askıda kalan tüm işleri kaldırır.

  1. DIST1'de distribution veritabanını düşürmek için komutu çalıştırın

    EXEC sys.sp_dropdistributiondb @database = 'distribution';
    
  2. AG'de başka dağıtım veritabanı yoksa DIST1, DAĞ2 ve DAĞ3 üzerinde sp_dropdistributor çalıştırın.

Dağıtım veritabanı AG'ye kopya ekleme

Bu örnek, AG'de dağıtım veritabanı ile mevcut bir çoğaltma yapılandırmasına yeni bir dağıtımcı ekler. Bu örnekte, mevcut bir dağıtım veritabanı bir Kullanılabilirlik Grubu (AG) içindedir. DIST1 ve DIST2 dağıtımcılardır, distribution AG'deki dağıtım veritabanıdır ve PUB yayımcıdır. DIST3'i AG'ye kopya olarak ekleyin.

Dağıtımcılar iş akışı

  1. DIST3, sp_adddistributor @@servernamearacılığıyla dağıtımcı olarak yapılandırılmalıdır. distributor_admin parolası @password parametresiyle belirtilmelidir. Parola, DAĞ1 ve DAĞ2 için belirtilen parolayla aynı olmalıdır.

  2. Geçerli dağıtım veritabanı için AG'ye DIST3 ekleyin.

  3. DIST3'te şunu çalıştırın:

    EXEC sys.sp_adddistributiondb @database = 'distribution';
    
  4. DIST3'te, eğer replikaya ikincil olarak erişilip okunabiliyorsa, komutu çalıştırın:

    EXEC sys.sp_adddistpublisher @publisher = 'PUB', @distribution_db = 'distribution', @working_directory = '<network path>';
    

    Çoğaltma ikincil olarak okunamıyorsa, çoğaltma birincil olacak şekilde yük devretme gerçekleştirin ve ardından işlemi çalıştırın.

    EXEC sys.sp_adddistpublisher @publisher = 'PUB', @distribution_db = 'distribution', @working_directory = '<network path>';
    

    @working_directory değeri, DAĞ1 ve DAĞ2 için belirtilen değerle aynı olmalıdır.

  5. DIST3'te, abonelere Bağlı Sunucuları yeniden oluşturmanız gerekir.

Dağıtım veritabanı AG'den bir çoğaltmayı kaldırın.

Bu örnek, mevcut dağıtım veritabanı AG'sinden bir dağıtımcıyı kaldırır ve dağıtım veritabanı AG'sindeki diğer çoğaltmalar etkilenmez. Bu örnekte, bir dağıtım veritabanı AG'dedir. DIST1, DIST2 ve DIST3 dağıtımcılardır, distribution AG'deki dağıtım veritabanıdır ve PUB yayımcıdır. AG'den DIST3'i kaldırın.

Dağıtımcılar iş akışı

  1. DIST3'in distribution veritabanı AG için ikincil olduğundan emin olun.

  2. DIST3'i distribution veritabanı AG'sinden kaldırın.

  3. DIST3'te, kurtarma ile veritabanını geri yükleyerek distribution veritabanını read_write moduna değiştirin. Örneğin, aşağıdaki komutu çalıştırın:

    RESTORE DATABASE distribution WITH RECOVERY, KEEP_REPLICATION;
    
  4. DIST3'te başsız bırakılmış tüm işleri kaldırmak için şu komutu çalıştırın:

    EXEC sys.sp_dropdistpublisher @publisher = 'PUB', @no_checks = 1;
    
  5. DIST3'te şunu çalıştırın:

    EXEC sys.sp_dropdistributiondb @database = 'distribution', @former_ag_secondary = 1;
    
  6. DIST3'te şunu çalıştırın:

    EXEC sys.sp_dropdistributor;
    

Dağıtım veritabanı AG'sinden yayımcı kaldırma

Bu örnek, dağıtımcının geçerli dağıtım veritabanı AG'sinden yayımcı kaldırırken, bu dağıtım veritabanı AG tarafından sunulan yayımcıların geri kalanı etkilenmez. Bu örnekte, mevcut bir yapılandırma AG'de bir dağıtım veritabanına sahiptir. DIST1, DIST2 ve DIST3 dağıtımcılardır, distribution AG'deki dağıtım veritabanıdır ve PUB1 ve PUB2, distribution veritabanı tarafından sunulan yayımcılardır. Örnek, PUB1'i bu dağıtımcılardan kaldırır.

Yayımcı iş akışı

PUB1'de, bu yayımcının tüm aboneliklerini ve yayınlarını bırakın ve ardından sp_dropdistributorçağrısı yapın.

Dağıtımcı iş akışı

DIST1, distribution veritabanı AG'sinin mevcut birincilidir.

  1. DAĞ2 ve DAĞ3'te şunu çalıştırın:

    EXEC sys.sp_dropdistpublisher @publisher = 'PUB1',  @no_checks = 1;
    
  2. DIST1'de şunu çalıştırın:

    EXEC sys.sp_dropdistpublisher @publisher = 'PUB1';
    
  3. Bu noktada, DAĞ2 veya DAĞ3'te PUB1 ile ilgili sahipsiz işler olabilir. DAĞ2 ve DAĞ3'e yük devretme gerçekleştiğinde, PUB1'in tüm yayınlarıyla ilgili yalnız bırakılmış işler Monitor and sync replication agent jobs işi tarafından kaldırılır.

Abonelik ekleme

Bu örnek, dağıtımcılar arasında abone bilgilerini düzgün bir şekilde yapılandırma hakkındadır. Bu örnek bir abone ekler. DAĞ1, AG'deki dağıtım veritabanının geçerli birincil çoğaltması, DAĞ2 ve DAĞ3, AG'deki dağıtım veritabanının ikincil çoğaltmalarıdır. Abone adı SUB'dür.

Yayımcı iş akışı

PUB'da, abone SUB'a her zamanki gibi abonelik ekleyin.

Dağıtımcı iş akışı

DAĞ2 ve DAĞ3'te, daha önce DIST2 veya DIST3'e kayıt edilmediyse 'SUB' için bağlı bir sunucu ekleyin. Aşağıda bağlantılı sunucu oluşturmaya yönelik örnek bir TSQL verilmiştir -

EXEC master.dbo.sp_addlinkedserver@server =N'SUB', @srvproduct=N'SQL Server';
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin@rmtsrvname = N'SUB', @useself = N'True',@locallogin = NULL,@rmtuser =N ULL,@rmtpassword = NULL;

Çekme aboneliği ekleme

Abone iş akışı

AG'de dağıtım veritabanı olan bir yayına çekme aboneliği eklemek için sp_addpullsubscription_agent@distributor parametresindeki AG dinleyici adını kullanın.

Örnek T-SQL AG'de dağıtım veritabanı oluşturma

Aşağıdaki betik, kullanılabilirlik grubundaki bir dağıtım veritabanını etkinleştirir.

--- WorkFlow to Enable Distribution Database In AG.

-- SECTION 1 ---- CONFIGURE THE DISTRIBUTOR SERVERS

-- Step1 - Configure the Distribution DB nodes (AG Replicas) to act as a distributor
:Connect SQLNode1
EXEC [sys].[sp_adddistributor]
    @distributor = @@SERVERNAME,
    @password = 'Pass@word1';
GO
:Connect SQLNode2
EXEC [sys].[sp_adddistributor]
    @distributor = @@SERVERNAME,
    @password = 'Pass@word1';
GO

-- Step2 - Configure the Distribution Database
:Connect SQLNode1
USE [master];
EXEC [sys].[sp_adddistributiondb]
    @database = 'DistributionDB',
    @security_mode = 1;
GO
ALTER DATABASE [DistributionDB] SET RECOVERY FULL;
GO
BACKUP DATABASE [DistributionDB] TO DISK = 'NUL';
GO
-- Step 3 - Create AG for the Distribution DB.
:Connect SQLNode1
USE [master];
GO
CREATE ENDPOINT [Hadr_endpoint]
    STATE = STARTED
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
    FOR DATA_MIRRORING (
        ROLE = ALL,
        AUTHENTICATION = WINDOWS NEGOTIATE,
        ENCRYPTION = REQUIRED ALGORITHM AES
    );
GO

:Connect SQLNode2
USE [master];
GO
CREATE ENDPOINT [Hadr_endpoint]
    STATE = STARTED
    AS TCP (LISTENER_PORT = 5022, LISTENER_IP = ALL)
    FOR DATA_MIRRORING (
        ROLE = ALL,
        AUTHENTICATION = WINDOWS NEGOTIATE,
        ENCRYPTION = REQUIRED ALGORITHM AES
    );
GO

:Connect SQLNode1
-- Create the Availability Group
CREATE AVAILABILITY GROUP [DistributionDB_AG]
FOR DATABASE [DistributionDB]
REPLICA ON
N'SQLNode1' WITH (ENDPOINT_URL = N'TCP://SQLNode1.contoso.com:5022', 
	 FAILOVER_MODE = AUTOMATIC, 
	 AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, 
	 BACKUP_PRIORITY = 50, 
	 SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL), 
	 SEEDING_MODE = AUTOMATIC),
N'SQLNode2' WITH (ENDPOINT_URL = N'TCP://SQLNode2.contoso.com:5022', 
	 FAILOVER_MODE = AUTOMATIC, 
	 AVAILABILITY_MODE = SYNCHRONOUS_COMMIT, 
	 BACKUP_PRIORITY = 50, 
	 SECONDARY_ROLE(ALLOW_CONNECTIONS = ALL), 
	 SEEDING_MODE = AUTOMATIC);
GO


:Connect SQLNode2
ALTER AVAILABILITY GROUP [DistributionDB_AG] JOIN;
GO  
ALTER AVAILABILITY GROUP [DistributionDB_AG] GRANT CREATE ANY DATABASE;
GO

--STEP4 - Create the Listener for the Availability Group. This is very important.
:Connect SQLNode1

USE [master]
GO
ALTER AVAILABILITY GROUP [DistributionDB_AG]
ADD LISTENER N'DistributionDBList' (
WITH IP
((N'10.0.0.8', N'255.255.255.0')) , PORT=1500);
GO

-- STEP 5 - Enable SQLNode2 also as a Distributor
:Connect SQLNode2
EXEC sys.sp_adddistributiondb @database = 'DistributionDB', @security_mode = 1;
GO

--STEP 6 - On all Distributor Nodes Configure the Publisher Details 
:Connect SQLNode1
EXEC sys.sp_adddistpublisher @publisher = 'SQLNode4', @distribution_db = 'DistributionDB', 
	@working_directory = '\\sqlfileshare\Dist_Work_Directory\';
GO
:Connect SQLNode2
EXEC sys.sp_adddistpublisher @publisher = 'SQLNode4', @distribution_db = 'DistributionDB', 
	@working_directory = '\\sqlfileshare\Dist_Work_Directory\';
GO

-- SECTION 2 ---- CONFIGURE THE PUBLISHER SERVER
:Connect SQLNode4
EXEC sys.sp_adddistributor @distributor = 'DistributionDBList', -- Listener for the Distribution DB.	
	@password = 'Pass@word1';
GO

-- SECTION 3 ---- CONFIGURE THE SUBSCRIBERS 
-- On Publisher, create the publication as one would normally do.
-- On the Secondary replicas of the Distribution DB, add the Subscriber as a linked server.
:Connect SQLNode2
EXEC master.dbo.sp_addlinkedserver @server = N'SQLNODE5', @srvproduct = N'SQL Server';
/* For security reasons the linked server remote logins password is changed with ######## */
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname = N'SQLNODE5', @useself = N'True',
	@locallogin = NULL,@rmtuser = NULL,@rmtpassword = NULL;