sp_trace_create (Transact-SQL)

Crea la definizione di una nuova traccia, che risulterà interrotta.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQL

Sintassi

sp_trace_create [ @traceid = ] trace_id OUTPUT 
          , [ @options = ] option_value 
          , [ @tracefile = ] 'trace_file' 
     [ , [ @maxfilesize = ] max_file_size ]
     [ , [ @stoptime = ] 'stop_time' ]
     [ , [ @filecount = ] 'max_rollover_files' ]

Argomenti

  • [ @traceid= ] trace_id
    Numero assegnato da Microsoft SQL Server 2005 alla nuova traccia. Qualsiasi input dell'utente verrà ignorato. trace_id è di tipo int e il valore predefinito è NULL. Il valore di trace_id può essere utilizzato dall'utente per identificare, modificare e controllare la traccia definita dalla stored procedure.
  • [ @options= ] option_value
    Specifica le opzioni impostate per la traccia. option_value è di tipo int e non prevede alcun valore predefinito. Gli utenti possono impostare una combinazione di queste opzioni specificando la somma dei valori delle opzioni scelte. Per attivare entrambe le opzioni TRACE_FILE_ROLLOVER e SHUTDOWN_ON_ERROR, ad esempio, specificare 6 per option_value.

    Nella tabella seguente sono incluse le opzioni e le descrizioni, accompagnate dai relativi valori.

    Nome opzione Valore opzione Descrizione

    TRACE_FILE_ROLLOVER

    2

    Specifica che quando vengono raggiunte le dimensioni specificate in max_file_size il file di traccia corrente viene chiuso e viene creato un nuovo file, in cui verranno scritti tutti i nuovi record. Il nome del nuovo file è uguale a quello del file precedente, ma è seguito da un numero intero a indicare la sequenza. Se, ad esempio, il nome del file di traccia originale è nomefile.trc, i successivi file di traccia verranno denominati nomefile_1.trc, nomefile_2.trc e così via.

    Man mano che vengono creati nuovi file di traccia di rollover, viene incrementato in modo sequenziale il numero aggiunto nel nome del file.

    Se questa opzione viene specificata senza un valore per max_file_size, viene utilizzato il valore predefinito di max_file_size (5 MB).

    SHUTDOWN_ON_ERROR

    4

    Specifica che se non è possibile scrivere nel file per un qualsiasi motivo, SQL Server viene arrestato. Questa opzione risulta utile quando si eseguono tracce di controllo della protezione.

    TRACE_PRODUCE_BLACKBOX

    8

    Specifica che il server salverà un record contenente gli ultimi 5 MB di informazioni di traccia generate dal server. TRACE_PRODUCE_BLACKBOX è incompatibile con tutte le altre opzioni.

  • [ @tracefile= ] 'trace_file'
    Specifica il percorso e il nome di file in cui verrà scritta la traccia. trace_file è di tipo nvarchar(245) e non prevede alcun valore predefinito. trace_file può essere una directory locale, ad esempio N 'C:\MSSQL\Trace\traccia.trc', o un nome UNC di una condivisione o un percorso, ad esempio N'\\NomeServer\NomeCondivisione\Directory\traccia.trc'.

    SQL Server aggiunge l'estensione trc a tutti i nomi di file di traccia. Se si specificano l'opzione TRACE_FILE_ROLLOVER e un valore per max_file_size, quando le dimensioni del file di traccia originale raggiungono il limite massimo in SQL Server viene creato un nuovo file di traccia. Il nuovo file avrà lo stesso nome del file originale, con aggiunto _n a indicare la sequenza, a partire da 1. Se, ad esempio, il nome del primo file di traccia è nomefile.trc, il nome del secondo file di traccia sarà nomefile_1.trc.

    Non è possibile specificare trace_file quando si utilizza l'opzione TRACE_PRODUCE_BLACKBOX.

  • [ @maxfilesize= ] max_file_size
    Specifica le dimensioni massime in megabyte (MB) che possono essere raggiunte da un file di traccia. max_file_size è di tipo bigint e il valore predefinito è 5.

    Se si specifica questo parametro senza l'opzione TRACE_FILE_ROLLOVER, la registrazione nel file viene interrotta quando lo spazio su disco utilizzato supera il valore specificato in max_file_size.

  • [ @stoptime= ] 'stop_time'
    Specifica la data e l'ora in cui la traccia verrà interrotta. stop_time è di tipo datetime e il valore predefinito è NULL. Se il valore è NULL, la traccia viene eseguita fino a quando non viene interrotta in modo manuale o fino all'arresto del server.

    Se si specifica sia stop_time chemax_file_size e si omette TRACE_FILE_ROLLOVER, la traccia viene interrotta all'ora di interruzione specificata o quando vengono raggiunte le dimensioni massime di file. Se si specificano stop_time, max_file_size e TRACE_FILE_ROLLOVER, la traccia viene interrotta all'ora specificata, a condizione che non abbia occupato prima lo spazio disponibile nell'unità.

  • [ @filecount= ] 'max_rollover_files'
    Specifica il numero massimo di file di traccia da mantenere con lo stesso nome file di base. max_rollover_files è di tipo int e maggiore di uno. Questo parametro è valido solo se è specificata l'opzione TRACE_FILE_ROLLOVER. Quando si specifica max_rollover_files, SQL Server tenta di non superare il numero di file di traccia specificato in max_rollover_files eliminando il file di traccia meno recente prima di aprirne uno nuovo. In SQL Server viene tenuto traccia dell'età dei file di traccia aggiungendo un numero al nome del file di base.

    Se ad esempio si imposta il valore "c:\traccia" per trace_file, il file denominato "c:\traccia_123.trc" è meno recente del file "c:\traccia_124.trc". Se max_rollover_files è impostato su 2, SQL Server eliminerà il file "c:\traccia_123.trc" prima di creare il file di traccia "c:\traccia_125.trc".

    Si noti che SQL Server tenta di eliminare un file una sola volta e non può eliminare un file se questo è utilizzato da un altro processo. Se, pertanto, un'altra applicazione sta utilizzando i file di traccia mentre è in esecuzione la traccia, è possibile che tali file vengano lasciati nel file sytem da SQL Server.

