2009-03-06 19 views
5

ho cercato di eseguire il debug di SQL Server 2005 stored procedure, in Visual Studio Team System 2008.Impossibile 2005 stored procedure di SQL Server il debug in Visual Studio Team System 2008

ho collegato al server di database e ha fatto un diritto -clicare "Esegui", sulla stored procedure. Ho persino provato "Step in Stored Procedure", senza fortuna.

alt text http://ferdspics.googlepages.com/vs-executesproc.JPG

L'IDE mostra è in esecuzione, ma io non riesco a rompere o passo nella stored procedure.

alt text http://ferdspics.googlepages.com/vs-executesproc-ideshowsitsrunning.JPG

Ho controllato il visore di evento e non ci sono i registri. Non ci sono output o messaggi che mostrano dove si trova il problema.

studio visivo contiene i seguenti componenti: -

alt text http://ferdspics.googlepages.com/vs.JPG

Carichi di forum menzionano problemi di debug, ma nessuna soluzione semplice sono stati trovati.

Mi manca qualcosa? O qualcuno sa di un sito più conciso, che cammina attraverso il debug della stored procedure di successo?

risposta

1

Hai attivato il debug di SQL Server nel progetto?

Progetto | Proprietà | Scheda Debug.

MODIFICA: consente anche di abilitare "Consenti debug SQL/CLR" su una connessione dati in Esplora server.

+0

Non è un progetto come mi sono collegato al database tramite il pannello "Server Explorer". Ho fatto un clic destro sul server e il comando "Consenti debug di SQL/CLR" è stato deselezionato. Ho controllato e poi sono entrato nella sproc. Senza successo Molto frustrante e grazie per il tuo aiuto. – Ferdeen

+0

Inoltre ho creato un progetto di database in grado di eseguire gli sproc sulla mia macchina. Preferirei eseguire il debug direttamente sul server. @Richard, non intendevo dire grazie e frustrato nella stessa frase. Rileggerlo mi fa sembrare scortese. Scusate. E 'stato un vero ringraziamento. – Ferdeen

+0

@Ferd: np, BTDTGTTS. Aggiungerà il rif. ad altro percorso per abilitare il debugger. (Oltre a questo, non ho idea di altre cose da verificare.) – Richard

2

Ricorda che devi anche avere privilegi di amministratore sulla scatola di SQL Server che si sta debug sopra. In passato, ho dovuto utilizzare l'opzione RunAs nel menu di scelta rapida di Explorer per avviare Visual Studio. Io uso le stesse credenziali dell'utente amministratore nella casella sql server.

0

Hai provato a eseguire il debug localmente sul server tramite Citrix o RDP?

Spero che questo aiuti,

Bill

1

Una questione di indagare è che ogni account utente di SQL Server coinvolti nel debug SQL deve avere "eseguire" diritti su una stored procedure estesa chiamato sp_sdidebug, un diritto che solo l'account dell'amministratore di sistema (sa) ha per impostazione predefinita.

Per verificare ciò, utilizzare l'account per accedere a SQL Server e quindi digitare il seguente comando SQL utilizzando SQL Server Management Studio:

EXEC master..sp_sdidebug 

Vedrai sia un risultato che indica che il comando è stato completato con successo o un errore di autorizzazione di esecuzione. Se vedi il risultato finale, dovresti anche controllare che l'account abbia il permesso per il database master stesso.Non è sconosciuto per un DBA per dare il permesso alla stored procedure, ma non al database master.

Il modo più rapido per concedere diritti di esecuzione per un account di SQL Server per sp_sdidebug è inserire il seguente SQL:

GRANT EXECUTE ON master..sp_sdidebug TO SpecificAccountName 

C'è un altro problema, ma non influenzerà come si sta utilizzando Esplora server . Se stai debug da un'applicazione client, si hanno anche per eseguire il seguente comando:

EXEC master..sp_sdidebug 'legacy_on' 

Nota che il debug remota di SQL Server viene fatto usando il DCOM, e questo può essere difficile da configurare correttamente. Innanzitutto, è necessario installare i componenti di debug remoto completi sul server di database remoto. Potrebbe inoltre essere necessario ripetere questa procedura ogni volta che si aggiorna SQL Server con un service pack o una patch.

+0

Grazie per questo ci proverò presto. – Ferdeen

0

è il firewall di Windows. disabilitarlo e provarlo funzionerà

Problemi correlati