Modifica di chiavi primarieModify Primary Keys

QUESTO ARGOMENTO SI APPLICA A: sìSQL Server (a partire dalla versione 2016)sìDatabase SQL di AzurenoAzure SQL Data Warehouse noParallel Data Warehouse THIS TOPIC APPLIES TO: yesSQL Server (starting with 2016)yesAzure SQL DatabasenoAzure SQL Data Warehouse noParallel Data Warehouse

È possibile modificare chiave primaria in SQL Server 2017SQL Server 2017 tramite SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.You can modify a primary key in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. È possibile modificare la chiave primaria di una tabella modificando l'ordine della colonna, il nome dell'indice, l'opzione cluster o il fattore di riempimento.You can modify the primary key of a table by changing the column order, index name, clustered option, or fill factor.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Sicurezza Security

Autorizzazioni Permissions

È necessario disporre dell'autorizzazione ALTER per la tabella.Requires ALTER permission on the table.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per modificare una chiave primariaTo modify a primary key

  1. Aprire Progettazione tabelle per la tabella di cui modificare la chiave primaria, fare clic con il pulsante destro del mouse in Progettazione tabelle e scegliere Indici/chiavi dal menu di scelta rapida.Open the Table Designer for the table whose primary key you want to modify, right-click in the Table Designer, and choose Indexes/Keys from the shortcut menu.

  2. Nella finestra di dialogo Indici/chiavi selezionare l'indice di chiave primaria dall'elenco Indice o chiave primaria/univoca .In the Indexes/Keys dialog box, select the primary key index from the Selected Primary/Unique Key or Index list.

  3. Completare un'operazione dalla tabella seguente:Complete an action from the following table:

    PerTo seguire le operazioni di seguito riportateFollow these steps
    Rinominare la chiave primariaRename the primary key Digitare un nuovo nome nella casella Nome .Type a new name in the Name box. Scegliere un nome che non sia ancora presente nell'elenco Indice o chiave primaria/univoca .Make sure that your new name does not duplicate a name in the Selected Primary/Unique Key or Index list.
    Impostare l'opzione clusterSet the clustered option Per creare un indice cluster per la chiave primaria, selezionare Crea come CLUSTERED, quindi selezionare l'opzione dall'elenco a discesa.To create a clustered index for the primary key, select Create as CLUSTERED, and select the option from the drop-down list box. Per ogni tabella è possibile creare un solo indice cluster.Only one clustered index can exist per table. Se questa opzione non è disponibile per l'indice desiderato, deselezionare dapprima la relativa opzione sull'indice cluster esistente.If this option is not available for your index, you must first clear this setting on the existing clustered index.

    Se questa opzione non viene selezionata, viene creato un indice unico non cluster.If this option is not selected, a unique nonclustered index is created.
    Definire un fattore di riempimentoDefine a fill factor Espandere la categoria Specifica riempimento e digitare un numero intero compreso tra 0 e 100 nella casella Riempimento .Expand the Fill Specification category and type an integer from 0 to 100 in the Fill factor box. Per altre informazioni sui fattori di riempimento e sul loro uso, vedere Specificare un fattore di riempimento per un indice.For more information about fill factors and their uses, see Specify Fill Factor for an Index.
    Cambiare l'ordine delle colonneChange the column order Selezionare Colonne, quindi fare clic sui puntini di sospensione (…) a destra della proprietà.Select Columns, and then click the ellipses (…) to the right of the property. Nella finestra di dialogo Colonne indice rimuovere le colonne dalla chiave primaria,In the Index Columns dialog box, remove the columns from the primary key. quindi aggiungerle nuovamente nell'ordine desiderato.Then add the columns back in the order you want. Per rimuovere una colonna dalla chiave, eliminare semplicemente il nome colonna dall'elenco Nome colonna .To remove a column from the key, simply remove the column name from the Column name list.
  4. Nel menu File scegliere Salvatable name.On the File menu, click Savetable name.

Utilizzo di Transact-SQL Using Transact-SQL

Per modificare una chiave primariaTo modify a primary key

Per modificare un vincolo PRIMARY KEY utilizzando Transact-SQL, è innanzitutto necessario eliminare il vincolo PRIMARY KEY esistente e quindi crearlo di nuovo con la nuova definizione.To modify a PRIMARY KEY constraint using Transact-SQL, you must first delete the existing PRIMARY KEY constraint and then re-create it with the new definition. Per ulteriori informazioni, vedere Delete Primary Keys e Create Primary Keys.For more information, see Delete Primary Keys and Create Primary Keys.