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 caratteristica 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 argomentoConvenzioni della sintassi Transact-SQL

Sintassi

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

Argomenti

  • [ @dbname=] 'dbname'
    Specifica il database da controllare. dbname è di tipo sysname.

  • [ @autofix=] 'auto'
    Assegna la proprietà del database e di tutti i relativi oggetti all'amministratore di sistema ed elimina eventuali 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 non in linea 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 MicrosoftSQL 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