Osservazioni

sp_trace_create è una stored procedure di SQL Server 2005 che esegue molte delle azioni che in precedenza venivano eseguite dalle stored procedure estese xp_trace_* delle versioni precedenti di SQL Server. Utilizzare sp_trace_create al posto delle stored procedure seguenti:

  • xp_trace_addnewqueue
  • xp_trace_setqueuecreateinfo
  • xp_trace_setqueuedestination

La stored procedure sp_trace_create può essere utilizzata solo per creare una definizione di traccia, non per avviare o modificare una traccia.

I parametri di tutte le stored procedure di Traccia SQL (sp_trace_xx) sono fortemente tipizzati. Se questi parametri non vengono chiamati con i tipi di dati corretti, come indicato nella descrizione dell'argomento, la stored procedure restituirà un errore.

Per sp_trace_create, l'account del servizio SQL Server deve disporre dell'autorizzazione di scrittura per la cartella dei file di traccia. Se l'account del servizio SQL Server non è un amministratore nel computer in cui si trova il file di traccia, è nessario concedere esplicitamente l'autorizzazione di scrittura all'account del servizio SQL Server.

[!NOTA] È possibile caricare automaticamente il file di traccia creato con sp_trace_create in una tabella utilizzando la funzione di sistema fn_trace_gettable. Per informazioni sull'utilizzo di questa funzione di sistema, vedere fn_trace_gettable (Transact-SQL).

Autorizzazioni

L'utente deve disporre delle autorizzazioni ALTER TRACE.

Valori restituiti

Nella tabella seguente vengono descritti i possibili valori di codice visualizzati al completamento della stored procedure.

Codice restituito Descrizione

0

Nessun errore.

1

Errore sconosciuto.

10

Opzioni non valide. Restituito quando le opzioni specificate sono incompatibili.

12

Creazione del file non riuscita.

13

Memoria esaurita. Restituito quando la quantità di memoria disponibile non è sufficiente per eseguire l'azione specificata.

14

Ora di interruzione non valida. Restituito quando l'ora specificata è già trascorsa.

15

Parametri non validi. Restituito quando l'utente specifica parametri incompatibili.

Vedere anche

Riferimento

sp_trace_generateevent (Transact-SQL)
sp_trace_setevent (Transact-SQL)
sp_trace_setfilter (Transact-SQL)
sp_trace_setstatus (Transact-SQL)

Altre risorse

Introduzione a Traccia SQL

Guida in linea e informazioni

Assistenza su SQL Server 2005