sp_certify_removable (Transact-SQL)
Verifica che un database sia configurato correttamente per la distribuzione su supporti rimovibili e segnala eventuali problemi.
Importante |
---|
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. |
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