MSSQL test netværkstabilitet imod en SQL Server

Du kan teste netværkstabilitet til din MSSQL Server for at udlukke netværks-timeouts, som kan forekomme af en Applikation der benytter en SQL Database.

Jeg har en SQL Server 2012 og 30 RDS/Terminal Servere, og applikationerne giver “general sql network errors” “general network issue” eller “Timeout expired” altså forskellige netværks relateret fejl mm..

og jeg havde behov for Teste netværks forbindelserne imellem SQL Serveren og disse 30 RDS Servere for at bedømme netværks stabiliteten.

Jeg brugte QueryExpress til at forbinde fra RDS serverne til SQL Serveren.

og lagt en SP (stored procedure) i en Test Database og kørte den i 180 minutter (3 timer) og fandt ud af at en af de 30 RDS servere havde sql-query udfald til SQL Serveren men Ping imod SQL serveren svarede fint og gav ingen timeout, dvs. i min tilfælde var ping upålidelig.

SP’en indeholder en SQL Script som spørgere SQL serveren om tiden og køre i en Løkke, jeg kan selv definere hvor længe den skal køre i en Løkke.
På denne måde kan jeg kontrollere netværksstabilitet fra RDS serverne til SQL Serveren uden at blive belastet.

F.eks. Database Navn: UsmanDB, SP Navn: dbo.TimedoutTest og Duration (Test tiden): 180
Jeg bruger SQL Management Client til gennemføre Step.1, og QueryExpress til forbinde via RDS Servere da jeg ikke ønsker at installere SQL Management Client på RDS Servere.

  1. Opret Database -> Programmability -> Stored Procedure -> [Højre Klik] og Opret med navn: dbo.TimeoutTest og med indhold:
    ALTER PROCEDURE [dbo].[TimeoutTest] @ADuration INT AS
    PRINT ‘START’
    DECLARE @dt DATETIME
    SET @dt = DATEADD(MINUTE, @ADuration, GETDATE())
    WHILE @dt >= GETDATE()
    BEGIN
    WAITFOR DELAY ’00:00:01′
    END
    PRINT ‘DONE’
  2. Her efter klik på “New Query” og skriv:USE [UsmanDB] GO
    DECLARE @return_value int
    EXEC @return_value = [dbo].[TimeoutTest] @ADuration = 180
    SELECT ‘Return Value’ = @return_value
    GO

Nu kan vende tilbage om 3 timer og se om den failede elller giver success.

Tips. du kan opsætte SQL Profiler og følge med eller Logge SQL aktivitet.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *