2010-07-07 4 views
1

je jouais avec une procédure stockée et je pense que je fait un sans fin en boucle (je pense que j'ai oublié de fermer le curseur)Comment arrêter Databasemail d'exécuter

maintenant il me envoie des e-mails et je n » Je sais comment l'arrêter. Comment puis-je le tuer?

modifier ce que je vois quand je fais ce que Rémus m'a dit de faire

Désolé, je ne sais pas comment sortir les résultats plus agréable.

1,0,2010-07-06 17:00:45.637,background,RESOURCE MONITOR,NULL,NULL,NULL,NULL,0,1,NULL,0,NULL,0,SLEEP_TASK,,0,1,0,NULL,0,0,0,0,257,0x04848118,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
2,0,2010-07-06 17:00:45.637,background,LAZY WRITER,NULL,NULL,NULL,NULL,0,1,NULL,0,LAZYWRITER_SLEEP,904,LAZYWRITER_SLEEP,,0,1,0,NULL,0,0,0,0,1,0x0072C3E8,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
4,0,2010-07-06 17:00:45.637,background,LOCK MONITOR,NULL,NULL,NULL,NULL,0,1,NULL,0,REQUEST_FOR_DEADLOCK_SEARCH,4570,REQUEST_FOR_DEADLOCK_SEARCH,,0,1,0,NULL,0,0,0,0,1,0x0072C4D8,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
5,0,2010-07-06 17:00:45.637,background,SIGNAL HANDLER,NULL,NULL,NULL,NULL,1,1,NULL,0,KSOURCE_WAKEUP,12587720,KSOURCE_WAKEUP,,0,1,0,NULL,0,0,0,0,0,0x002582F8,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
6,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
7,0,2010-07-06 17:00:45.637,background,TRACE QUEUE TASK,NULL,NULL,NULL,NULL,1,1,NULL,0,SQLTRACE_BUFFER_FLUSH,3213,SQLTRACE_BUFFER_FLUSH,,0,1,0,NULL,0,0,0,0,1,0x0072C7A8,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
9,0,2010-07-06 17:00:45.637,background,BRKR TASK,NULL,NULL,NULL,NULL,1,1,NULL,0,BROKER_TRANSMITTER,12588032,BROKER_TRANSMITTER,,0,1,0,NULL,0,0,0,0,1,0x0072CA78,0,0,0,4096,us_english,mdy,7,1,0,1,0,1,1,1,1,2,-1,0,0,0,1,0,0 
11,0,2010-07-06 17:00:45.637,background,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,ONDEMAND_TASK_QUEUE,12590216,ONDEMAND_TASK_QUEUE,,0,1,0,NULL,0,0,0,0,0,0x002583E8,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
12,0,2010-07-06 17:00:45.637,background,BRKR EVENT HNDLR,NULL,NULL,NULL,NULL,1,1,NULL,0,BROKER_EVENTHANDLER,337289,BROKER_EVENTHANDLER,,0,1,0,NULL,0,0,1170,0,0,0x002586B8,6,43,154502,4096,us_english,mdy,7,1,0,1,0,1,1,1,1,2,-1,0,0,0,1,0,0 
13,0,2010-07-06 17:00:45.637,background,BRKR TASK,NULL,NULL,NULL,NULL,1,1,NULL,0,BROKER_TRANSMITTER,12588017,BROKER_TRANSMITTER,,0,1,0,NULL,0,0,0,0,0,0x002585C8,0,0,0,4096,us_english,mdy,7,1,0,1,0,1,1,1,1,2,-1,0,0,0,1,0,0 
14,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,1413,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
15,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,101,11396,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
16,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,146,15318,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
17,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,235,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
18,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,476,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
19,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,711,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
20,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,506,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
21,0,2010-07-06 17:00:45.637,sleeping,TASK MANAGER,NULL,NULL,NULL,NULL,1,1,NULL,0,NULL,0,MISCELLANEOUS,,0,1,0,NULL,0,0,0,0,NULL,0x00000000,0,0,0,4096,us_english,mdy,7,0,0,0,0,0,0,0,0,2,-1,0,0,0,1,0,0 
60,0,2010-07-06 20:30:33.360,running,SELECT,0x020000004D4F6005A3E8119F3DD3297095832ABE63E312F2,0,-1,0x060005004D4F6005B801000F000000000000000000000000,5,1,5758612B-D19E-43EB-B9A5-343B30DCA65C,0,NULL,0,MISCELLANEOUS,,0,1,2034480,0x,0,0,0,1,0,0x002595B8,0,0,99,2147483647,us_english,mdy,7,1,1,1,0,1,1,1,1,2,-1,0,19,0,0,0,0 

Modifier 2

1 0 2010-07-06 20:38:22.550 background RESOURCE MONITOR NULL NULL NULL NULL 0 1 NULL 0 NULL 0 SLEEP_TASK  0 1 0 NULL 0 0 0 0 257 0x048A8118 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
2 0 2010-07-06 20:38:22.550 background LAZY WRITER NULL NULL NULL NULL 0 1 NULL 0 LAZYWRITER_SLEEP 561 LAZYWRITER_SLEEP  0 1 0 NULL 0 0 0 0 1 0x0070C3E8 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
4 0 2010-07-06 20:38:22.550 background LOCK MONITOR NULL NULL NULL NULL 0 1 NULL 0 REQUEST_FOR_DEADLOCK_SEARCH 2792 REQUEST_FOR_DEADLOCK_SEARCH  0 1 0 NULL 0 0 0 0 1 0x0070C4D8 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
5 0 2010-07-06 20:38:22.550 background SIGNAL HANDLER NULL NULL NULL NULL 1 1 NULL 0 KSOURCE_WAKEUP 282252 KSOURCE_WAKEUP  0 1 0 NULL 0 0 0 0 0 0x004F82F8 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
6 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
7 0 2010-07-06 20:38:22.550 background TRACE QUEUE TASK NULL NULL NULL NULL 1 1 NULL 0 SQLTRACE_BUFFER_FLUSH 3088 SQLTRACE_BUFFER_FLUSH  0 1 0 NULL 0 0 0 0 1 0x0070C7A8 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
9 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 6 7 5360 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
10 0 2010-07-06 20:38:22.550 background TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 ONDEMAND_TASK_QUEUE 286683 ONDEMAND_TASK_QUEUE  0 1 0 NULL 0 0 0 0 0 0x004F83E8 0 0 0 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
12 0 2010-07-06 20:38:22.550 background BRKR EVENT HNDLR NULL NULL NULL NULL 1 1 NULL 0 BROKER_EVENTHANDLER 1326 BROKER_EVENTHANDLER  0 1 0 NULL 0 0 1045 0 0 0x004F86B8 6 277 53717 4096 us_english mdy 7 1 0 1 0 1 1 1 1 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
13 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 4 0 2830 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
14 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 0 0 276 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
15 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 0 0 4716 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
16 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 0 0 2346 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
17 0 2010-07-06 20:38:22.550 background BRKR TASK NULL NULL NULL NULL 1 1 NULL 0 BROKER_TRANSMITTER 282237 BROKER_TRANSMITTER  0 1 0 NULL 0 0 0 0 0 0x004F8898 0 0 0 4096 us_english mdy 7 1 0 1 0 1 1 1 1 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
18 0 2010-07-06 20:38:22.550 background BRKR TASK NULL NULL NULL NULL 1 1 NULL 0 BROKER_TRANSMITTER 282237 BROKER_TRANSMITTER  0 1 0 NULL 0 0 0 0 1 0x0070CC58 0 0 0 4096 us_english mdy 7 1 0 1 0 1 1 1 1 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
19 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 0 3 3649 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
20 0 2010-07-06 20:38:22.550 sleeping TASK MANAGER NULL NULL NULL NULL 1 1 NULL 0 NULL 0 MISCELLANEOUS  0 1 0 NULL 0 0 0 0 NULL 0x00000000 0 0 804 4096 us_english mdy 7 0 0 0 0 0 0 0 0 2 -1 0 0 0 1 0 0 NULL NULL NULL NULL NULL 
55 0 2010-07-06 20:43:04.807 running SELECT 0x02000000C11D0A09F92E04D1EE8FD14B7EC06C01E9266CA8 0 -1 0x06000500C11D0A09B881F207000000000000000000000000 5 1 710FE4B3-5EB3-47FD-839C-81B9CD33E56A 0 NULL 0 MISCELLANEOUS  0 1 85928 0x 0 0 0 4 0 0x004F8988 6 0 66 2147483647 us_english mdy 7 1 1 1 0 1 1 1 1 2 -1 0 18 0 0 0 0 NULL NULL NULL 0 

Edit 3

Ce fut la procédure stockée

Je n'avais qu'un seul enregistrement de la table temporaire

set ANSI_NULLS ON 
set QUOTED_IDENTIFIER ON 
go 



ALTER PROCEDURE [dbo].[csp_test] 
AS 
BEGIN 



declare @temp2 table (
    idx int identity(1,1), 
    title varchar(max), 
    body varchar(max)) 

insert into @temp2 (title, body) 
select title, body 
from temp 

declare @title varchar(max) 
declare @body varchar(max) 

declare myCursor Cursor for select title, body from @temp2 


open myCursor 

fetch next from myCursor into @title, @body 
while @@fetch_status = 0 begin 

EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'SqlAlerts', 
    @recipients = '[email protected]', 
    @body = 'The stored procedure finished successfully.', 
    @subject = 'Automated Success Message' ; 


end 


END 
+1

Ne doit pas être mis fin à un proc en cours d'exécution (et tout ouvert trans . être annulé) si la connexion est abandonnée? –

+0

Je ne sais pas. Là encore, je ne sais pas très bien comment utiliser ms sql. Tout ce que je sais, c'est que mon email reçoit de plus en plus de messages (actuellement à 864) et je ne sais pas comment l'arrêter. – chobo2

Répondre

2

KILL <spid>; où est le @@ SPID de la procédure de filage. Utilisez select * from sys.dm_exec_requests pour identifier le @@ SPID (session_id) si vous ne le connaissez pas.

Update

Yeap, qui est une boucle infinie. Vous manque un fetch dans la boucle while:

fetch next from myCursor into @title, @body 
while @@fetch_status = 0 begin 
    EXEC msdb.dbo.sp_send_dbmail 
    @profile_name = 'SqlAlerts', 
    @recipients = '[email protected]', 
    @body = 'The stored procedure finished successfully.', 
    @subject = 'Automated Success Message' ; 

    // Add this line: 
    fetch next from myCursor into @title, @body 
end 
+0

agréable et simple +1 –

+0

Hmm je ne suis pas sûr de laquelle c'est. Ca s'appelait csp_test mais je ne peux pas le voir. Je n'en vois qu'un qui court et il m'a dit que je ne pouvais pas tuer mon propre processus. – chobo2

+0

Utilisez cette requête: 'select * from sys.dm_exec_requests r externe apply sys.dm_exec_sql_text (r.sql_handle) t'. Cela va également projeter l'instruction en cours d'exécution. De ce que vous avez posté là-bas, il ne semble pas y avoir de procédure de bouclage, btw. –

1

Trouvez votre connexion rogue avec le activity monitor et le tuer. Ou si c'est une urgence, il suffit de recycler le service SQL Server.

+0

ou ce que dit @Remus - c'est beaucoup plus simple –

0

Je voudrais simplement lancer le cycle de service SQL Server, mais c'est ce que vous devez faire pour corriger votre code avant de tester à nouveau:

open myCursor 

fetch next from myCursor into @title, @body 
while @@fetch_status = 0 begin 

    EXEC msdb.dbo.sp_send_dbmail 
     @profile_name = 'SqlAlerts', 
     @recipients = '[email protected]', 
     @body = 'The stored procedure finished successfully.', 
     @subject = 'Automated Success Message' ; 

    -- Need another fetch here - you are never attempting to seek to the next row 
end 

-- need CLOSE myCursor here 
-- need DEALLOCATE myCursor here 
+0

Ya je sais que j'ai oublié de saisir cela du tutoriel. Comment faire un cycle du serveur? – chobo2

+0

@ chobo2 Accédez au panneau de configuration - Outils d'administration - Services - recherchez le service SQL Server - redémarrez-le. –

+0

Ok J'ai redémarré le service "SQL Server (SQLSERVER2005)" mais les emails continuent à arriver. – chobo2