ਏਜੰਟ ਦੀ ਥਾਂ, ਡੇਟਾ ਦੀ ਥਾਂ ਨਹੀਂ, ਉਹ ਫੈਸਲਾ ਹੈ ਜੋ SQL Server ਸਦਸਿਆਪਣ ਨੂੰ ਆਕਾਰ ਦਿੰਦਾ ਹੈ। ਏਜੰਟ ਚਲਾਉਣ ਵਾਲੀ ਮਸ਼ੀਨ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹਦੀ ਹੈ, ਖਾਸ ਖਾਤੇ ਹੇਠ ਕੰਮ ਕਰਦੀ ਹੈ ਅਤੇ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਰੁਕਣ ’ਤੇ ਦੋਸ਼ ਆਪਣੇ ਸਿਰ ਲੈਂਦੀ ਹੈ। ਸਾਈਟ-ਤੋਂ-ਸਾਈਟ VPN ਉੱਤੇ ਉਹ ਫ਼ਰਕ ਹੀ ਡਿਜ਼ਾਈਨ ਹੈ, ਤਫ਼ਸੀਲ ਨਹੀਂ। ਨੈੱਟਵਰਕ ਖਿੱਚਣ ਤੋਂ ਪਹਿਲਾਂ ਏਜੰਟ ਦੇ ਕਨੈਕਸ਼ਨ ਖਿੱਚੋ।

ਤਿੰਨ ਭੂਮਿਕਾਵਾਂ, ਦੋ ਨਹੀਂ

Publisher ਲੇਖ ਦੇ ਡੇਟਾ ਦਾ ਮਾਲਕ ਹੈ, Distributor ਵੰਡ ਡੇਟਾਬੇਸ ਦਾ ਮਾਲਕ ਹੈ, ਅਤੇ Subscriber ਤਬਦੀਲੀਆਂ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। Log Reader Agent ਲੈਣ-ਦੇਣ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਲਈ Distributor ’ਤੇ ਚੱਲਦਾ ਹੈ। Distribution Agent ਉਹ ਹੈ ਜਿਸਦੀ ਥਾਂ ਸਦਸਿਆਪਣ ਕਿਸਮ ਨਾਲ ਬਦਲਦੀ ਹੈ, ਅਤੇ ਇਸੇ ਲਈ ਉਹ ਨੈੱਟਵਰਕ ਡਿਜ਼ਾਈਨ ਤੈ ਕਰਦਾ ਹੈ। VPN ਨਿਯਮਾਂ ਬਾਰੇ ਬੋਲਣ ਤੋਂ ਪਹਿਲਾਂ ਇਹ ਭੂਮਿਕਾਵਾਂ ਸਾਫ਼ ਕਰੋ।

push ਸਦਸਿਆਪਣ Distribution Agent ਨੂੰ Distributor ’ਤੇ ਚਲਾਉਂਦੀ ਹੈ, ਅਤੇ pull ਸਦਸਿਆਪਣ ਇਸ ਨੂੰ Subscriber ’ਤੇ ਚਲਾਉਂਦੀ ਹੈ, ਜਿਵੇਂ Microsoft ਦਾ ਸਦਸਿਆਪਣ ਦਸਤਾਵੇਜ਼ ਕਹਿੰਦਾ ਹੈ। ਨੈੱਟਵਰਕ ਗੱਲਬਾਤ ਦਾ ਸਭ ਕੁਝ ਇਸ ਤੋਂ ਨਿਕਲਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਮਸ਼ੀਨ ਹੈ। ਹਰ ਸਦਸਿਆਪਣ ਲਈ ਚਾਰ ਤੱਥ ਲਿਖੋ: ਏਜੰਟ ਦਾ ਹੋਸਟ, ਉਸਦੀ ਪ੍ਰਕਿਰਿਆ ਪਛਾਣ, ਵਰਤੇ ਜਾਣ ਵਾਲੇ ਡੇਟਾਬੇਸ ਲੌਗਿਨ ਅਤੇ ਉਹ ਸਰੋਤ ਜਿੰਨ੍ਹਾਂ ਤੱਕ ਪਹੁੰਚਣਾ ਹੈ। ਡਾਇਗ੍ਰਾਮ ਦਾ ਤੀਰ ਨਹੀਂ, ਇਹ ਤੱਥ ਦਸਦੇ ਹਨ ਕਿ ਕਿਹੜੀ ਦਿਸ਼ਾ ਕੰਮ ਕਰਨੀ ਚਾਹੀਦੀ ਹੈ।

push ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਏਜੰਟ Distributor ’ਤੇ ਰਹਿੰਦਾ ਹੈ

push ਸਦਸਿਆਪਣ ਵਿੱਚ Distributor VPN ਰਾਹੀਂ Subscriber ਵੱਲ ਕਨੈਕਸ਼ਨ ਖੋਲ੍ਹਦਾ ਹੈ। ਗਾਹਕ ਪਾਸੇ ਦੇ ਸਰੋਤੇ, firewall ਅਤੇ SQL ਲੌਗਿਨ ਨੂੰ ਦੂਰ ਪਾਸਿਓਂ ਆਉਣ ਵਾਲੇ ਕਨੈਕਸ਼ਨ ਸਵੀਕਾਰ ਕਰਨੇ ਪੈਣਗੇ। Distributor ਦੇ ਸੇਵਾ ਖਾਤੇ ਨੂੰ ਵੀ ਗਾਹਕ ਡੇਟਾਬੇਸ ’ਤੇ ਇਜਾਜ਼ਤ ਚਾਹੀਦੀ ਹੈ। ਸਦਸਿਆਪਣ ਬਣਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਇਸ ਆਉਣ ਵਾਲੇ ਰਾਹ ਦੀ ਯੋਜਨਾ ਬਣਾਓ, ਕਿਉਂਕਿ ਬਾਅਦ ਵਿੱਚ ਇਸਨੂੰ ਲੱਭਣਾ ਆਮ ਤੌਰ ’ਤੇ ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਹੁੰਦਾ ਹੈ।

ਸਨੈਪਸ਼ਾਟ ਡਿਲੀਵਰੀ ਇੱਕ ਅਜਿਹਾ ਰਾਹ ਜੋੜਦੀ ਹੈ ਜੋ ਸਥਿਰ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਕਦੇ ਨਹੀਂ ਵਰਤਦੀ। ਜੇ ਸਨੈਪਸ਼ਾਟ ਫਾਈਲ ਸ਼ੇਅਰ ’ਤੇ ਰੱਖਿਆ ਹੈ, ਤਾਂ Distribution Agent ਉਸ ਸ਼ੇਅਰ ਤੋਂ ਪੜ੍ਹਦਾ ਹੈ ਅਤੇ ਗਾਹਕ ਦੇ ਖਾਤੇ ਨੂੰ ਉਸੇ UNC ਰਾਹ ਤੱਕ ਪਹੁੰਚਣਾ ਹੈ। ਹਫ਼ਤਿਆਂ ਤੱਕ ਚੱਲਣ ਵਾਲਾ ਤਬਦੀਲੀ ਪ੍ਰਵਾਹ ਇਸ ਬਾਰੇ ਕੁਝ ਨਹੀਂ ਕਹਿੰਦਾ ਕਿ ਮੁੜ ਸ਼ੁਰੂਆਤ ਕੰਮ ਕਰੇਗੀ ਜਾਂ ਨਹੀਂ। ਇਸੇ ਲਈ ਸਨੈਪਸ਼ਾਟ ਸ਼ੇਅਰ ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਯੋਜਨਾ ਵਿੱਚ ਹੈ।

push ਨੂੰ ਇੱਕ-ਤਰਫ਼ਾ ਟ੍ਰੈਫ਼ਿਕ ਵਜੋਂ ਨਾ ਪੜ੍ਹੋ। ਏਜੰਟ ਨੂੰ ਜਵਾਬ, ਪੁਸ਼ਟੀਆਂ ਅਤੇ ਆਪਣੇ ਪ੍ਰਮਾਣੀਕਰਨ ਦੇ ਆਦਾਨ-ਪ੍ਰਦਾਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ। ਡੇਟਾ ਇੱਕ ਦਿਸ਼ਾ ਵਿੱਚ ਤੁਰਦੇ ਹੋਏ ਵੀ ਰਾਹ ਨੂੰ ਕਨੈਕਸ਼ਨ ਪੱਧਰ ’ਤੇ ਦੋ-ਤਰਫ਼ਾ ਹੋਣਾ ਚਾਹੀਦਾ ਹੈ।

pull ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਏਜੰਟ Subscriber ’ਤੇ ਰਹਿੰਦਾ ਹੈ

pull ਸਦਸਿਆਪਣ ਕਨੈਕਸ਼ਨ ਪਲਟ ਦਿੰਦੀ ਹੈ: Subscriber ਆਪ Distribution Agent ਚਲਾਉਂਦਾ ਹੈ ਅਤੇ Distributor ਵੱਲ ਪਹੁੰਚਦਾ ਹੈ। ਇਹ ਬੰਦੋਬਸਤ ਉਸ VPN ਨੀਤੀ ਨਾਲ ਮੇਲ ਖਾਂਦੀ ਹੈ ਜੋ ਸ਼ਾਖਾ ਤੋਂ ਬਾਹਰ ਜਾਣ ਵਾਲੇ ਕਨੈਕਸ਼ਨਾਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ ਅਤੇ ਅੰਦਰ ਆਉਣ ਵਾਲੇ ਰੋਕਦੀ ਹੈ। ਇਹ ਤਹਿ ਦਾ ਫੈਸਲਾ ਵੀ ਸ਼ਾਖਾ ਸਰਵਰ ਸੰਭਾਲਣ ਵਾਲੇ ਦੇ ਹੱਥ ਵਿੱਚ ਰੱਖਦੀ ਹੈ। ਇਸਨੂੰ ਤਦ ਚੁਣੋ ਜਦੋਂ ਸ਼ਾਖਾ ਟੀਮ ਨੂੰ ਆਪਣਾ ਸਿੰਕ੍ਰੋਨਾਈਜ਼ੇਸ਼ਨ ਰੱਖਣਾ ਹੋਵੇ ਅਤੇ ਆਪਣੀਆਂ ਅਸਫਲਤਾਵਾਂ ਵੇਖਣੀਆਂ ਹੋਣ।

ਗਾਹਕ ਦੇ SQL Server Agent ਸੇਵਾ ਖਾਤੇ ਨੂੰ ਵੰਡ ਡੇਟਾਬੇਸ ਅਤੇ ਸਨੈਪਸ਼ਾਟ ਸ਼ੇਅਰ ’ਤੇ ਪੜ੍ਹਨ ਦੀ ਪਹੁੰਚ ਚਾਹੀਦੀ ਹੈ। ਉਹ ਖਾਤਾ ਹੀ ਉਹ ਪਛਾਣ ਹੈ ਜੋ ਪ੍ਰਤੀਕ੍ਰਿਤੀ ਗਲਤੀਆਂ ਵਿੱਚ ਦਿਸਦੀ ਹੈ, ਅਤੇ ਡੋਮੇਨ ਅਧਿਕਾਰਾਂ ਤੋਂ ਬਿਨਾਂ ਸਥਾਨਕ ਸੇਵਾ ਖਾਤਾ ਉਸ ਥਾਂ ਅਸਫਲ ਹੁੰਦਾ ਹੈ ਜੋ ਨੈੱਟਵਰਕ ਖਰਾਬੀ ਵਰਗੀ ਲੱਗਦੀ ਹੈ ਪਰ ਅਸਲ ਵਿੱਚ ਪ੍ਰਮਾਣ-ਪੱਤਰ ਖਰਾਬੀ ਹੈ। ਸੁਰੰਗ ਡੀਬੱਗ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਖਾਤਾ ਜਾਂਚੋ। ਲੌਗਿਨ ਠੀਕ ਕਰਨਾ ਆਮ ਤੌਰ ’ਤੇ ਨੈੱਟਵਰਕ ਦੀ ਬੇਗੁਨਾਹੀ ਸਾਬਤ ਕਰਨ ਨਾਲੋਂ ਤੇਜ਼ ਹੁੰਦਾ ਹੈ।

ਮਾਲਕੀ ਏਜੰਟ ਦੇ ਮਗਰ ਚੱਲਦੀ ਹੈ। ਜਦੋਂ ਕੇਂਦਰੀ ਟੀਮ ਨੂੰ ਤਹਿ ਅਤੇ ਅਸਫਲਤਾ ਦੋਵੇਂ ਰੱਖਣੀਆਂ ਹੋਣ ਤਾਂ push ਚੁਣੋ। ਜੋ ਵੀ ਚੁਣੋ, ਇਸਨੂੰ ਸਦਸਿਆਪਣ ਦੇ ਕੋਲ ਲਿਖੋ ਤਾਂ ਜੋ ਅਗਲਾ ਇੰਜੀਨੀਅਰ ਜਾਣ ਸਕੇ ਕਿ ਪਹਿਲਾਂ ਕਿੱਥੇ ਵੇਖਣਾ ਹੈ।

ਮੁੜ-ਪ੍ਰਕਾਸ਼ਨ ਫੈਲਾਅ ਬਦਲਦਾ ਹੈ, ਮਾਲਕੀ ਨਹੀਂ

ਗਾਹਕ ਨੂੰ ਹੋਰ ਗਾਹਕਾਂ ਕੋਲ ਮੁੜ-ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਨ ਲਈ ਸੰਰਚਿਤ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਇੱਕ ਸ਼ਾਖਾ ਡੇਟਾਬੇਸ ਕਈ ਸਥਾਨਕ ਖਪਤਕਾਰਾਂ ਦੀ ਸੇਵਾ ਕਰ ਸਕਦਾ ਹੈ ਅਤੇ ਹਰ ਇੱਕ ਨੂੰ WAN ਰਾਹੀਂ ਖਿੱਚਣ ਦੀ ਲੋੜ ਨਹੀਂ ਪੈਂਦੀ। ਵਿਚਕਾਰਲਾ ਡੇਟਾਬੇਸ ਹੁਣ ਇੱਕ ਪ੍ਰਕਾਸ਼ਨ ਅਤੇ ਆਪਣੇ ਏਜੰਟ ਰੱਖਦਾ ਹੈ। ਇਹ ਉਹ ਇਜਾਜ਼ਤਾਂ, ਨਿਗਰਾਨੀ ਅਤੇ ਰਿਕਵਰੀ ਯੋਜਨਾ ਵੀ ਵਿਰਾਸਤ ਵਿੱਚ ਲੈਂਦਾ ਹੈ ਜੋ ਪਹਿਲਾਂ ਨਹੀਂ ਸਨ। ਉਹ ਵਾਧੂ ਭੂਮਿਕਾ ਵਾਰ-ਵਾਰ ਹੋਣ ਵਾਲੀ WAN ਡਿਲੀਵਰੀ ਹਟਾਉਣ ਦੀ ਕੀਮਤ ਹੈ।

ਦਸਤਾਵੇਜ਼ੀ ਕ੍ਰਮ ਮਾਇਨੇ ਰੱਖਦਾ ਹੈ: ਹੇਠਲੇ ਪ੍ਰਕਾਸ਼ਨ ਤੋਂ ਪਹਿਲਾਂ ਆਉਣ ਵਾਲੀ ਸਦਸਿਆਪਣ ਸ਼ੁਰੂ ਕਰੋ। ਇਸਨੂੰ ਛੱਡਣ ਯੋਗ ਕਾਗਜ਼ੀ ਕੰਮ ਨਹੀਂ, ਸਗੋਂ ਜਾਂਚ ਸਮੇਤ ਜੀਵਨ-ਚੱਕਰ ਦਾ ਕਦਮ ਮੰਨੋ। ਇਸਨੂੰ ਉਲਟਾਉਣ ਨਾਲ ਅਜਿਹੀ ਲੜੀ ਬਣਦੀ ਹੈ ਜੋ ਸੰਰਚਿਤ ਦਿਸਦੀ ਹੈ ਪਰ ਕੁਝ ਨਹੀਂ ਪਹੁੰਚਾਉਂਦੀ।

ਲਿਖਣ ਮਾਡਲ ਸਪਸ਼ਟ ਦੱਸੋ। ਸਿਰਫ਼-ਪੜ੍ਹਨ ਵਾਲਾ ਡੇਟਾਸੈਟ ਸਥਾਨਕ ਖਪਤਕਾਰ ਤੱਕ ਪ੍ਰਤੀਕ੍ਰਿਤ ਕਰਨਾ ਕਈ ਸਾਈਟਾਂ ’ਤੇ ਲਿਖਤਾਂ ਸਵੀਕਾਰ ਕਰਨ ਨਾਲੋਂ ਵੱਖਰਾ ਡਿਜ਼ਾਈਨ ਹੈ, ਅਤੇ ਤੀਰਾਂ ਦੀ ਲੜੀ ਟਕਰਾਅ ਹੱਲ ਨਹੀਂ ਬਣਾਉਂਦੀ। ਜੇ ਸ਼ਾਖਾ ਨੂੰ ਲਿਖਣਾ ਪਵੇ, ਇਹ ਆਪਣੀ ਟੋਪੋਲੋਜੀ ਵਾਲਾ ਵੱਖਰਾ ਫੈਸਲਾ ਹੈ। ਨਿਰਭਰਤਾ ਵੀ ਦਿਸਣ ਯੋਗ ਬਣਾਓ: ਜਦੋਂ ਮੁੜ-ਪ੍ਰਕਾਸ਼ਕ ਬੰਦ ਹੋਵੇ, ਉਸ ਹੇਠਲਾ ਹਰ ਖਪਤਕਾਰ ਪੁਰਾਣਾ ਹੁੰਦਾ ਹੈ।

