Condividi tramite


Strumento di registrazione di SQL Server per ASP.NET (Aspnet_regsql.exe)

Aggiornamento: novembre 2007

Lo strumento di registrazione di SQL Server per ASP.NET (Aspnet_regsql.exe) consente di creare un database di Microsoft SQL Server che viene utilizzato dai provider SQL Server in ASP.NET. Lo strumento viene utilizzato anche per aggiungere o rimuovere opzioni da un database esistente.

Indipendentemente dalla versione di .NET Framework in uso, il file Aspnet_regsql.exe si trova nella cartella seguente sul computer server Web:

[drive:]\%windir%\Microsoft.NET\Framework\v2.0.50727

È possibile utilizzare lo strumento Aspnet_regsql.exe senza alcun argomento della riga di comando per eseguire una procedura guidata che consentirà di specificare le informazioni sulla connessione per l'installazione di SQL Server e di installare o rimuovere gli elementi del database per le funzionalità di appartenenza, gestione ruoli, profilo, personalizzazione di Web part e monitoraggio dello stato. Nella procedura guidata non sono incluse l'impostazione dello stato sessione e la dipendenza dalla cache SQL. Aspnet_regsql.exe può essere impiegato anche come strumento della riga di comando per specificare gli elementi del database relativi alle singole funzionalità da aggiungere o rimuovere mediante le opzioni elencate nella tabella riportata di seguito.

Aspnet_regsql.exe <options>

Opzioni di connessione SQL

Opzione

Descrizione

-?

Consente di stampare il testo della Guida in linea di Aspnet_regsql.exe nella finestra di comando.

-W

Consente di eseguire lo strumento in modalità guidata. Se non viene specificato alcun argomento della riga di comando, questa è l'impostazione predefinita.

-C <stringa di connessione>

Consente di specificare la stringa di connessione al computer su cui è in esecuzione SQL Server e in cui verrà installato o è già installato il database. Questa opzione non è necessaria se si specificano solo il server (-S) e informazioni sull'accesso (-U e -P o -E).

-S <server>

Consente di specificare il nome del computer su cui è in esecuzione SQL Server e in cui verrà installato o è già installato il database.

-U <ID di accesso>

ID utente di SQL Server con cui effettuare l'accesso. Questa opzione richiede anche l'opzione della password (-P) ma non è necessaria se per l'autenticazione si utilizzano le credenziali di Windows (-E).

-P <password>

Password di SQL Server con cui effettuare l'accesso. Questa opzione richiede anche l'opzione ID utente (-U) ma non è necessaria se per l'autenticazione si utilizzano le credenziali di Windows (-E).

-E

Consente di effettuare l'autenticazione mediante le credenziali di Windows dell'utente che ha attualmente effettuato l'accesso.

-sqlexportonly <nome file>

Consente di generare un file di script SQL che è possibile utilizzare per aggiungere o rimuovere le funzionalità specificate. Le azioni specificate non vengono eseguite.

Opzioni dei servizi applicativi

Option

Descrizione

-A all|m|r|p|c|w

Consente di aggiungere il supporto per uno o più servizi applicativi ASP.NET. Gli identificatori di servizio possono essere specificati insieme o separatamente. Per i servizi applicativi ASP.NET vengono utilizzati gli identificatori indicati di seguito.

all: tutti i servizi, incluse le tabelle e le stored procedure comuni condivise dai servizi

m: appartenenza

r: gestione ruoli

p: profilo

c: personalizzazione di Web part

w: eventi Web

-R all|m|r|p|c|w

Consente di rimuovere il supporto per uno o più servizi applicativi. Gli identificatori di servizio possono essere specificati insieme o separatamente. Per i servizi applicativi ASP.NET vengono utilizzati gli identificatori indicati di seguito.

all: tutti i servizi, incluse le tabelle e le stored procedure comuni condivise dai servizi

m: appartenenza

r: gestione ruoli

p: profilo

c: personalizzazione di Web part

w: eventi Web

-Q

Consente l'esecuzione dello strumento in modalità non interattiva e non richiede conferma prima di rimuovere un servizio applicativo.

-d <database>

Consente di specificare il nome del database da creare o modificare che verrà utilizzato con i servizi applicativi. Se il database non viene specificato, viene utilizzato il nome del database predefinito "aspnetdb".

Nota

Gli elementi di database installati nel database dei servizi dell'applicazione saranno sempre di proprietà dell'account (dbo) del proprietario del database SQL Server. Per installare il database dei servizi dell'applicazione non è necessario essere l'amministratore di sistema del computer che esegue SQL Server. A tale scopo, è necessario concedere a un accesso di SQL Server i ruoli db_ddladmin e dd_securityadmin per il database SQL Server.

Opzioni di dipendenza dalla cache SQL (per Microsoft SQL Server 7.0, Microsoft SQL Server 2000 e SQL Server 2005)

