SQL Repository
  • Home
  • Articles
    • MS SQL DBA
    • SSIS
    • SSRS
    • T-SQL
  • Code Snippets
    • MS SQL DBA
    • SSIS
    • SSRS
    • T-SQL
  • Interview Questions
    • MS SQL DBA
    • SSIS
    • SSRS
    • T-SQL
  • How To
    • MS SQL DBA
    • SSIS
    • SSRS
    • T-SQL
  • Contact





PING all the Linked Servers and get a status report

On 03 Jun, 2015
MS SQL DBA
By : Charith Silva
No Comments
Views : 5318

 

As a DBA it’s handy to have a script to PING all the Link servers and get a report to examine the connectivity. Following T-SQL script will ping all the preconfigured linked servers and get the packets sent, received and lost details.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
DECLARE @SQL NVARCHAR(MAX);
IF OBJECT_ID('tempdb..#Ping_Results') IS NOT NULL
DROP TABLE #Ping_Results
CREATE TABLE #Ping_Results
(
[Server_Name] NVARCHAR(128),
[PING_Results] NVARCHAR(4000),
)
 
 
DECLARE #servers CURSOR FOR
SELECT DISTINCT  [Linked_Server_Name]
FROM
(
SELECT SUBSTRING(name,0,CHARINDEX('\',name)) AS [Linked_Server_Name]
FROM master.sys.servers
WHERE name like '%\%'
 
UNION
 
SELECT name
FROM master.sys.servers
WHERE name NOT like '%\%'
)LinkedServers
 
DECLARE @LinkedServerName varchar(128)
OPEN #servers
FETCH #servers INTO @LinkedServerName
WHILE @@FETCH_STATUS = 0
BEGIN
 
SELECT @SQL = 'declare @results table(result varchar(4000));'
SELECT @SQL = @SQL +' insert into @results'
SELECT @SQL = @SQL +' EXEC master.dbo.xp_cmdshell ''ping '+@LinkedServerName+''''
SELECT @SQL = @SQL +' INSERT INTO #Ping_Results([Server_Name],[PING_Results])'
SELECT @SQL = @SQL +' select '''+@LinkedServerName+''',result  from @results WHERE result LIKE ''%Packets: Sent%'''
 
 
PRINT @SQL
EXEC(@SQL)
FETCH #servers INTO @LinkedServerName
END
CLOSE #servers
DEALLOCATE #servers
SELECT [Server_Name],[PING_Results],
CASE
WHEN [PING_Results] LIKE '%Lost = 0 (0% loss)%' THEN 'Ping Succeeded'
ELSE 'Failed'
END AS [Status]
FROM #Ping_Results
ORDER BY [Server_Name]
DROP TABLE #Ping_Results

 

 

Share this:

  • Click to share on Twitter (Opens in new window)
  • Click to share on Facebook (Opens in new window)
  • Click to share on Google+ (Opens in new window)

Related



Previous Post Next Post 

About The Author

Charith Silva

Charith Silva is a Microsoft certified SQL Server developer and database administrator who was graduated at Buckinghamshire New university in the UK. His career was started in 1998, primarily into Web application development, and later diversified into database development. He has got a vast experience in SQL Server database development, Database administration and Business Intelligence development. He believes that sharing the knowledge is key to the success.


Number of Posts : 87
All Posts by : Charith Silva

Leave a Comment

Click here to cancel reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">





  • Popular
  • Recent
  • Database stuck in “Restoring” state

    19580 views
  • Find the modified date of SQL Server Agents Jobs

    10623 views
  • Script to Check TempDB Speed

    5652 views
  • PING all the Linked Servers and get a status report

    5318 views
  • Log shipping Alerts failing to send emails

    5046 views
  • Moving the tempdb database

    27 Jan, 2016
  • Script to Check TempDB Speed

    14 Jan, 2016
  • SQL Server buffer pool

    05 Nov, 2015
  • Log shipping Alerts failing to send emails

    04 Nov, 2015
  • View queries waiting for memory grant

    21 Oct, 2015

Useful links

  • Books Online for SQL Server 2012
  • Developer Reference for SQL Server 2014
  • Download SQL Server
  • Installation for SQL Server 2012
  • Microsoft Virtual Academy
  • SQL Server Online Training
  • Transact-SQL Reference
  • Tutorials for SQL Server 2012

Tags

.CSV 70-461 AdventureWorks 2012 ALL ANY CAST Chinook Database Code Snippet CONVERT CTE dataset datasource Dates DATETIME divide by zero Duplicates Exam EXCEPT expressions FORMAT IF Import Indexes INTERSECT Jobs NULLIF REBUILD Recursive CTE REORGANIZE ROW_NUMBER() Schedules Sequence SOME sp_stop_job SQL Server 2012 SQL Server Agent SSIS SSRS T-SQL Tally Table T_SQL UAC Permissions Error UNION UNION ALL

Recent Comments

  • Rudnei Silva on Log shipping Alerts failing to send emails
  • johnson Welch on Database stuck in “Restoring” state
  • Neil on Database stuck in “Restoring” state
  • Mark Gribler on MS SQL Database Administrator Interview Questions – Part 4

Google Analytics Stats

Latest Tweets:

  • 7 years ago Attended @SQLSatMcr yesterday - it was amazing! Roll on @sqlsatcambs! Won some Beats Headphones courtesy of @SQLDBApros - thanks guys! :)
  • 7 years ago Looking forward to attending @SQLSatMcr - its too far off though!!!
  • 7 years ago Simple Post: WhoIsActive SPROC: http://t.co/LZvQUaeapK
  • 7 years ago POST: Index REBUILD or Index REORGANIZE: http://t.co/h3L0N37vw4
  • 7 years ago How to Ping all Linked Servers: http://t.co/Q2QxusrKjO
  • 7 years ago For beginners - T-SQL Divide by Zero Error: http://t.co/BBhgoH5hK9

© Copyright 2015 SQL Repository. All Rights Reserved by SQL Repository