sp_certify_removable (Transact-SQL)

Verifica che un database sia configurato correttamente per la distribuzione su supporti rimovibili e segnala eventuali problemi.

Nota importanteImportante

Questa funzionalità verrà rimossa a partire da una delle prossime versioni di Microsoft SQL Server. Evitare di utilizzare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È consigliabile utilizzare come alternativa CREATE DATABASE.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

sp_certify_removable [ @dbname= ] 'dbname' 
     [ , [ @autofix = ] 'auto' ]

Argomenti

  • [ @dbname=] 'dbname'
    Viene specificato il database da verificare. dbname è di tipo sysname.

  • [ @autofix=] 'auto'
    Viene assegnata la proprietà del database e di tutti i relativi oggetti all'amministratore di sistema e vengono eliminati tutti gli utenti del database creati dall'utente e tutte le autorizzazioni non predefinite. auto è di tipo nvarchar(4) e il valore predefinito è NULL.

Valori restituiti

0 (esito positivo) o 1 (esito negativo)

Osservazioni

Se il database è configurato correttamente, la stored procedure sp_certify_removable esegue le operazioni seguenti:

  • Imposta il database offline per consentire la copia dei file.

  • Aggiorna i dati statistici di tutte le tabelle e segnala gli eventuali problemi relativi alla proprietà o a un utente.

  • Contrassegna i filegroup di dati come filegroup di sola lettura per consentire la copia dei file su supporti di sola lettura.

L'amministratore di sistema deve essere il proprietario del database e di tutti i relativi oggetti. L'amministratore di sistema è un utente noto disponibile in tutti i computer Microsoft SQL Server che sarà disponibile anche in un secondo momento in fase di distribuzione e installazione del database.

Se si esegue sp_certify_removable senza il valore auto e vengono restituite informazioni relative a una delle condizioni seguenti:

  • L'amministratore di sistema non è il proprietario del database.

  • Esistono utenti creati da un altro utente.

  • L'amministratore di sistema non è il proprietario di tutti gli oggetti del database.

  • Sono state concesse autorizzazioni non predefinite.

È possibile correggere queste condizioni come indicato di seguito:

  • Utilizzare gli strumenti e le procedure di SQL Server, quindi eseguire nuovamente sp_certify_removable.

  • Eseguire semplicemente sp_certify_removable con il valore auto.

Si noti che questa stored procedure controlla solo gli utenti e le autorizzazioni degli utenti. È consentito aggiungere gruppi al database e concedere autorizzazioni a tali gruppi. Per ulteriori informazioni, vedere GRANT (Transact-SQL).

Autorizzazioni

Le autorizzazioni di esecuzione vengono concesse solo ai membri del ruolo predefinito del server sysadmin.

Esempi

Nell'esempio seguente viene confermato che il database inventory è pronto per la rimozione.

EXEC sp_certify_removable inventory, AUTO

Vedere anche

Riferimento

sp_create_removable (Transact-SQL)

ALTER DATABASE (Transact-SQL)

sp_dbremove (Transact-SQL)

Stored procedure di sistema (Transact-SQL)

Concetti

Collegamento e scollegamento di un database (SQL Server)