Rinominare un database

Si applica a:SQL ServerDatabase SQL di AzureIstanza gestita di SQL di Azure

Questo articolo illustra come rinominare un database definito dall'utente in SQL Server, nel database SQL di Azure o nell’Istanza gestita di SQL di Azure usando SQL Server Management Studio (SSMS) o Transact-SQL (T-SQL). Nel nome del database è possibile utilizzare qualsiasi carattere conforme alle regole per gli identificatori.

Nota

Per rinominare un database in Azure Synapse Analytics o in Parallel Data Warehouse, usare l'istruzione RENAME (Transact-SQL).

Limitazioni e restrizioni

  • I database di sistema non possono essere rinominati.
  • Non è possibile modificare il nome del database mentre altri utenti accedono al database.
  • La rinominazione di un database non modifica il nome fisico dei file di database su disco o i nomi logici dei file. Per altre informazioni, vedere Database Files and Filegroups.
  • Non è possibile rinominare un database SQL di Azure configurato in una relazione di replica geografica attiva.

Autorizzazioni

È richiesta l'autorizzazione ALTER per il database.

Usare SQL Server Management Studio

Usare la procedura seguente per rinominare un database SQL Server o SQL di Azure usando SQL Server Management Studio.

  1. In SQL Server Management Studio selezionare Esplora oggetti. Per aprire Esplora oggetti selezionare F8. In alternativa, nel menu principale fare clic su Visualizza e quindi selezionare Esplora oggetti:

  2. In Esplora oggetticonnettersi a un'istanza di SQL Server e quindi espandere l'istanza.

  3. Assicurarsi che non siano presenti connessioni aperte al database. Se si usa SQL Server, è possibile impostare il database in modalità utente singolo per chiudere le connessioni aperte e impedire ad altri utenti di connettersi mentre si modifica il nome del database.

  4. In Esplora oggetti espandere Database e fare clic con il pulsante destro del mouse sul database che si vuole rinominare, quindi selezionare Rinomina.

  5. Immettere il nuovo nome del database, quindi selezionare OK

  6. Se il database è il database predefinito, vedere Ripristinare il database predefinito dopo la rinominazione.

  7. Aggiornare l'elenco di database in Esplora oggetti.

Usare Transact-SQL

Per rinominare un database di SQL Server impostando la modalità utente singolo

Usare la procedura seguente per rinominare un database di SQL Server mediante T-SQL in SQL Server Management Studio, inclusi i passaggi per impostare la modalità utente singolo per il database e per tornare a impostare la modalità multiutente dopo la modifica del nome.

  1. Connettersi al database master per l'istanza in uso.
  2. Aprire una finestra di query.
  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio il nome del database MyTestDatabase viene modificato in MyTestDatabaseCopy.

Avviso

Per ottenere rapidamente l'accesso esclusivo, l'esempio di codice usa l'opzione di terminazione WITH ROLLBACK IMMEDIATE. Questa operazione comporterà il rollback di tutte le transazioni incomplete e l'immediata interruzione di qualsiasi altra connessione al database MyTestDatabase .

USE master;  
GO  
ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
GO  
ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
GO
  1. Facoltativamente, se il database è il database predefinito, vedere Reimpostare il database predefinito dopo la ridenominazione.

Per rinominare un database SQL di Azure

Usare la procedura seguente per rinominare un database SQL di Azure usando T-SQL in SQL Server Management Studio.

  1. Connettersi al database master per l'istanza in uso.

  2. Aprire una finestra di query.

  3. Assicurarsi che nessuno stia usando il database.

  4. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio il nome del database MyTestDatabase viene modificato in MyTestDatabaseCopy.

    ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
    

Backup dopo la modifica del nome di un database

Dopo la ridenominazione di un database in SQL Server, eseguire il backup del database master. Nel database SQL di Azure questo non è necessario, perché i backup vengono eseguiti automaticamente.

Reimpostare il database predefinito dopo la ridenominazione

Se il database da rinominare è stato impostato come database predefinito di un account di accesso di SQL Server, è possibile che venga visualizzato l'errore 4064, Cannot open user default database. Usare il seguente comando per modificare il valore predefinito nel database rinominato:

USE [master]
GO
ALTER LOGIN [login] WITH DEFAULT_DATABASE=[new-database-name];
GO

Passaggi successivi