Rinominare viste

Si applica a: SQL Server Database SQL di Azure Not supported. Azure Synapse Analytics Piattaforma di strumenti analitici (PDW)

È possibile rinominare una vista in SQL Server usando SQL Server Management Studio o Transact-SQL.

Avviso

Se si rinomina una vista, è possibile che smettano di funzionare il codice e le applicazioni che dipendono da essa, incluse altre viste, query, stored procedure, funzioni definite dall'utente e applicazioni client. Tali errori inoltre tendono a propagarsi a cascata.

Prerequisiti

  1. Ottenere un elenco di tutte le dipendenze dalla vista. È necessario modificare qualsiasi oggetto, script o applicazione che fa riferimento alla vista per riflettere il nuovo nome di quest'ultima. Per altre informazioni, vedere Get Information About a View.
  2. Si consiglia di eliminare la vista e di ricrearla con un nuovo nome anziché rinominarla. Se si ricrea la vista, si aggiornano le informazioni sulle dipendenze per gli oggetti a cui viene fatto riferimento nella vista.
    1. L'eliminazione e la ricreazione di una vista rimuoveranno tutte le autorizzazioni SQL granulari assegnate alla vista. Se alla vista vengono assegnate autorizzazioni SQL granulari, sarà necessario CONCEDERE di nuovo le autorizzazioni per la visualizzazione dopo la creazione. Per recuperare le autorizzazioni granulari concesse per un oggetto prima dell'eliminazione, vedere gli esempi in sys.database_permissions (Transact-SQL). Per concedere un'autorizzazione, vedere Concedere un'autorizzazione a un'entità.

Autorizzazioni

Sono richieste l'autorizzazione ALTER per SCHEMA o CONTROL per OBJECT e l'autorizzazione CREATE VIEW per il database.

Usare SQL Server Management Studio

Rinominare una vista

  1. In Esplora oggettiespandere il database contenente la vista da rinominare, quindi espandere la cartella Vista .

  2. Fare clic con il pulsante destro del mouse sulla vista da rinominare e scegliere Rinomina.

  3. Immettere il nuovo nome della vista.

Usare Transact-SQL

Nonostante sia possibile usare sp_rename per modificare il nome della vista, si consiglia di eliminare quella esistente e di ricrearla con il nuovo nome.

La ridenominazione di una stored procedure, di una vista o di un trigger con sp_rename non comporta la modifica del nome dell'oggetto corrispondente nella colonna di definizione della vista del catalogo sys.sql_modules. Ciò può causare confusione. Pertanto, non è consigliabile usare sp_rename per rinominare gli oggetti. In alternativa, eliminare e ricreare l'oggetto con il nuovo nome.

Ad esempio:

DROP VIEW [dbo].[vOrders];
GO

CREATE VIEW [dbo].[vOrders]
AS 
<select_statement>
GO

Per altre informazioni, vedere CREATE VIEW (Transact-SQL) e DROP VIEW (Transact-SQL).

Completamento: Dopo aver ridenominato una vista

  1. Assicurarsi che tutti gli oggetti, gli script e le applicazioni che fanno riferimento al nome precedente della vista usino ora il nuovo nome.
  2. L'eliminazione e la ricreazione di una vista rimuoveranno tutte le autorizzazioni SQL granulari assegnate alla vista. Se alla vista vengono assegnate autorizzazioni SQL granulari, sarà necessario CONCEDERE di nuovo le autorizzazioni per la visualizzazione quando viene ricreata. Per recuperare le autorizzazioni granulari concesse per un oggetto prima dell'eliminazione, vedere gli esempi in sys.database_permissions (Transact-SQL). Per concedere un'autorizzazione, vedere Concedere un'autorizzazione a un'entità.