ਥਾਂ ਨੂੰ ਸ਼ੁਰੂ ਤੋਂ ਅੰਤ ਤੱਕ ਸਾਬਤ ਕਰੋ

ਯਾਦ ’ਤੇ ਭਰੋਸਾ ਕਰਨ ਦੀ ਥਾਂ ਵੰਡ ਡੇਟਾਬੇਸ ਤੋਂ ਸਦਸਿਆਪਣ ਦੀ ਕਿਸਮ ਪੜ੍ਹੋ, ਫਿਰ ਜਾਂਚੋ ਕਿ ਤਬਦੀਲੀਆਂ ਸੱਚਮੁੱਚ ਪਹੁੰਚਦੀਆਂ ਹਨ:

USE distribution;
SELECT publication, subscriber_db, subscription_type
FROM dbo.MSsubscriptions;
EXEC sp_replmonitorsubscriptionpendingcmds
  @publisher = 'PUB1', @publisher_db = 'Sales',
  @publication = 'SalesPub', @subscriber = 'BR1',
  @subscriber_db = 'Sales';

subscription_type ਦਾ ਮੁੱਲ 0 ਹੋਵੇ ਤਾਂ push ਅਤੇ 1 ਹੋਵੇ ਤਾਂ pull ਹੈ, ਅਤੇ ਇਸਨੂੰ ਥਾਂ ’ਤੇ ਬਦਲਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ, ਇਸ ਲਈ ਨਾ-ਮਿਲਣ ਦਾ ਮਤਲਬ ਸਦਸਿਆਪਣ ਸੋਧਣਾ ਨਹੀਂ, ਦੁਬਾਰਾ ਬਣਾਉਣਾ ਹੈ। ਬਕਾਇਆ ਹੁਕਮਾਂ ਦੀ ਕਾਲ ਤੁਹਾਨੂੰ ਦੱਸਦੀ ਹੈ ਕਿ ਚੁਣਿਆ ਏਜੰਟ ਕੰਮ ਹਿਲਾ ਰਿਹਾ ਹੈ ਜਾਂ ਸਿਰਫ਼ ਚੱਲ ਰਿਹਾ ਹੈ। ਜੋ ਸਦਸਿਆਪਣ ਜ਼ੀਰੋ ਬਕਾਇਆ ਹੁਕਮ ਦੱਸਦੀ ਹੈ ਜਦਕਿ ਗਾਹਕ ਟੇਬਲ ਖਾਲੀ ਰਹਿੰਦੀ ਹੈ, ਉਹ ਵਧਦੇ ਬੈਕਲਾਗ ਦੱਸਣ ਵਾਲੀ ਸਦਸਿਆਪਣ ਨਾਲੋਂ ਵੱਖਰੀ ਖਰਾਬੀ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਵੱਖਰੇ ਮਾਲਕਾਂ ਵੱਲ ਲੈ ਜਾਂਦੀਆਂ ਹਨ।

ਅਸਲ ਤਬਦੀਲੀ ਨਾਲ ਹਟੋ: Publisher ’ਤੇ ਇੱਕ ਕਤਾਰ ਪਾਓ ਜਾਂ ਅੱਪਡੇਟ ਕਰੋ, ਏਜੰਟ ਦੀ ਰਿਪੋਰਟ ਦੀ ਉਡੀਕ ਕਰੋ ਅਤੇ ਉਹ ਕਤਾਰ Subscriber ’ਤੇ ਪੜ੍ਹੋ। ਏਜੰਟ ਕਿਵੇਂ ਸੁਧਰਦਾ ਹੈ ਵੇਖਣ ਲਈ ਛੋਟੇ VPN ਵਿਘਨ ਦੌਰਾਨ ਇਹ ਇੱਕ ਵਾਰ ਹੋਰ ਕਰੋ। ਜੋ ਸਦਸਿਆਪਣ ਉਹ ਪਰਖ ਪਾਰ ਕਰਦੀ ਹੈ, ਉਸਦੀ ਥਾਂ ਉਹ ਹੈ ਜਿਸਨੂੰ ਤੁਸੀਂ ਦਸਤਾਵੇਜ਼ੀ ਬਣਾ ਅਤੇ ਬਚਾ ਸਕਦੇ ਹੋ।

ਸੰਬੰਧਿਤ ਲੇਖ