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

ਕਲਾਇੰਟ ਤੋਂ ਨਹੀਂ, ਸਟਾਰਟਅਪ ਲੌਗ ਤੋਂ ਸ਼ੁਰੂ ਕਰੋ

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

Get-NetIPAddress -AddressFamily IPv4 | Select-Object InterfaceAlias, IPAddress, PrefixOrigin
Get-Content 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\LOG\ERRORLOG' -Tail 40

ਇੰਸਟੈਂਸ ਦਾ ਰਾਹ ਆਪਣੀ ਇੰਸਟਾਲੇਸ਼ਨ ਅਨੁਸਾਰ ਢਾਲੋ, ਅਤੇ ਸਿੱਟੇ ਕੱਢਣ ਤੋਂ ਪਹਿਲਾਂ ਇੰਟਰਫ਼ੇਸ਼ ਸੂਚੀ ਪੜ੍ਹੋ। ਮੌਜੂਦ ਪਰ ਗਲਤ ਅਡਾਪਟਰ ਦਾ ਪਤਾ ਅਜੇ ਨਾ ਹੋਣ ਵਾਲੇ ਪਤੇ ਨਾਲੋਂ ਵੱਖਰੀ ਸਮੱਸਿਆ ਹੈ।

ਇੰਜਣ ਅਸਲ ਵਿੱਚ ਜਿਹੜਾ ਬੰਨ੍ਹਣ ਕ੍ਰਮ ਅਪਣਾਉਂਦਾ ਹੈ ਉਸ ’ਤੇ ਚੱਲੋ

ਇੰਜਣ ਆਪਣਾ ਸੁਣਨ ਵਾਲਾ ਸੰਰਚਨਾ ਪੜ੍ਹਦਾ ਹੈ, ਫਿਰ ਓਪਰੇਟਿੰਗ ਸਿਸਟਮ ਨੂੰ ਬੰਨ੍ਹਣ ਲਈ ਕਹਿੰਦਾ ਹੈ। ਜੇ ਉਸ ਪਲ ਪਤਾ ਸਥਾਨਕ ਨਹੀਂ ਹੈ, ਤਾਂ ਉਸ ਪਤੇ ਲਈ ਬੰਨ੍ਹਣ ਅਸਫਲ ਹੁੰਦਾ ਹੈ ਜਦੋਂ ਕਿ ਬਾਕੀ ਇੰਸਟੈਂਸ ਆਮ ਤਰ੍ਹਾਂ ਜਾਰੀ ਰਹਿ ਸਕਦਾ ਹੈ। ਇਸੇ ਲਈ ਹੋਰ ਪ੍ਰੋਟੋਕੋਲ ਜਾਂ ਹੋਰ ਪਤੇ ਅਜੇ ਵੀ ਕੰਮ ਕਰ ਸਕਦੇ ਹਨ, ਅਤੇ ਇਸੇ ਲਈ „SQL Server ਡਾਊਨ ਹੈ“ ਗਲਤ ਸਾਰ ਹੈ। ਲੌਗ ਤੋਂ ਸਹੀ ਅੰਤਿਮ ਬਿੰਦੂ ਸੰਭਾਲੋ: ਪਤਾ, ਪੋਰਟ ਅਤੇ ਪ੍ਰੋਟੋਕੋਲ, ਕਿਉਂਕਿ ਸੁਧਾਰ ਇਸ ’ਤੇ ਨਿਰਭਰ ਕਰਦਾ ਹੈ ਕਿ ਤਿੰਨਾਂ ਵਿੱਚੋਂ ਕਿਹੜਾ ਗਲਤ ਹੈ।

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

ਸੁਣਨ ਵਾਲੇ ਨੂੰ ਉਸੇ ਤਰ੍ਹਾਂ ਪੜ੍ਹੋ ਜਿਵੇਂ ਇੰਜਣ ਪੜ੍ਹਦਾ ਹੈ

SQL Server Configuration Manager ਵਿੱਚ ਇੰਸਟੈਂਸ ਦੇ TCP/IP ਗੁਣ ਖੋਲ੍ਹੋ ਅਤੇ ਵੱਖਰੇ ਪਤੇ ਸੋਧਣ ਤੋਂ ਪਹਿਲਾਂ Listen All ਸੈਟਿੰਗ ਵੱਲ ਧਿਆਨ ਦਿਓ। ਜਦੋਂ Listen All Yes ਹੁੰਦਾ ਹੈ, ਹਰ ਪਤੇ ਦੇ Enabled ਮੁੱਲ ਅਣਡਿੱਠੇ ਹੁੰਦੇ ਹਨ, ਇਸ ਲਈ ਉਹਨਾਂ ਨੂੰ ਸੋਧਣ ਨਾਲ ਸੁਣਨ ਵਾਲੇ ਦੀ ਵਰਤੋਂ ਵਿੱਚ ਕੁਝ ਨਹੀਂ ਬਦਲਦਾ। ਕ੍ਰਮ ਵਿੱਚ ਤਿੰਨ ਚੀਜ਼ਾਂ ਲਿਖੋ: ਜਿਸ ਪਤੇ ਦੀ ਸੇਵਾ ਕਰਨੀ ਹੈ, ਪੋਰਟ, ਅਤੇ ਕੀ ਸੁਣਨ ਵਾਲੇ ਨੇ ਸਾਰੇ ਪਤੇ ਜਾਂ ਸਿਰਫ਼ ਇੱਕ ਢਕਣਾ ਹੈ। ਫਿਰ ਸਮਰਥਿਤ ਰੀਸਟਾਰਟ ਪ੍ਰਕਿਰਿਆ ਰਾਹੀਂ ਬਦਲਾਅ ਲਾਗੂ ਕਰੋ ਅਤੇ ਅਗਲਾ ਸਟਾਰਟਅਪ ਲੌਗ ਪੜ੍ਹ ਕੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਇੰਜਣ ਨੇ ਤੁਹਾਡੀ ਮੰਗ ਅਨੁਸਾਰ ਬੰਨ੍ਹਿਆ ਹੈ।

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

ਕਲਾਇੰਟ ਨੂੰ ਸਥਿਰ ਮੰਜ਼ਿਲ ਦਿਓ

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

Test-NetConnection -ComputerName 10.80.0.15 -Port 1433
tracert -d 10.80.0.15

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

ਕਲਾਇੰਟ ਵੱਲੋਂ ਵਰਤਿਆ ਅੰਤਿਮ ਬਿੰਦੂ ਪਰਖੋ

ਪੋਰਟ ਟੈਸਟ ਦੀ ਥਾਂ ਐਪਲੀਕੇਸ਼ਨ-ਪੱਧਰੀ ਜਾਂਚ ਨਾਲ ਖਤਮ ਕਰੋ। ਐਪਲੀਕੇਸ਼ਨ ਜੋ ਖਾਤਾ ਵਰਤਦਾ ਹੈ ਉਸ ਨਾਲ ਕਲਾਇੰਟ ਤੋਂ ਜੁੜੋ ਅਤੇ ਸਰਵਰ-ਪਾਸੇ ਦੇ ਕੁਨੈਕਸ਼ਨ ਵੇਰਵੇ ਪੜ੍ਹੋ, ਜੋ ਦਿਖਾਉਂਦੇ ਹਨ ਕਿ ਤੁਹਾਡਾ ਸੈਸ਼ਨ ਕਿਹੜੇ ਸਥਾਨਕ ਪਤੇ ’ਤੇ ਉਤਰਿਆ।

sqlcmd -S tcp:10.80.0.15,1433 -Q "SELECT local_net_address, local_tcp_port FROM sys.dm_exec_connections WHERE session_id = @@SPID"

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

ਸੰਬੰਧਿਤ ਲੇਖ