Option

Descrizione

-d <database>

Consente di specificare il nome del database da utilizzare con la dipendenza dalla cache SQL. Per specificare il database è anche possibile utilizzare l'opzione della stringa di connessione -C.

-ed

Consente di abilitare un database alla dipendenza dalla cache SQL.

-dd

Consente di disabilitare un database alla dipendenza dalla cache SQL.

-et

Consente di abilitare una tabella alla dipendenza dalla cache SQL. L'opzione -t deve essere inclusa anche nella stringa di parametro.

-dt

Consente di disabilitare una tabella alla dipendenza dalla cache SQL. L'opzione -t deve essere inclusa anche nella stringa di parametro.

-t <tabella>

Consente di specificare il nome della tabella per la quale abilitare o disabilitare l'uso della dipendenza dalla cache SQL. Questa opzione deve essere combinata con l'opzione -et o -dt.

-lt

Consente di elencare tutte le tabelle abilitate alla dipendenza dalla cache SQL.

Opzioni dello stato sessione

Option

Descrizione

-d <database>

Consente di specificare il nome del database in cui archiviare lo stato sessione. Questa opzione deve essere utilizzata se -sstype è impostata su c.

-ssadd

Consente di aggiungere il supporto per lo stato sessione in modalità SQL Server.

-ssremove

Consente di rimuovere il supporto per lo stato sessione in modalità SQL Server.

-sstype t|p|c

Consente di specificare il tipo dello stato sessione da utilizzare:

t: temporaneo. I dati dello stato sessione vengono archiviati nel database tempdb di SQL Server. Le stored procedure per la gestione dello stato sessione vengono installate nel database ASPState di SQL Server. Se si riavvia SQL, i dati non vengono conservati. Questa è l'impostazione predefinita.

p: persistente. Sia le stored procedure che i dati dello stato sessione vengono archiviati nel database ASPState di SQL Server.

c: personalizza. Sia le stored procedure che i dati dello stato sessione vengono archiviati in un database personalizzato. Il nome del database deve essere specificato con l'opzione -d.

Note

È possibile impostare diversi tipi di opzioni con lo strumento di registrazione di SQL Server per ASP.NET, ovvero specificare una connessione SQL e i servizi applicativi ASP.NET che utilizzano SQL Server per la gestione delle informazioni, indicare il database o la tabella impiegata per la dipendenza dalla cache SQL e aggiungere o rimuovere il supporto per l'utilizzo di SQL per l'archiviazione di stored procedure e stato sessione.

Diversi servizi applicativi ASP.NET si basano su un provider per gestire l'archiviazione e il recupero di dati da un'origine dati. Ogni provider è specifico dell'origine dati. In ASP.NET è incluso un provider SQL Server per le seguenti funzionalità ASP.NET:

Quando si installa ASP.NET, nel file Machine.config relativo al server sono inclusi gli elementi di configurazione che specificano i provider SQL Server per ogni funzionalità ASP.NET basata su un provider. Per impostazione predefinita, questi provider sono configurati per connettersi a un'istanza utente locale di SQL Server Express 2005. Se si modifica la stringa di connessione predefinita utilizzata dai provider, per utilizzare le funzionalità di ASP.NET definite nella configurazione del computer è necessario installare il database SQL Server e gli elementi del database relativi alla funzionalità scelta utilizzando Aspnet_regsql.exe. Se il database specificato con Aspnet_regsql.exe non esiste già (aspnetdb è il database predefinito se non ne viene specificato uno dalla riga di comando), l'utente corrente deve disporre dei diritti di creazione di database in SQL Server e di elementi di schema in un database.

Ogni provider SQL Server può utilizzare lo stesso database SQL Server per archiviare i dati relativi alla funzionalità specifica. È possibile utilizzare ogni funzionalità singolarmente o insieme ad altre funzionalità. È possibile ad esempio utilizzare la gestione ruoli da sola o insieme alle informazioni utente gestite dalla funzionalità di appartenenza.

Per ulteriori informazioni sui provider SQL Server e ASP.NET, vedere Implementazione di un provider di appartenenze, Implementazione di un provider di profili e Implementazione di un provider di ruoli.

Dipendenza dalla cache SQL

