Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Le informazioni contenute in questo argomento sono valide per:
Visual Studio Ultimate |
Visual Studio Premium |
Visual Studio Professional |
Visual Studio Express |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
Attenzione |
|---|
Le stored procedure estese sono deprecate.Sebbene continuino a essere supportate per la compatibilità con le versioni precedenti di ASP.NET, tale supporto non sarà più disponibile nelle prossime versioni. |
Le stored procedure estese sono state introdotte per abilitare azioni che non erano possibili in Transact-SQL, ad esempio l'accesso al file system, la lettura del Registro di sistema e così via.Ora che tali operazioni possono essere eseguite scrivendo procedure CLR SQL, non è più necessario scrivere stored procedure estese.Si consiglia di non scrivere nuove stored procedure estese e di sostituire quelle esistenti con stored procedure CLR SQL equivalenti, ma più sicure.
Le stored procedure estese sono DLL scritte in C++, o in qualsiasi altro linguaggio, e non in SQL.Pertanto, il debug di una stored procedure estesa assomiglia molto di più al debug di una qualsiasi DLL in tale linguaggio.
Attenzione |
|---|
In genere, le stored procedure estese sono scritte nel linguaggio C++ nativo e non dispongono delle protezioni garantite dal codice gestito.Devono essere testate con attenzione poiché i bug possono causare l'arresto anomalo di SQL Server.Per evitare la possibile perdita di dati e altri problemi, non eseguire il debug di una stored procedure estesa in un server di produzione.Per ulteriori informazioni, vedere la documentazione online di ASP.NET. |
È possibile che le finestre di dialogo e i comandi di menu visualizzati siano diversi da quelli descritti nella Guida, a seconda delle impostazioni attive o dell'edizione.Per modificare le impostazioni, scegliere Importa/Esporta impostazioni dal menu Strumenti.Per ulteriori informazioni, vedere Visual Studio Settings.
Per eseguire il debug di una stored procedure estesa
Iniziare con una build di debug di una DLL della stored procedure estesa.È necessario disporre anche di un'applicazione tramite cui viene chiamata la stored procedure estesa di cui si desidera eseguire il debug.Se non si dispone di tale applicazione, eseguire una delle azioni riportate di seguito:
Creare un progetto di database di Visual Studio con una connessione dati per il database in cui sono contenuti la stored procedure estesa e il codice per chiamarla.
Creare un file di script SQL tramite cui viene chiamata la stored procedure estesa.
- oppure -
Utilizzare un'applicazione quale SQL Server Management Studio, inclusa con SQL Server, oppure il test ODBC, incluso con l'SDK di ODBC.
Se SQL Server viene attualmente eseguito come servizio, interromperlo aprendo il pannello di controllo Servizi, selezionando SQL Server e facendo clic su Interrompi.
Copiare la versione di debug della DLL nella directory in cui risiede Sqlservr.exe o in qualsiasi directory del percorso di ricerca.
- oppure -
Impostare un evento di post-compilazione per copiare la DLL nel progetto C++ nel modo seguente:
Aprire la finestra di dialogo >Pagine delle proprietà di **<**progetto.
Nella finestra di dialogo >Pagine delle proprietà di **<**progetto aprire la cartella Proprietà di configurazione.
In Proprietà di configurazione aprire la cartella Eventi di compilazione.
Scegliere Evento di post-compilazione.
Nel controllo griglia, accanto a Riga di comando digitare un comando di copia, ad esempio:
Copy c:\MyProjects\MyXProc\debug\MyXProc.dll C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn
Registrare la stored procedure estesa.
Specificare SQL Server come file eseguibile chiamante e directory di lavoro per la DLL della stored procedure estesa.Modificare le impostazioni nella finestra di dialogo Proprietà progetto di <progetto> a cui è possibile accedere nella categoria Debug di Proprietà di configurazione nel modo seguente:
Se SQL Server è stato installato nel percorso predefinito, digitare C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\SQLSERVR.EXE nella casella Comando.
Impostare la voce Directory di lavoro su C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Binn.
Impostare la voce Argomenti comando su -c.L'opzione -c indica che SQL Server viene avviato dalla riga di comando e non come servizio, pertanto SQL Server verrà avviato più rapidamente.SQL Server non verrà avviato come servizio, bensì come applicazione console sotto il controllo dell'ambiente di debug di Visual Studio.In questo modo i punti di interruzione potranno essere intercettati e gestiti correttamente.
Impostare punti di interruzione nel codice sorgente della stored procedure estesa.
Utilizzare un comando di esecuzione per avviare la sessione di debug.Per ulteriori informazioni, vedere Controllo dell'esecuzione.
Non appena viene avviato SQL Server, sarà visualizzata una finestra della console.Quando lo scorrimento del testo viene interrotto, viene visualizzato il messaggio:
Avviata la procedura di avvio "sp_sqlregister"
Viene avviato SQL Server tramite cui viene iniziata l'elaborazione delle richieste.
Eseguire la stored procedure estesa.
Il debugger viene interrotto quando raggiunge una riga contenente un punto di interruzione.
Per ulteriori informazioni su come scrivere stored procedure estese, consultare la sezione SQL Server della Microsoft Knowledge Base o la sezione Programmazione di stored procedure estese della documentazione di SQL Server in MSDN Library.
.gif)
.gif)
Attenzione