60 messaggi dal 29 aprile 2003
Salve.
Come posso individuare se lo stato della Stored Procedure è attivo o meno?
Mi spiego meglio.
Nello stesso momento la Stored Procedure non deve essere utilizzata dagli utenti.
Vorrei gestire la cosa al livello del db, o all'interno della Stored Procedure in questione oppure in qualche altro modo senza usare applicativi esterni.
N.B.: Parlo della SQL SERVER 2000.
Grazie.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Pushpam ha scritto:
Salve.
Come posso individuare se lo stato della Stored Procedure è attivo o meno?
Mi spiego meglio.
Nello stesso momento la Stored Procedure non deve essere utilizzata dagli utenti.
Vorrei gestire la cosa al livello del db, o all'interno della Stored Procedure in questione oppure in qualche altro modo senza usare applicativi esterni.
N.B.: Parlo della SQL SERVER 2000.
Grazie.


non mi risulta si possa fare, direttamente..
per definizione, le procedure devono dare possibilita' di esecuzione "concorrente" (anche se difficilmente lo saranno, in base alla gestione degli scheduler interni di SQL Server) a tutti gli utenti autorizzati.. tralasciando quindi il "quantum" operativo a livello di macchina e di multitasking del sistema operativo, in teoria n utenti possono eseguire la stessa istruzione... ci sarebbe eventualmente il discorso dei lock impliciti (stability-lock e schema modification-lock, come ovviamente compile-lock) di SQL Server nel momento della compilazione della procedura, se questa non risulta gia' "caricata" e disponibile..

per "risolvere" il tuo problema (se davvero e' un problema) potresti pero' appoggiarti su un lock "utente", dove tu, all'inizio del corpo della procedura, tenti di acquisire un lock esterno alle risorse di utilizzo, ma comunque un lock gestito da SQL Server, che andra' rilasciato al termine dell'esecuzione della stessa.. il principio di funzionamento e' "identico" a quello dei lock interni di SQL Server, ma in questo caso non acquisisci un lock su una tabella/riga etc, bensi' su una "stringa", che viene aggiunta nella tabella syslockinfo e che verra' gestita comunque come una "risorsa"...
vedi in questo senso sp_getapplock e sp_releaseapplock..
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php
60 messaggi dal 29 aprile 2003
Grazie della immediata risposta.
Volevo comunque sapere, se è possibile, lo stato della Stored Procedure. Non viene registrato in nessuna parte del DB Sql Server 2000?
Grazie.
1.976 messaggi dal 27 luglio 2005
Contributi
salve,
Pushpam ha scritto:
Grazie della immediata risposta.
Volevo comunque sapere, se è possibile, lo stato della Stored Procedure. Non viene registrato in nessuna parte del DB Sql Server 2000?
Grazie.


ripeto, non mi risulta esista uno "stato", in tal senso...
saluti

Andrea Montanari
http://www.hotelsole.com - http://www.hotelsole.com/asql/index.php

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.