Para executar um ping utilizando T-SQL, precisamos do XP_CmdShell. Abaixo segue o script para executar o ping e armazenar o resultado em uma tabela temporária.
DECLARE @sql NVARCHAR(500),
@Server VARCHAR(500),
@NPings VARCHAR(500)
SELECT @Server = '192.168.0.16',
@NPings = '5'
SET @sql = 'EXECUTE XP_CMDSHELL ''ping '
+ Ltrim(Rtrim(@Server)) + ' -n '
+ Cast(@NPings AS VARCHAR(10)) + ''''
CREATE TABLE #pingtemp
(
line VARCHAR(2000)
)
INSERT INTO #pingtemp
(line)
EXECUTE Sp_executesql
@sql
SELECT *
FROM #pingtemp
DROP TABLE #pingtemp
Caso o CmdShell esteja bloqueado em seu servidor, utilize o seguinte código para liberá-lo:
EXEC master.dbo.Sp_configure
'show advanced options',
1
RECONFIGURE;
EXEC master.dbo.Sp_configure
'xp_cmdshell',
1;
RECONFIGURE;
--
Leia o meu livro sobre ETL com SSIS 2012 http://www.erica.com.br/detalhes.asp?cod=4094
Nenhum comentário:
Postar um comentário
Leave your comment here!