Una funzionalità avanzata della memorizzazione nella cache di output di ASP.NET è rappresentata dalla dipendenza della cache di SQL. La dipendenza dalla cache SQL supporta due diverse modalità operative, che implicano la prima l'utilizzo di un'implementazione in ASP.NET del polling basato su tabella e la seconda l'impiego delle funzionalità di notifica delle query di SQL Server 2005. È possibile utilizzare Aspnet_regsql.exe per configurare la modalità operativa del polling basato su tabella. Tale funzionalità consente di memorizzare nella cache le pagine che dipendono dai dati delle tabelle di SQL Server. È possibile configurare SQL Server e ASP.NET in modo da memorizzare nella cache le richieste delle pagine, riducendo quindi il carico di lavoro del server, purché i dati da cui dipende la pagina siano stati aggiornati in SQL Server. La dipendenza della cache di SQL è utile per dati quali i cataloghi di prodotti o le informazioni di registrazione dei clienti che restano piuttosto statici. Quando si utilizza la modalità di polling basato su tabella ASP.NET della dipendenza della cache SQL, è necessario configurare SQL Server per fornire una corretta notifica ad ASP.NET delle modifiche apportate ai dati dipendenti. Sarà pertanto necessario disporre di privilegi amministrativi. Per ulteriori informazioni sulla dipendenza della cache SQL, vedere Procedura dettagliata: utilizzo della memorizzazione nella cache di output di ASP.NET con SQL Server.

Stato sessione

Lo stato sessione ASP.NET è progettato per facilitare l'archiviazione dei dati della sessione utente in differenti origini per le applicazioni ASP.NET. Per impostazione predefinita, le informazioni e i valori relativi allo stato sessione vengono archiviati in memoria all'interno del processo ASP.NET. Un'ulteriore soluzione consiste nell'archiviare i dati della sessione in un database SQL Server, dove possono essere condivisi da più server Web. Per ulteriori informazioni sullo stato sessione, vedere Implementazione di un provider dell'archivio dello stato sessione e Modalità stato sessione.

Se il database specificato per lo stato sessione con Aspnet_regsql.exe non esiste già, l'utente corrente deve disporre dei diritti di creazione di database in SQL Server e di elementi di schema in un database. Se invece il database esiste, è necessario che l'utente corrente disponga dei diritti per la creazione degli elementi di schema nel database esistente.

Per installare il database dello stato sessione in SQL Server, eseguire lo strumento Aspnet_regsql.exe e specificare le informazioni riportate di seguito con il comando appropriato:

  • Il nome dell'istanza SQL Server con l'opzione -S.

  • Le credenziali di accesso relative a un account che disponga dell'autorizzazione per la creazione di un database su un computer su cui sia in esecuzione SQL Server. Immettere l'opzione -E per utilizzare l'utente correntemente connesso oppure l'opzione -U per specificare un ID utente insieme all'opzione -P per specificare una password.

  • L'opzione della riga di comando -ssadd per aggiungere il database dello stato sessione.

Per impostazione predefinita, non è possibile utilizzare Aspnet_regsql.exe per installare il database dello stato sessione in un computer in cui sia in esecuzione SQL Server 2005 Express Edition. Per ulteriori informazioni sull'utilizzo di SQL Server 2005 Express Edition per l'archiviazione dello stato sessione, vedere Modalità stato sessione.

Esempi

È possibile utilizzare Aspnet_regsql.exe senza alcun argomento della riga di comando per eseguire una procedura guidata che consente di specificare le informazioni sulla connessione relative al database SQL Server e di installare o rimuovere gli elementi del database per le funzionalità supportate. Aspnet_regsql.exe può essere impiegato anche come strumento della riga di comando per specificare gli elementi del database relativi alle singole funzionalità da aggiungere o rimuovere. Per specificare le impostazioni di dipendenza dalla cache SQL o impostare lo stato sessione, è necessario utilizzare lo strumento della riga di comando.

Per eseguire la procedura guidata, eseguire Aspnet_regsql.exe senza alcun argomento della riga di comando, come illustrato nell'esempio che segue.

C:\%windir%\Microsoft.NET\Framework\<versionNumber>\aspnet_regsql.exe

Generalmente lo strumento di registrazione di SQL per ASP.NET viene utilizzato con l'opzione -A o -R per indicare le funzionalità che impiegano un provider SQL Server. L'opzione -A consente di aggiungere il supporto per una o più funzionalità, mentre l'opzione -R consente di rimuovere una funzionalità. Il comando riportato di seguito consente di installare gli elementi del database relativi all'appartenenza e alla gestione ruoli nel computer locale in cui è in esecuzione SQL Server con l'autenticazione Windows.

aspnet_regsql.exe -E -S localhost -A mr

Per impostare la dipendenza dalla SQL, è necessario disporre di privilegi amministrativi o di un account e una password di amministratore. Il comando che segue consente di abilitare la dipendenza dalla cache SQL per la tabella Employees del database Northwind.

aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d Northwind -et -t Employees

Il comando riportato di seguito consente di creare, ad esempio, un database denominato ASPState su un'istanza SQL Server denominata "SampleSqlServer" e di specificare che i dati della sessione vengano archiviati anche nel database ASPState.

aspnet_regsql.exe -S SampleSqlServer -E -ssadd -sstype p

Vedere anche

Concetti

Implementazione di un provider di appartenenze

Implementazione di un provider di profili

Implementazione di un provider di ruoli