ALTER DATABASE (Transact-SQL)ALTER DATABASE (Transact-SQL)

Consente di modificare alcune opzioni di configurazione di un database.Modifies certain configuration options of a database.

Questo articolo fornisce la sintassi, gli argomenti, la sezione Osservazioni, le autorizzazioni ed esempi per qualsiasi prodotto SQL scelto.This article provides the syntax, arguments, remarks, permissions, and examples for whichever SQL product you choose.

Per altre informazioni sulle convenzioni di sintassi, vedere Convenzioni della sintassi Transact-SQL.For more information about the syntax conventions, see Transact-SQL Syntax Conventions.

Fare clic su un prodotto.Click a product!

Nella riga seguente fare clic su qualsiasi nome di prodotto.In the following row, click whichever product name you are interested in. Verrà visualizzato un contenuto diverso in questa pagina Web, appropriato per il prodotto su cui si fa clic.The click displays different content here on this webpage, appropriate for whichever product you click.

*_ SQL Server *_  * SQL Server *   Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
Istanza gestita
database SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Panoramica: SQL ServerOverview: SQL Server

In SQL Server, questa istruzione consente di modificare un database oppure i file e i filegroup associati al database.In SQL Server, this statement modifies a database, or the files and filegroups associated with the database. Consente di aggiungere o rimuovere file e filegroup in un database, modificare gli attributi di un database oppure dei relativi file e filegroup, modificare le regole di confronto e impostare le opzioni del database.Adds or removes files and filegroups from a database, changes the attributes of a database or its files and filegroups, changes the database collation, and sets database options. Non è possibile modificare snapshot di database.Database snapshots cannot be modified. Per la modifica delle opzioni di database associate alla replica, usare sp_replicationdboption.To modify database options associated with replication, use sp_replicationdboption.

A causa della lunghezza, la sintassi di ALTER DATABASE è separata in più articoli.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE: l'articolo corrente fornisce la sintassi e le informazioni correlate per cambiare il nome e le regole di confronto di un database.ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

Opzioni per file e filegroup ALTER DATABASE Fornisce la sintassi e le informazioni correlate per l'aggiunta e la rimozione di file e filegroup da un database e per la modifica degli attributi di file e filegroup.ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

Opzioni ALTER DATABASE SET Fornisce la sintassi e le informazioni correlate per la modifica degli attributi di un database utilizzando le opzioni SET di ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Mirroring del database di ALTER DATABASE Fornisce la sintassi e le informazioni correlate per le opzioni SET di ALTER DATABASE relative al mirroring del database.ALTER DATABASE Database Mirroring Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database mirroring.

SET HADR di ALTER DATABASE SET Fornisce la sintassi e le informazioni correlate per le opzioni Gruppi di disponibilità Always OnAlways On availability groups di ALTER DATABASE per la configurazione di un database secondario in una replica secondaria di un gruppo di disponibilità Always On.ALTER DATABASE SET HADR Provides the syntax and related information for the Gruppi di disponibilità Always OnAlways On availability groups options of ALTER DATABASE for configuring a secondary database on a secondary replica of an Always On availability group.

Livello di compatibilità ALTER DATABASE Include la sintassi e le informazioni correlate per le opzioni SET di ALTER DATABASE relative ai livelli di compatibilità del database.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

ALTER DATABASE SCOPED CONFIGURATION Offre la sintassi per le configurazioni con ambito database usate per impostazioni a livello di database singolo, come i comportamenti correlati all'ottimizzazione query e all'esecuzione di query.ALTER DATABASE SCOPED CONFIGURATION Provides the syntax related to database scoped configurations used for individual database level settings such as query optimization and query execution related behaviors.

SintassiSyntax

-- SQL Server Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>
  | SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<file_and_filegroup_options>::=
  <add_or_modify_files>::=
  <filespec>::=
  <add_or_modify_filegroups>::=
  <filegroup_updatability_option>::=

<option_spec>::=
{
  | <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <database_mirroring_option>
  | <date_correlation_optimization_option>
  | <db_encryption_option>
  | <db_state_option>
  | <db_update_option>
  | <db_user_access_option><delayed_durability_option>
  | <external_access_option>
  | <FILESTREAM_options>
  | <HADR_options>
  | <parameterization_option>
  | <query_store_options>
  | <recovery_option>
  | <service_broker_option>
  | <snapshot_option>
  | <sql_option>
  | <termination>
  | <temporal_history_retention>
  | <compatibility_level>
      { 150 | 140 | 130 | 120 | 110 | 100 | 90 }
}

ArgomentiArguments

database_name è il nome del database da modificare.database_name Is the name of the database to be modified.

Nota

Questa opzione non è disponibile in un database indipendente.This option is not available in a Contained Database.

CURRENT Si applica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) fino a SQL Server 2019SQL Server 2019.CURRENT Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2019SQL Server 2019.

Specifica che il database corrente in uso deve essere modificato.Designates that the current database in use should be altered.

MODIFY NAME =new_database_name rinomina il database con il nome specificato come new_database_name.MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name.

COLLATE collation_name specifica le regole di confronto per il database.COLLATE collation_name Specifies the collation for the database. In collation_name è possibile usare nomi di regole di confronto di Windows o SQL.collation_name can be either a Windows collation name or a SQL collation name. Se omesso, al database vengono assegnate le regole di confronto dell'istanza di SQL ServerSQL Server.If not specified, the database is assigned the collation of the instance of SQL ServerSQL Server.

Nota

Le regole di confronto non possono essere modificate dopo la creazione del database in Database SQL di AzureAzure SQL Database.Collation cannot be changed after database has been created on Database SQL di AzureAzure SQL Database.

Quando si creano database con regole di confronto diverse da quelle predefinite, i dati nel database rispettano sempre le regole di confronto specificate.When creating databases with other than the default collation, the data in the database always respects the specified collation. Per SQL ServerSQL Server, quando si crea un database indipendente, le informazioni del catalogo interno vengono mantenute usando le regole di confronto predefinite di SQL ServerSQL Server, ovvero Latin1_General_100_CI_AS_WS_KS_SC.For SQL ServerSQL Server, when creating a contained database, the internal catalog information is maintained using the SQL ServerSQL Server default collation, Latin1_General_100_CI_AS_WS_KS_SC.

Per altre informazioni sui nomi di regole di confronto Windows e SQL, vedere COLLATE.For more information about the Windows and SQL collation names, see COLLATE.

<delayed_durability_option> ::= Si applica a: SQL Server 2014 (12.x)SQL Server 2014 (12.x) fino a SQL Server 2019SQL Server 2019.<delayed_durability_option> ::= Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2019SQL Server 2019.

Per altre informazioni, vedere Opzioni di ALTER DATABASE SET e Controllo della durabilità delle transazioni.For more information see ALTER DATABASE SET Options and Control Transaction Durability.

<file_and_filegroup_options>::= Per altre informazioni, vedere Opzioni per file e filegroup ALTER DATABASE.<file_and_filegroup_options>::= For more information, see ALTER DATABASE File and Filegroup Options.

RemarksRemarks

Per rimuovere un database usare DROP DATABASE.To remove a database, use DROP DATABASE.

Per ridurre le dimensioni di un database, usare DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

L'istruzione ALTER DATABASE deve essere eseguita in modalità autocommit, che è la modalità predefinita di gestione delle transazioni, e non è consentita in una transazione esplicita o implicita.The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

Lo stato di un file di database, ad esempio online o offline, viene mantenuto indipendentemente dallo stato del database.The state of a database file (for example, online or offline), is maintained independently from the state of the database. Per altre informazioni, vedere Stati del file.For more information, see File States. Lo stato dei file all'interno di un filegroup determina la disponibilità dell'intero filegroup.The state of the files within a filegroup determines the availability of the whole filegroup. Un filegroup è disponibile se tutti i file in esso inclusi sono online.For a filegroup to be available, all files within the filegroup must be online. Se un filegroup è offline, qualsiasi tentativo di accesso al filegroup tramite un'istruzione SQL avrà esito negativo e verrà generato un errore.If a filegroup is offline, any try to access the filegroup by an SQL statement will fail with an error. Per la compilazione di piani delle query per istruzioni SELECT, Query Optimizer evita gli indici non cluster e le viste indicizzate presenti in filegroup offline.When you build query plans for SELECT statements, the query optimizer avoids nonclustered indexes and indexed views that reside in offline filegroups. Ciò consente la corretta esecuzione di tali istruzioni.This enables these statements to succeed. Se tuttavia il filegroup offline contiene l'indice cluster o heap della tabella di destinazione, l'istruzione SELECT avrà esito negativo,However, if the offline filegroup contains the heap or clustered index of the target table, the SELECT statements fail. così come tutte le istruzioni INSERT, UPDATE o DELETE che implicano la modifica di una tabella tramite un indice incluso in un filegroup offline.Additionally, any INSERT, UPDATE, or DELETE statement that modifies a table with any index in an offline filegroup will fail.

Quando un database è nello stato RESTORING, la maggior parte delle istruzioni ALTER DATABASE avrà esito negativo.When a database is in the RESTORING state, most ALTER DATABASE statements will fail. Un'alternativa consiste nell'impostare le opzioni di mirroring del database.The exception is setting database mirroring options. Lo stato RESTORING può essere impostato durante un'operazione di ripristino attiva o quando un'operazione di ripristino di un database o di un file di log ha esito negativo a causa di un file di backup danneggiato.A database may be in the RESTORING state during an active restore operation or when a restore operation of a database or log file fails because of a corrupted backup file.

La cache dei piani per l'istanza di SQL ServerSQL Server viene cancellata quando si imposta una delle opzioni seguenti.The plan cache for the instance of SQL ServerSQL Server is cleared by setting one of the following options.

OFFLINEOFFLINE READ_WRITEREAD_WRITE
ONLINEONLINE MODIFY FILEGROUP DEFAULTMODIFY FILEGROUP DEFAULT
MODIFY_NAMEMODIFY_NAME MODIFY FILEGROUP READ_WRITEMODIFY FILEGROUP READ_WRITE
COLLATECOLLATE MODIFY FILEGROUP READ_ONLYMODIFY FILEGROUP READ_ONLY
READ_ONLYREAD_ONLY PAGE_VERIFYPAGE_VERIFY

La cancellazione della cache dei piani comporta la ricompilazione di tutti i piani di esecuzione successivi e può causare un peggioramento improvviso e temporaneo delle prestazioni di esecuzione delle query.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Per ogni archivio cache cancellato nella cache dei piani, il log degli errori di SQL ServerSQL Server contiene il messaggio informativo seguente: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Questo messaggio viene registrato ogni cinque minuti per tutta la durata dello scaricamento della cache.This message is logged every five minutes as long as the cache is flushed within that time interval.

La cache dei piani viene inoltre scaricata negli scenari seguenti:The plan cache is also flushed in the following scenarios:

  • L'opzione AUTO_CLOSE di un database è impostata su ON.A database has the AUTO_CLOSE database option set to ON. Se il database non viene utilizzato da alcuna connessione utente, neanche come riferimento, tramite l'attività in background viene effettuato il tentativo di chiusura e di arresto automatici del database.When no user connection references or uses the database, the background task tries to close and shut down the database automatically.
  • Vengono eseguite diverse query su un database contenente opzioni predefinite.You run several queries against a database that has default options. Successivamente, il database viene eliminato.Then, the database is dropped.
  • Viene eliminato uno snapshot del database per un database di origine.A database snapshot for a source database is dropped.
  • Viene ricompilato correttamente il log delle transazioni per un database.You successfully rebuild the transaction log for a database.
  • Viene ripristinato un backup del database.You restore a database backup.
  • Viene scollegato un database.You detach a database.

Modifica delle regole di confronto del databaseChanging the Database Collation

Prima di applicare regole di confronto diverse a un database, verificare che siano soddisfatte le condizioni seguenti:Before you apply a different collation to a database, make sure that the following conditions are in place:

  • Nessun altro utente sta utilizzando il database.You are the only one currently using the database.
  • Nessun oggetto associato a schema dipende dalle regole di confronto del database.No schema-bound object depends on the collation of the database.

Se il database contiene gli oggetti seguenti che dipendono dalle regole di confronto del database, l'istruzione ALTER DATABASEdatabase_nameCOLLATE avrà esito negativo.If the following objects, which depend on the database collation, exist in the database, the ALTER DATABASEdatabase_nameCOLLATE statement will fail. SQL ServerSQL Server restituirà un messaggio di errore per ogni oggetto che blocca l'azione ALTER:will return an error message for each object blocking the ALTER action:

  • Funzioni definite dall'utente e viste create con SCHEMABINDINGUser-defined functions and views created with SCHEMABINDING
  • Colonne calcolateComputed columns
  • vincoli CHECKCHECK constraints
  • Funzioni con valori di tabella che restituiscono tabelle contenenti colonne di tipo carattere con regole di confronto ereditate dalle regole di confronto predefinite del databaseTable-valued functions that return tables with character columns with collations inherited from the default database collation

Le informazioni sulle dipendenze per le entità non associate a schemi vengono aggiornate automaticamente quando vengono modificate le regole di confronto del database.Dependency information for non-schema-bound entities is automatically updated when the database collation is changed.

La modifica delle regole di confronto del database non comporta la creazione di duplicati per i nomi di sistema degli oggetti di database.Changing the database collation does not create duplicates among any system names for the database objects. Se la modifica delle regole di confronto genera nomi duplicati, gli spazi dei nomi seguenti potrebbero impedire tale modifica:If duplicate names result from the changed collation, the following namespaces may cause the failure of a database collation change:

  • Nomi di oggetti, come stored procedure, tabelle, trigger o visteObject names such as a procedure, table, trigger, or view
  • Nomi di schemi.Schema names
  • Entità, come gruppi, ruoli o utentiPrincipals such as a group, role, or user
  • Nomi di tipi di dati scalari, come i tipi di dati di sistema e definiti dall'utenteScalar-type names such as system and user-defined types
  • Nomi di cataloghi full-textFull-text catalog names
  • Nomi di colonne o parametri in un oggettoColumn or parameter names within an object
  • Nomi di indici in una tabellaIndex names within a table

Se vengono generati nomi duplicati in seguito all'applicazione delle nuove regole di confronto, l'azione di modifica avrà esito negativo e in SQL ServerSQL Server verrà visualizzato un messaggio di errore che indica lo spazio dei nomi in cui è stato identificato il duplicato.Duplicate names resulting from the new collation will cause the change action to fail, and SQL ServerSQL Server will return an error message specifying the namespace where the duplicate was found.

Visualizzazione delle informazioni sui databaseViewing Database Information

Per restituire informazioni su database, file e filegroup, è possibile usare viste del catalogo, funzioni di sistema e stored procedure di sistema.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

AutorizzazioniPermissions

È richiesta l'autorizzazione ALTER per il database.Requires ALTER permission on the database.

EsempiExamples

A.A. Modifica del nome di un databaseChanging the name of a database

Nell'esempio seguente il nome del database AdventureWorks2012 viene modificato in Northwind.The following example changes the name of the AdventureWorks2012 database to Northwind.

USE master;
GO
ALTER DATABASE AdventureWorks2012
Modify Name = Northwind ;
GO

B.B. Modifica delle regole di confronto del databaseChanging the collation of a database

Nell'esempio seguente viene creato un database denominato testdb con le regole di confronto SQL_Latin1_General_CP1_CI_AS, quindi vengono modificate le regole di confronto del database testdb in COLLATE French_CI_AI.The following example creates a database named testdb with the SQL_Latin1_General_CP1_CI_AS collation, and then changes the collation of the testdb database to COLLATE French_CI_AI.

Si applica a: SQL Server 2008SQL Server 2008 tramite SQL Server 2019SQL Server 2019.Applies to: SQL Server 2008SQL Server 2008 through SQL Server 2019SQL Server 2019.

USE master;
GO

CREATE DATABASE testdb
COLLATE SQL_Latin1_General_CP1_CI_AS ;
GO

ALTER DATABASE testDB
COLLATE French_CI_AI ;
GO

Vedere ancheSee Also

SQL ServerSQL Server *Database singolo/pool elastico
database SQL*
 
* SQL Database
single database/elastic pool *
 
Istanza gestita
database SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Panoramica: Database singolo/pool elastico di database SQL di AzureOverview: Azure SQL Database single database/elastic pool

Nel database SQL di Azure usare questa istruzione per modificare un database in un database singolo/pool elastico.In Azure SQL Database, use this statement to modify a database on a single database/elastic pool. Usare questa istruzione per modificare il nome di un database, modificare l'obiettivo di servizio e l'edizione del database, creare un join con o rimuovere il database da un pool elastico, impostare le opzioni di database, aggiungere o rimuovere il database come database secondario in una relazione di replica geografica e impostare il livello di compatibilità del database.Use this statement to change the name of a database, change the edition and service objective of the database, join or remove the database to or from an elastic pool, set database options, add or remove the database as a secondary in a geo-replication relationship, and set the database compatibility level.

A causa della lunghezza, la sintassi di ALTER DATABASE è separata in più articoli.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE: l'articolo corrente fornisce la sintassi e le informazioni correlate per cambiare il nome e le regole di confronto di un database.ALTER DATABASE The current article provides the syntax and related information for changing the name and the collation of a database.

Opzioni ALTER DATABASE SET Fornisce la sintassi e le informazioni correlate per la modifica degli attributi di un database utilizzando le opzioni SET di ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Livello di compatibilità ALTER DATABASE Include la sintassi e le informazioni correlate per le opzioni SET di ALTER DATABASE relative ai livelli di compatibilità del database.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SintassiSyntax

-- Azure SQL Database Syntax
ALTER DATABASE { database_name | CURRENT }
{
    MODIFY NAME = new_database_name
  | MODIFY ( <edition_options> [, ... n] )
  | SET { <option_spec> [ ,... n ] WITH <termination>}
  | ADD SECONDARY ON SERVER <partner_server_name>
    [WITH ( <add-secondary-option>::=[, ... n] ) ]
  | REMOVE SECONDARY ON SERVER <partner_server_name>
  | FAILOVER
  | FORCE_FAILOVER_ALLOW_DATA_LOSS
}
[;]

<edition_options> ::=
{

  MAXSIZE = { 100 MB | 250 MB | 500 MB | 1 ... 1024 ... 4096 GB }
  | EDITION = { 'basic' | 'standard' | 'premium' | 'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale'}
  | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL (name = <elastic_pool_name>) }
       }
}

<add-secondary-option> ::=
   {
      ALLOW_CONNECTIONS = { ALL | NO }
     | SERVICE_OBJECTIVE =
       { <service-objective>
       | { ELASTIC_POOL ( name = <elastic_pool_name>) }
       }
   }

<service-objective> ::={ 'basic' |'S0' | 'S1' | 'S2' | 'S3'| 'S4'| 'S6'| 'S7'| 'S9'| 'S12'
       | 'P1' | 'P2' | 'P4'| 'P6' | 'P11' | 'P15'
      | 'GP_Gen4_1' | 'GP_Gen4_2' | 'GP_Gen4_3' | 'GP_Gen4_4' | 'GP_Gen4_5' | 'GP_Gen4_6'
      | 'GP_Gen4_7' | 'GP_Gen4_8' | 'GP_Gen4_9' | 'GP_Gen4_10' | 'GP_Gen4_16' | 'GP_Gen4_24'
      | 'GP_Gen5_2' | 'GP_Gen5_4' | 'GP_Gen5_6' | 'GP_Gen5_8' | 'GP_Gen5_10' | 'GP_Gen5_12' | 'GP_Gen5_14'
      | 'GP_Gen5_16' | 'GP_Gen5_18' | 'GP_Gen5_20' | 'GP_Gen5_24' | 'GP_Gen5_32' | 'GP_Gen5_40' | 'GP_Gen5_80'
      | 'GP_Fsv2_72'
      | 'GP_S_Gen5_1' | 'GP_S_Gen5_2' | 'GP_S_Gen5_4' | 'GP_S_Gen5_6' | 'GP_S_Gen5_8'
      | 'GP_S_Gen5_10' | 'GP_S_Gen5_12' | 'GP_S_Gen5_14' | 'GP_S_Gen5_16'
      | 'BC_Gen4_1' | 'BC_Gen4_2' | 'BC_Gen4_3' | 'BC_Gen4_4' | 'BC_Gen4_5' | 'BC_Gen4_6'
      | 'BC_Gen4_7' | 'BC_Gen4_8' | 'BC_Gen4_9' | 'BC_Gen4_10' | 'BC_Gen4_16' | 'BC_Gen4_24'
      | 'BC_Gen5_2' | 'BC_Gen5_4' | 'BC_Gen5_6' | 'BC_Gen5_8' | 'BC_Gen5_10' | 'BC_Gen5_12' | 'BC_Gen5_14'
      | 'BC_Gen5_16' | 'BC_Gen5_18' | 'BC_Gen5_20' | 'BC_Gen5_24' | 'BC_Gen5_32' | 'BC_Gen5_40' | 'BC_Gen5_80'
      | 'BC_M_128'
      | 'HS_GEN4_1' | 'HS_GEN4_2' | 'HS_GEN4_4' | 'HS_GEN4_8' | 'HS_GEN4_16' | 'HS_GEN4_24'
      | 'HS_GEN5_2' | 'HS_GEN5_4' | 'HS_GEN5_8' | 'HS_GEN5_16' | 'HS_GEN5_24' | 'HS_GEN5_32' | 'HS_GEN5_48' | 'HS_GEN5_80'
      | { ELASTIC_POOL(name = <elastic_pool_name>) }
      }

<option_spec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <termination>
  | <temporal_history_retention>
  | <compatibility_level>
    { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}

ArgomentiArguments

database_name è il nome del database da modificare.database_name Is the name of the database to be modified.

CURRENT Specifica che il database corrente in uso deve essere modificato.CURRENT Designates that the current database in use should be altered.

MODIFY NAME =new_database_name rinomina il database con il nome specificato come new_database_name.MODIFY NAME =new_database_name Renames the database with the name specified as new_database_name. Nell'esempio seguente il nome di un database db1 viene modificato in db2:The following example changes the name of a database db1 to db2:

ALTER DATABASE db1
    MODIFY Name = db2 ;

MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']) Modifica il livello di servizio del database.MODIFY (EDITION = ['basic' | 'standard' | 'premium' |'GeneralPurpose' | 'BusinessCritical' | 'Hyperscale']) Changes the service tier of the database.

Nell'esempio seguente l'edizione viene modificata in premium:The following example changes edition to premium:

ALTER DATABASE current
    MODIFY (EDITION = 'premium');

Importante

La modifica di EDITION ha esito negativo se la proprietà MAXSIZE per il database è impostata su un valore non compreso nell'intervallo valido supportato da questa edizione.EDITION change fails if the MAXSIZE property for the database is set to a value outside the valid range supported by that edition.

MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB) Specifica le dimensioni massime del database.MODIFY (MAXSIZE = [100 MB | 500 MB | 1 | 1024...4096] GB) Specifies the maximum size of the database. Le dimensioni massime devono essere conformi al set valido di valori per la proprietà EDITION del database.The maximum size must comply with the valid set of values for the EDITION property of the database. La modifica delle dimensioni massime del database può causare la modifica del valore di EDITION del database.Changing the maximum size of the database may cause the database EDITION to be changed.

Nota

L'argomento MAXSIZE non è applicabile ai singoli database nel livello di servizio Hyperscale.The MAXSIZE argument does not apply to single databases in the Hyperscale service tier. I database del livello di servizio Hyperscale crescono in base alle necessità, fino a 100 TB.Hyperscale service tier databases grow as needed, up to 100 TB. Il servizio database SQL aggiunge automaticamente l'archiviazione: non è necessaria impostare le dimensioni massime.The SQL Database service adds storage automatically - you do not need to set a maximum size.

Modello DTUDTU model

MAXSIZEMAXSIZE BaseBasic S0-S2S0-S2 S3-S12S3-S12 P1-P6P1-P6 P11-P15P11-P15
100 MB100 MB
250 MB250 MB
500 MB500 MB
1 GB1 GB
2 GB2 GB √ (P)√ (D)
5 GB5 GB N/DN/A
10 GB10 GB N/DN/A
20 GB20 GB N/DN/A
30 GB30 GB N/DN/A
40 GB40 GB N/DN/A
50 GB50 GB N/DN/A
100 GB100 GB N/DN/A
150 GB150 GB N/DN/A
200 GB200 GB N/DN/A
250 GB250 GB N/DN/A √ (P)√ (D) √ (P)√ (D)
300 GB300 GB N/DN/A
400 GB400 GB N/DN/A
500 GB500 GB N/DN/A √ (P)√ (D)
750 GB750 GB N/DN/A
1024 GB1024 GB N/DN/A √ (P)√ (D)
Da 1024 GB fino a 4096 GB con incrementi di 256 GB*From 1024 GB up to 4096 GB in increments of 256 GB* N/DN/A N/DN/A N/DN/A N/DN/A

* P11 e P15 consentono un valore massimo di MAXSIZE pari a 4 TB. Le dimensioni predefinite sono 1024 GB.* P11 and P15 allow MAXSIZE up to 4 TB with 1024 GB being the default size. P11 e P15 possono usare fino a 4 TB di spazio di archiviazione incluso senza addebiti aggiuntivi.P11 and P15 can use up to 4 TB of included storage at no additional charge. Nel livello Premium, MAXSIZE maggiore di 1 TB è attualmente disponibile nelle aree seguenti: Stati Uniti orientali 2, Stati Uniti occidentali, US Gov Virginia, Europa occidentale, Germania centrale, Asia sud-orientale, Giappone orientale, Australia orientale, Canada centrale e Canada orientale.In the Premium tier, MAXSIZE greater than 1 TB is currently available in the following regions: US East2, West US, US Gov Virginia, West Europe, Germany Central, South East Asia, Japan East, Australia East, Canada Central, and Canada East. Per altri dettagli relativi ai limiti delle risorse per il modello DTU, vedere DTU resource limits (Limiti delle risorse DTU).For additional details regarding resource limitations for the DTU model, see DTU resource limits.

Il valore MAXSIZE per il modello DTU, se specificato, deve essere un valore valido presente nella tabella precedente per il livello di servizio specificato.The MAXSIZE value for the DTU model, if specified, has to be a valid value shown in the table above for the service tier specified.

Modello vCorevCore model

Utilizzo generico - Calcolo con provisioning - Gen4 (parte 1)General purpose - provisioned compute - Gen4 (part 1)

MAXSIZEMAXSIZE GP_Gen4_1GP_Gen4_1 GP_Gen4_2GP_Gen4_2 GP_Gen4_3GP_Gen4_3 GP_Gen4_4GP_Gen4_4 GP_Gen4_5GP_Gen4_5 GP_Gen4_6GP_Gen4_6
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536

Utilizzo generico - Calcolo con provisioning - Gen4 (parte 2)General purpose - provisioned compute - Gen4 (part 2)

MAXSIZEMAXSIZE GP_Gen4_7GP_Gen4_7 GP_Gen4_8GP_Gen4_8 GP_Gen4_9GP_Gen4_9 GP_Gen4_10GP_Gen4_10 GP_Gen4_16GP_Gen4_16 GP_Gen4_24GP_Gen4_24
Dimensioni massime dei dati (GB)Max data size (GB) 15361536 30723072 30723072 30723072 40964096 40964096

Utilizzo generico - Calcolo con provisioning - Gen5 (parte 1)General purpose - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_Gen5_2GP_Gen5_2 GP_Gen5_4GP_Gen5_4 GP_Gen5_6GP_Gen5_6 GP_Gen5_8GP_Gen5_8 GP_Gen5_10GP_Gen5_10 GP_Gen5_12GP_Gen5_12 GP_Gen5_14GP_Gen5_14
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Utilizzo generico - Calcolo con provisioning - Gen5 (parte 2)General purpose - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_Gen5_16GP_Gen5_16 GP_Gen5_18GP_Gen5_18 GP_Gen5_20GP_Gen5_20 GP_Gen5_24GP_Gen5_24 GP_Gen5_32GP_Gen5_32 GP_Gen5_40GP_Gen5_40 GP_Gen5_80GP_Gen5_80
Dimensioni massime dei dati (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Utilizzo generico - Calcolo con provisioning - Serie FsV2 (anteprima)General purpose - provisioned compute - Fsv2-series (preview)

MAXSIZEMAXSIZE GP_Fsv2_72GP_Fsv2_72
Dimensioni massime dei dati (GB)Max data size (GB) 40964096

Utilizzo generico - Calcolo serverless - Gen5 (parte 1)General purpose - serverless compute - Gen5 (part 1)

MAXSIZEMAXSIZE GP_S_Gen5_1GP_S_Gen5_1 GP_S_Gen5_2GP_S_Gen5_2 GP_S_Gen5_4GP_S_Gen5_4 GP_S_Gen5_6GP_S_Gen5_6 GP_S_Gen5_8GP_S_Gen5_8
Numero massimo vCoreMax vCores 11 22 44 66 88

Utilizzo generico - Calcolo serverless - Gen5 (parte 2)General purpose - serverless compute - Gen5 (part 2)

MAXSIZEMAXSIZE GP_S_Gen5_10GP_S_Gen5_10 GP_S_Gen5_12GP_S_Gen5_12 GP_S_Gen5_14GP_S_Gen5_14 GP_S_Gen5_16GP_S_Gen5_16
Numero massimo vCoreMax vCores 1010 1212 1414 1616

Business critical - Calcolo con provisioning - Gen4 (parte 1)Business critical - provisioned compute - Gen4 (part 1)

Livello di prestazioniPerformance level BC_Gen4_1BC_Gen4_1 BC_Gen4_2BC_Gen4_2 BC_Gen4_3BC_Gen4_3 BC_Gen4_4BC_Gen4_4 BC_Gen4_5BC_Gen4_5 BC_Gen4_6BC_Gen4_6
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Business critical - Calcolo con provisioning - Gen4 (parte 2)Business critical - provisioned compute - Gen4 (part 2)

Livello di prestazioniPerformance level BC_Gen4_7BC_Gen4_7 BC_Gen4_8BC_Gen4_8 BC_Gen4_9BC_Gen4_9 BC_Gen4_10BC_Gen4_10 BC_Gen4_16BC_Gen4_16 BC_Gen4_24BC_Gen4_24
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 10241024 10241024 10241024

Business critical - Calcolo con provisioning - Gen5 (parte 1)Business critical - provisioned compute - Gen5 (part 1)

MAXSIZEMAXSIZE BC_Gen5_2BC_Gen5_2 BC_Gen5_4BC_Gen5_4 BC_Gen5_6BC_Gen5_6 BC_Gen5_8BC_Gen5_8 BC_Gen5_10BC_Gen5_10 BC_Gen5_12BC_Gen5_12 BC_Gen5_14BC_Gen5_14
Dimensioni massime dei dati (GB)Max data size (GB) 10241024 10241024 10241024 15361536 15361536 15361536 15361536

Business critical - Calcolo con provisioning - Gen5 (parte 2)Business critical - provisioned compute - Gen5 (part 2)

MAXSIZEMAXSIZE BC_Gen5_16BC_Gen5_16 BC_Gen5_18BC_Gen5_18 BC_Gen5_20BC_Gen5_20 BC_Gen5_24BC_Gen5_24 BC_Gen5_32BC_Gen5_32 BC_Gen5_40BC_Gen5_40 BC_Gen5_80BC_Gen5_80
Dimensioni massime dei dati (GB)Max data size (GB) 30723072 30723072 30723072 40964096 40964096 40964096 40964096

Business critical - Calcolo con provisioning - Serie M (anteprima)Business critical - provisioned compute - M-series (preview)

MAXSIZEMAXSIZE BC_M_128BC_M_128
Dimensioni massime dei dati (GB)Max data size (GB) 40964096

Se non viene impostato alcun MAXSIZEvalore quando viene usato il modello vCore, il valore predefinito è 32 GB.If no MAXSIZEvalue is set when using the vCore model, the default is 32 GB. Per altri dettagli relativi ai limiti delle risorse per il modello vCore, vedere Limiti delle risorse vCore.For additional details regarding resource limitations for vCore model, see vCore resource limits.

Le seguenti regole vengono applicate agli argomenti MAXSIZE ed EDITION:The following rules apply to MAXSIZE and EDITION arguments:

  • Se il valore di EDITION è specificato e il valore di MAXSIZE viene omesso, viene utilizzato il valore predefinito dell'edizione.If EDITION is specified but MAXSIZE is not specified, the default value for the edition is used. Ad esempio, se EDITION è impostato su Standard e MAXSIZE non è specificato, il valore di MAXSIZE viene automaticamente impostato su 250 MB.For example, is the EDITION is set to Standard, and the MAXSIZE is not specified, then the MAXSIZE is automatically set to 250 MB.
  • Se non vengono specificati né MAXSIZE né EDITION, EDITION viene impostato su Utilizzo generico e MAXSIZE viene impostato su 32 GB.If neither MAXSIZE nor EDITION is specified, the EDITION is set to General Purpose, and MAXSIZE is set to 32 GB.

MODIFY (SERVICE_OBJECTIVE = <service-objective>) Specifica il livello di prestazioni.MODIFY (SERVICE_OBJECTIVE = <service-objective>) Specifies the performance level. Nell'esempio seguente l'obiettivo di servizio di un database Premium viene modificato in P6:The following example changes service objective of a premium database to P6:

ALTER DATABASE current
    MODIFY (SERVICE_OBJECTIVE = 'P6');

SERVICE_OBJECTIVESERVICE_OBJECTIVE

  • Per database singoli e in poolFor single and pooled databases

    • Specifica il livello di prestazioni.Specifies the performance level. I valori disponibili per l'obiettivo di servizio sono: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128.Available values for service objective are: S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128.
  • Per database serverlessFor serverless databases

    • Specifica il livello di prestazioni.Specifies the performance level. I valori disponibili per l'obiettivo di servizio sono: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16.Available values for service objective are: GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16.
  • Per database singoli nel livello di servizio HyperscaleFor single databases in the Hyperscale service tier

    • Specifica il livello di prestazioni.Specifies the performance level. I valori disponibili per l'obiettivo di servizio sono: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.Available values for service objective are: HS_GEN4_1 HS_GEN4_2 HS_GEN4_4 HS_GEN4_8 HS_GEN4_16, HS_GEN4_24, HS_Gen5_2, HS_Gen5_4, HS_Gen5_8, HS_Gen5_16, HS_Gen5_24, HS_Gen5_32, HS_Gen5_48, HS_Gen5_80.

Per le descrizioni degli obiettivi di servizio e altre informazioni su dimensioni, edizioni e combinazioni di obiettivi di servizio, vedere Azure SQL Database Service Tiers and Performance Levels (Livelli di servizio e livelli di prestazioni del database SQL di Azure), DTU resource limits (Limiti delle risorse DTU) e vCore resource limits (Limiti delle risorse vCore).For service objective descriptions and more information about the size, editions, and the service objectives combinations, see Azure SQL Database Service Tiers and Performance Levels, DTU resource limits and vCore resource limits. Il supporto per gli obiettivi di servizio PRS è stato rimosso.Support for PRS service objectives have been removed. In caso di domande, usare l'alias di posta elettronica seguente: premium-rs@microsoft.com.For questions, use this e-mail alias: premium-rs@microsoft.com.

MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>) Per aggiungere un database esistente a un pool elastico, impostare SERVICE_OBJECTIVE del database su ELASTIC_POOL e specificare il nome del pool elastico.MODIFY (SERVICE_OBJECTIVE = ELASTIC_POOL (name = <elastic_pool_name>) To add an existing database to an elastic pool, set the SERVICE_OBJECTIVE of the database to ELASTIC_POOL and provide the name of the elastic pool. È anche possibile usare questa opzione per modificare il database in un pool elastico all'interno dello stesso server.You can also use this option to change the database to a different elastic pool within the same server. Per altre informazioni, vedere Creare e gestire un pool elastico in un database SQL.For more information, see Create and manage a SQL Database elastic pool. Per rimuovere un database da un pool elastico, usare ALTER DATABASE per impostare SERVICE_OBJECTIVE su un livello di prestazioni di un unico database.To remove a database from an elastic pool, use ALTER DATABASE to set the SERVICE_OBJECTIVE to a single database performance level.

Nota

I database con livello di servizio Hyperscale non possono essere aggiunti a un pool elastico.Databases in the Hyperscale service tier cannot be added to an elastic pool.

ADD SECONDARY ON SERVER <partner_server_name>ADD SECONDARY ON SERVER <partner_server_name>

Crea un database secondario con replica geografica usando lo stesso nome in un server partner e trasformando il database locale in un database primario con replica geografica, quindi avvia la replica asincrona dei dati dal database primario nel nuovo database secondario.Creates a geo-replication secondary database with the same name on a partner server, making the local database into a geo-replication primary, and begins asynchronously replicating data from the primary to the new secondary. Se esiste già un database con lo stesso nome nel database secondario, il comando non riesce.If a database with the same name already exists on the secondary, the command fails. Il comando viene eseguito nel database master sul server che ospita il database locale, il quale diventa il database primario.The command is executed on the master database on the server hosting the local database that becomes the primary.

Importante

Il livello di servizio Hyperscale non supporta attualmente la replica geografica.The Hyperscale service tier does not currently support geo-replication.

WITH ALLOW_CONNECTIONS { ALL | NO } Se non si specifica ALLOW_CONNECTION, viene usato il valore ALL per impostazione predefinita.WITH ALLOW_CONNECTIONS { ALL | NO } When ALLOW_CONNECTIONS is not specified, it is set to ALL by default. Se viene impostato ALL, il database è di sola lettura e consente a tutti gli account che hanno le autorizzazioni necessarie di connettersi.If it is set ALL, it is a read-only database that allows all logins with the appropriate permissions to connect.

CON SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128 }WITH SERVICE_OBJECTIVE { S0, S1, S2, S3, S4, S6, S7, S9, S12, P1, P2, P4, P6, P11, P15, GP_GEN4_1, GP_GEN4_2, GP_GEN4_3, GP_GEN4_4, GP_GEN4_5, GP_GEN4_6, GP_GEN4_7, GP_GEN4_8, GP_GEN4_7, GP_GEN4_8, GP_GEN4_9, GP_GEN4_10, GP_GEN4_16, GP_GEN4_24, BC_GEN4_1, BC_GEN4_2, BC_GEN4_3, BC_GEN4_4, BC_GEN4_5, BC_GEN4_6, BC_GEN4_7, BC_GEN4_8, BC_GEN4_9, BC_GEN4_10, BC_GEN4_16, BC_GEN4_24, GP_Gen5_2, GP_Gen5_4, GP_Gen5_6, GP_Gen5_8, GP_Gen5_10, GP_Gen5_12, GP_Gen5_14, GP_Gen5_16, GP_Gen5_18, GP_Gen5_20, GP_Gen5_24, GP_Gen5_32, GP_Gen5_40, GP_Gen5_80, GP_Fsv2_72, GP_S_Gen5_1, GP_S_Gen5_2, GP_S_Gen5_4, GP_S_Gen5_6, GP_S_Gen5_8, GP_S_Gen5_10, GP_S_Gen5_12, GP_S_Gen5_14, GP_S_Gen5_16, BC_Gen5_2, BC_Gen5_4, BC_Gen5_6, BC_Gen5_8, BC_Gen5_10, BC_Gen5_12, BC_Gen5_14, BC_Gen5_16, BC_Gen5_18, BC_Gen5_20, BC_Gen5_24, BC_Gen5_32,BC_Gen5_40, BC_Gen5_80, BC_M_128 }

Se non si specifica SERVICE_OBJECTIVE, il database secondario viene creato allo stesso livello di servizio del database primario.When SERVICE_OBJECTIVE is not specified, the secondary database is created at the same service level as the primary database. Se si specifica SERVICE_OBJECTIVE, il database secondario viene creato al livello specificato.When SERVICE_OBJECTIVE is specified, the secondary database is created at the specified level. Questa opzione supporta la creazione di database secondari con replica geografica con livelli di servizio meno costosi.This option supports creating geo-replicated secondaries with less expensive service levels. Il valore SERVICE_OBJECTIVE specificato deve rientrare nella stessa edizione dell'origine.The SERVICE_OBJECTIVE specified must be within the same edition as the source. Ad esempio, non è possibile specificare S0 se l'edizione è Premium.For example, you cannot specify S0 if the edition is premium.

ELASTIC_POOL (name = <elastic_pool_name>) Se non si specifica ELASTIC_POOL, il database secondario non viene creato in un pool elastico.ELASTIC_POOL (name = <elastic_pool_name>) When ELASTIC_POOL is not specified, the secondary database is not created in an elastic pool. Se si specifica ELASTIC_POOL, il database secondario viene creato nel pool specificato.When ELASTIC_POOL is specified, the secondary database is created in the specified pool.

Importante

Chi esegue il comando ADD SECONDARY deve avere il ruolo DBManager nel server primario, db_owner membership nel database locale e DBManager nel server secondario.The user executing the ADD SECONDARY command must be DBManager on primary server, have db_owner membership in local database, and DBManager on secondary server.

REMOVE SECONDARY ON SERVER <partner_server_name> Rimuove il database secondario con replica geografica nel server specificato.REMOVE SECONDARY ON SERVER <partner_server_name> Removes the specified geo-replicated secondary database on the specified server. Il comando viene eseguito nel database master sul server che ospita il database primario.The command is executed on the master database on the server hosting the primary database.

Importante

Chi esegue il comando REMOVE SECONDARY deve avere il ruolo DBManager nel server primario.The user executing the REMOVE SECONDARY command must be DBManager on the primary server.

FAILOVER Alza di livello il database secondario nella relazione con replica geografica in cui il comando viene eseguito perché il database diventi primario e abbassa di livello il database corrente perché diventi il nuovo database secondario.FAILOVER Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. Durante questo processo, la modalità di replica geografica passa temporaneamente dalla modalità asincrona alla modalità sincrona.As part of this process, the geo-replication mode is temporarily switched from asynchronous mode to synchronous mode. Durante il processo di failover:During the failover process:

  1. Il database primario non accetta più nuove transazioni.The primary stops taking new transactions.
  2. Tutte le transazioni in sospeso vengono scaricate nel database secondario.All outstanding transactions are flushed to the secondary.
  3. Il database secondario diventa il database primario e la replica geografica asincrona viene avviata con il database primario precedente e il nuovo database secondario.The secondary becomes the primary and begins asynchronous geo-replication with the old primary / the new secondary.

Questa sequenza impedisce la perdita di dati.This sequence ensures that no data loss occurs. I due database non sono disponibili generalmente per un periodo di tempo compreso tra 0 e 25 secondi, il tempo necessario per lo scambio dei ruoli.The period during which both databases are unavailable is on the order of 0-25 seconds while the roles are switched. L'operazione totale non richiederà più di un minuto circa.The total operation should take no longer than about one minute. Se il database primario non è disponibile quando viene eseguito questo comando, il comando ha esito negativo e genera un messaggio di errore indicando che il database primario non è disponibile.If the primary database is unavailable when this command is issued, the command fails with an error message indicating that the primary database is not available. Se il processo di failover non viene completato e sembra bloccato, è possibile usare il comando per forzare il failover e accettare la perdita di dati. Se è necessario recuperare i dati persi, chiamare la metodologia DevOps (CSS).If the failover process does not complete and appears stuck, you can use the force failover command and accept data loss - and then, if you need to recover the lost data, call devops (CSS) to recover the lost data.

Importante

Chi esegue il comando FAILOVER deve avere il ruolo DBManager sia nel server primario sia nel server secondario.The user executing the FAILOVER command must be DBManager on both the primary server and the secondary server.

FORCE_FAILOVER_ALLOW_DATA_LOSS Alza di livello il database secondario nella relazione con replica geografica in cui il comando viene eseguito perché il database diventi primario e abbassa di livello il database corrente perché diventi il nuovo database secondario.FORCE_FAILOVER_ALLOW_DATA_LOSS Promotes the secondary database in geo-replication partnership on which the command is executed to become the primary and demotes the current primary to become the new secondary. Usare questo comando solo quando il database primario corrente non è più disponibile.Use this command only when the current primary is no longer available. È progettato per essere usato solo in caso di ripristino di emergenza, quando la disponibilità di ripristino è critica e la perdita di dati è accettabile.It is designed for disaster recovery only, when restoring availability is critical, and some data loss is acceptable.

Durante un failover forzato:During a forced failover:

  1. Il database secondario specificato diventa immediatamente il database primario e inizia ad accettare nuove transazioni.The specified secondary database immediately becomes the primary database and begins accepting new transactions.
  2. Quando il database primario originale si riconnette al nuovo database primario, viene eseguito un backup incrementale nel database primario originale e il database primario originale diventa un nuovo database secondario.When the original primary can reconnect with the new primary, an incremental backup is taken on the original primary, and the original primary becomes a new secondary.
  3. Per ripristinare i dati da questo backup incrementale nel database primario precedente, è necessario usare la metodologia DevOps/CSS.To recover data from this incremental backup on the old primary, the user engages devops/CSS.
  4. Se esistono altri database secondari, vengono riconfigurati automaticamente per diventare i database secondari del nuovo database primario.If there are additional secondaries, they are automatically reconfigured to become secondaries of the new primary. Questo processo è asincrono. Fino al suo completamento, è possibile assistere a un ritardo.This process is asynchronous and there may be a delay until this process completes. Quando la riconfigurazione è completa, i database secondari continuano a essere database secondari del database primario precedente.Until the reconfiguration has completed, the secondaries continue to be secondaries of the old primary.

Importante

L'utente che esegue il comando FORCE_FAILOVER_ALLOW_DATA_LOSS deve appartenere al ruolo dbmanager sia nel server primario sia nel server secondario.The user executing the FORCE_FAILOVER_ALLOW_DATA_LOSS command must be belong to the dbmanager role on both the primary server and the secondary server.

RemarksRemarks

Per rimuovere un database usare DROP DATABASE.To remove a database, use DROP DATABASE. Per ridurre le dimensioni di un database, usare DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

L'istruzione ALTER DATABASE deve essere eseguita in modalità autocommit, che è la modalità predefinita di gestione delle transazioni, e non è consentita in una transazione esplicita o implicita.The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

La cancellazione della cache dei piani comporta la ricompilazione di tutti i piani di esecuzione successivi e può causare un peggioramento improvviso e temporaneo delle prestazioni di esecuzione delle query.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Per ogni archivio cache cancellato nella cache dei piani, il log degli errori di SQL ServerSQL Server contiene il messaggio informativo seguente: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations.For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: SQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations. Questo messaggio viene registrato ogni cinque minuti per tutta la durata dello scaricamento della cache.This message is logged every five minutes as long as the cache is flushed within that time interval.

La cache delle procedure viene inoltre scaricata nello scenario seguente: Vengono eseguite diverse query su un database contenente opzioni predefinite.The procedure cache is also flushed in the following scenario: You run several queries against a database that has default options. Successivamente, il database viene eliminato.Then, the database is dropped.

Visualizzazione delle informazioni sui databaseViewing Database Information

Per restituire informazioni su database, file e filegroup, è possibile usare viste del catalogo, funzioni di sistema e stored procedure di sistema.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

AutorizzazioniPermissions

Per modificare un database un login deve essere il login principale di livello server (creato dal processo di provisioning), un membro del ruolo del database dbmanager nel database master, un membro del ruolo del database db_owner nel database corrente oppure un elemento dbo del database.To alter a database a login must bei either the server-level principal login (created by the provisioning process), a member of the dbmanager database role in master, a member of the db_owner database role in the current database, or dbo of the database.

EsempiExamples

A.A. Controllare le opzioni di edizione e cambiarleCheck the edition options and change them

Imposta un'edizione e le dimensioni massime per il database db1:Sets an edition and max size for database db1:

SELECT Edition = DATABASEPROPERTYEX('db1', 'EDITION'),
        ServiceObjective = DATABASEPROPERTYEX('db1', 'ServiceObjective'),
        MaxSizeInBytes =  DATABASEPROPERTYEX('db1', 'MaxSizeInBytes');

ALTER DATABASE [db1] MODIFY (EDITION = 'Premium', MAXSIZE = 1024 GB, SERVICE_OBJECTIVE = 'P15');

B.B. Spostare un database in un pool elastico diversoMoving a database to a different elastic pool

Sposta un database esistente in un pool denominato pool1:Moves an existing database into a pool named pool1:

ALTER DATABASE db1
MODIFY ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = pool1 ) ) ;

C.C. Aggiungere un database secondario con replica geograficaAdd a Geo-Replication Secondary

Crea un database secondario leggibile denominato db1 nel server secondaryserver di db1 nel server locale.Creates a readable secondary database db1 on server secondaryserver of the db1 on the local server.

ALTER DATABASE db1
ADD SECONDARY ON SERVER secondaryserver
WITH ( ALLOW_CONNECTIONS = ALL )

D.D. Rimuovere un database secondario con replica geograficaRemove a Geo-Replication Secondary

Rimuove il database secondario db1 nel server secondaryserver.Removes the secondary database db1 on server secondaryserver.

ALTER DATABASE db1
REMOVE SECONDARY ON SERVER testsecondaryserver

E.E. Eseguire il failover di un database secondario con replica geograficaFailover to a Geo-Replication Secondary

Alza di livello un database secondario db1 nel server secondaryserver perché diventi il nuovo database primario quando viene eseguito nel server secondaryserver.Promotes a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver.

ALTER DATABASE db1 FAILOVER

E.E. Forzare il failover su un database secondario con replica geografica con perdita di datiForce Failover to a Geo-Replication Secondary with data loss

Forza un database secondario db1 nel server secondaryserver affinché diventi il nuovo database primario quando viene eseguito nel server secondaryserver, qualora il server primario risultasse non disponibile.Forces a secondary database db1 on server secondaryserver to become the new primary database when executed on server secondaryserver, in the event that the primary server becomes unavailable. Questa opzione può determinare una perdita di dati.This option may incur data loss.

ALTER DATABASE db1 FORCE_FAILOVER_ALLOW_DATA_LOSS

G.G. Aggiornare un singolo database al livello di servizio S0 (edizione standard, livello di prestazioni 0)Update a single database to service tier S0 (standard edition, performance level 0)

Aggiorna un database singolo all'edizione standard (livello di servizio) con un livello di prestazioni di S0 e una dimensione massima di 250 GB.Updates a single database to the standard edition (service tier) with a performance level of S0 and a maximum size of 250 GB.

ALTER DATABASE [db1] MODIFY (EDITION = 'Standard', MAXSIZE = 250 GB, SERVICE_OBJECTIVE = 'S0');

Vedere ancheSee also

SQL ServerSQL Server Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
* Istanza gestita
database SQL*
 
* SQL Database
managed instance *
 
SQL Data
Warehouse
SQL Data
Warehouse
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Panoramica: Istanza gestita di database SQL di AzureOverview: Azure SQL Database managed instance

Nell'istanza gestita di database SQL di Azure usare questa istruzione per impostare le opzioni di database.In Azure SQL Database managed instance, use this statement to set database options.

A causa della lunghezza, la sintassi di ALTER DATABASE è separata in più articoli.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

ALTER DATABASE L'articolo corrente illustra la sintassi e le informazioni correlate per impostare le opzioni relative a file e filegroup, le opzioni di database e il livello di compatibilità del database.ALTER DATABASE The current article provides the syntax and related information for setting file and filegroup options, for setting database options, and for setting the database compatibility level.

Opzioni per file e filegroup ALTER DATABASE Fornisce la sintassi e le informazioni correlate per l'aggiunta e la rimozione di file e filegroup da un database e per la modifica degli attributi di file e filegroup.ALTER DATABASE File and Filegroup Options Provides the syntax and related information for adding and removing files and filegroups from a database, and for changing the attributes of the files and filegroups.

Opzioni ALTER DATABASE SET Fornisce la sintassi e le informazioni correlate per la modifica degli attributi di un database utilizzando le opzioni SET di ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

Livello di compatibilità ALTER DATABASE Include la sintassi e le informazioni correlate per le opzioni SET di ALTER DATABASE relative ai livelli di compatibilità del database.ALTER DATABASE Compatibility Level Provides the syntax and related information for the SET options of ALTER DATABASE that are related to database compatibility levels.

SintassiSyntax

-- Azure SQL Database Syntax  
ALTER DATABASE { database_name | CURRENT }  
{
    MODIFY NAME = new_database_name
  | COLLATE collation_name
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ]  
}  
[;]

<file_and_filegroup_options>::=  
  <add_or_modify_files>::=  
  <filespec>::=
  <add_or_modify_filegroups>::=  
  <filegroup_updatability_option>::=  

<option_spec> ::=
{
    <auto_option>
  | <change_tracking_option>
  | <cursor_option>
  | <db_encryption_option>  
  | <db_update_option>
  | <db_user_access_option>
  | <delayed_durability_option>
  | <parameterization_option>
  | <query_store_options>
  | <snapshot_option>
  | <sql_option>
  | <target_recovery_time_option>
  | <temporal_history_retention>
  | <compatibility_level>
      { 150 | 140 | 130 | 120 | 110 | 100 | 90 }

}  

ArgomentiArguments

database_name è il nome del database da modificare.database_name Is the name of the database to be modified.

CURRENT Specifica che il database corrente in uso deve essere modificato.CURRENT Designates that the current database in use should be altered.

RemarksRemarks

Per rimuovere un database usare DROP DATABASE.To remove a database, use DROP DATABASE. Per ridurre le dimensioni di un database, usare DBCC SHRINKDATABASE.To decrease the size of a database, use DBCC SHRINKDATABASE.

L'istruzione ALTER DATABASE deve essere eseguita in modalità autocommit, che è la modalità predefinita di gestione delle transazioni, e non è consentita in una transazione esplicita o implicita.The ALTER DATABASE statement must run in auto-commit mode (the default transaction management mode) and is not allowed in an explicit or implicit transaction.

La cancellazione della cache dei piani comporta la ricompilazione di tutti i piani di esecuzione successivi e può causare un peggioramento improvviso e temporaneo delle prestazioni di esecuzione delle query.Clearing the plan cache causes a recompilation of all subsequent execution plans and can cause a sudden, temporary decrease in query performance. Il log degli errori di SQL ServerSQL Server contiene il messaggio informativo seguente per ogni archivio cache cancellato nella cache dei piani: "SQL ServerSQL Server ha rilevato %d occorrenza/e di scaricamento dell'archivio cache '%s' (parte della cache dei piani) a causa di operazioni di manutenzione o riconfigurazione del database".For each cleared cachestore in the plan cache, the SQL ServerSQL Server error log contains the following informational message: " SQL ServerSQL Server has encountered %d occurrence(s) of cachestore flush for the '%s' cachestore (part of plan cache) due to some database maintenance or reconfigure operations". Questo messaggio viene registrato ogni cinque minuti per tutta la durata dello scaricamento della cache.This message is logged every five minutes as long as the cache is flushed within that time interval.

La cache dei piani viene scaricata anche quando vengono eseguite diverse query in un database con le opzioni predefinite.The plan cache is also flushed when several queries are executed against a database that has default options. Successivamente, il database viene eliminato.Then, the database is dropped.

Visualizzazione delle informazioni sui databaseViewing Database Information

Per restituire informazioni su database, file e filegroup, è possibile usare viste del catalogo, funzioni di sistema e stored procedure di sistema.You can use catalog views, system functions, and system stored procedures to return information about databases, files, and filegroups.

AutorizzazioniPermissions

Solo l'account di accesso dell'entità a livello di server (creato dal processo di provisioning) o i membri del ruolo del database dbcreator possono modificare un database.Only the server-level principal login (created by the provisioning process) or members of the dbcreator database role can alter a database.

Importante

Il proprietario del database può modificare il database solo se è un membro del ruolo dbcreator.The owner of the database cannot alter the database unless they are a member of the dbcreator role.

EsempiExamples

Gli esempi seguenti mostrano come impostare l'ottimizzazione automatica e come aggiungere un file in un'istanza gestita.The following examples show you how to set automatic tuning and how to add a file in a managed instance.

ALTER DATABASE WideWorldImporters
  SET AUTOMATIC_TUNING ( FORCE_LAST_GOOD_PLAN = ON)

ALTER DATABASE WideWorldImporters
  ADD FILE (NAME = 'data_17')

Vedere ancheSee also

SQL ServerSQL Server Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
Istanza gestita
database SQL
SQL Database
managed instance
* SQL Data
Warehouse *
 
* SQL Data
Warehouse *
 
Piattaforma di strumenti
analitici (PDW)
Analytics Platform
System (PDW)

 

Panoramica: Azure SQL Data WarehouseOverview: Azure SQL Data Warehouse

In Azure SQL Dta Warehouse 'ALTER DATABASE' modifica il nome, la dimensione massima o l'obiettivo di servizio per un database.In Azure SQL Dta Warehouse, 'ALTER DATABASE' modifies the name, maximum size, or service objective for a database.

A causa della lunghezza, la sintassi di ALTER DATABASE è separata in più articoli.Because of its length, the ALTER DATABASE syntax is separated into the multiple articles.

Opzioni ALTER DATABASE SET Fornisce la sintassi e le informazioni correlate per la modifica degli attributi di un database utilizzando le opzioni SET di ALTER DATABASE.ALTER DATABASE SET Options Provides the syntax and related information for changing the attributes of a database by using the SET options of ALTER DATABASE.

SintassiSyntax

ALTER DATABASE { database_name | CURRENT }
{
  MODIFY NAME = new_database_name
| MODIFY ( <edition_option> [, ... n] )
| SET <option_spec> [ ,...n ] [ WITH <termination> ]
}
[;]

<edition_option> ::=
      MAXSIZE = {
            250 | 500 | 750 | 1024 | 5120 | 10240 | 20480
          | 30720 | 40960 | 51200 | 61440 | 71680 | 81920
          | 92160 | 102400 | 153600 | 204800 | 245760
      } GB
      | SERVICE_OBJECTIVE = {
            'DW100' | 'DW200' | 'DW300' | 'DW400' | 'DW500'
          | 'DW600' | 'DW1000' | 'DW1200' | 'DW1500' | 'DW2000'
          | 'DW3000' | 'DW6000' | 'DW500c' | 'DW1000c' | 'DW1500c'
          | 'DW2000c' | 'DW2500c' | 'DW3000c' | 'DW5000c' | 'DW6000c'
          | 'DW7500c' | 'DW10000c' | 'DW15000c' | 'DW30000c'
      }

ArgomentiArguments

database_name specifica il nome del database da modificare.database_name Specifies the name of the database to be modified.

MODIFY NAME = new_database_name rinomina il database con il nome specificato come new_database_name.MODIFY NAME = new_database_name Renames the database with the name specified as new_database_name.

MAXSIZE: il valore predefinito è 245.760 GB (240 TB).MAXSIZE The default is 245,760 GB (240 TB).

Si applica a: ottimizzato per il calcolo di prima generazioneApplies to: Optimized for Compute Gen1

Dimensioni massime consentite per il database.The maximum allowable size for the database. Le dimensioni del database non possono superare il valore di MAXSIZE.The database cannot grow beyond MAXSIZE.

Si applica a: ottimizzato per il calcolo di seconda generazioneApplies to: Optimized for Compute Gen2

Dimensioni massime consentite per i dati rowstore nel database.The maximum allowable size for rowstore data in the database. Le dimensioni dei dati archiviati nelle tabelle rowstore, nel deltastore di un indice columnstore o in un indice non cluster in un indice columnstore cluster non possono superare MAXSIZE.Data stored in rowstore tables, a columnstore index's deltastore, or a nonclustered index on a clustered columnstore index cannot grow beyond MAXSIZE. I dati compressi in formato columnstore non hanno un limite di dimensioni e non sono limitati dal valore MAXSIZE.Data compressed into columnstore format does not have a size limit and is not constrained by MAXSIZE.

SERVICE_OBJECTIVE specifica il livello di prestazioni.SERVICE_OBJECTIVE Specifies the performance level. Per altre informazioni sugli obiettivi di servizio per SQL Data Warehouse, vedere Unità Data Warehouse (DWU).For more information about service objectives for SQL Data Warehouse, see Data Warehouse Units (DWUs).

AutorizzazioniPermissions

Richiede le autorizzazioni seguenti:Requires these permissions:

  • Accesso principale di livello server (creato dal processo di provisioning) oppureServer-level principal login (the one created by the provisioning process), or
  • Membro del ruolo del database dbmanager.Member of the dbmanager database role.

Il proprietario del database può modificare il database solo se è un membro del ruolo dbmanager.The owner of the database cannot alter the database unless the owner is a member of the dbmanager role.

Osservazioni generaliGeneral Remarks

Poiché il database corrente deve essere un database diverso da quello in fase di modifica, ALTER deve essere eseguito durante la connessione al database master.The current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

SQL Data Warehouse è impostato su COMPATIBILITY_LEVEL 130 e non può essere modificato.SQL Data Warehouse is set to COMPATIBILITY_LEVEL 130 and cannot be changed. Per altri dettagli, vedere Improved Query Performance with Compatibility Level 130 in Azure SQL Database (Prestazioni di query migliorate con Compatibility Level 130 nel database SQL di Azure).For more details, see Improved Query Performance with Compatibility Level 130 in Azure SQL Database.

Limitazioni e restrizioniLimitations and Restrictions

Per eseguire ALTER DATABASE, il database deve essere online e non può essere in pausa.To run ALTER DATABASE, the database must be online and cannot be in a paused state.

L'istruzione ALTER DATABASE deve essere eseguita in modalità autocommit, ovvero la modalità di gestione delle transazioni predefinita.The ALTER DATABASE statement must run in auto-commit mode, which is the default transaction management mode. Questa opzione è specificata nelle impostazioni di connessione.This is set in the connection settings.

L'istruzione ALTER DATABASE non può essere parte di una transazione definita dall'utente.The ALTER DATABASE statement cannot be part of a user-defined transaction.

Le regole di confronto del database non possono essere modificate.You cannot change the database collation.

EsempiExamples

Prima di eseguire questi esempi, verificare che il database da modificare non sia il database corrente.Before you run these examples, make sure the database you are altering is not the current database. Poiché il database corrente deve essere un database diverso da quello in fase di modifica, ALTER deve essere eseguito durante la connessione al database master.The current database must be a different database than the one you are altering, therefore ALTER must be run while connected to the master database.

A.A. Modificare il nome del databaseChange the name of the database

ALTER DATABASE AdventureWorks2012
MODIFY NAME = Northwind;

B.B. Modificare la dimensione massima del databaseChange max size for the database

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB );

C.C. Modificare il livello di prestazioniChange the performance level

ALTER DATABASE dw1 MODIFY ( SERVICE_OBJECTIVE= 'DW1200' );

D.D. Modificare la dimensione massima e il livello di prestazioniChange the max size and the performance level

ALTER DATABASE dw1 MODIFY ( MAXSIZE=10240 GB, SERVICE_OBJECTIVE= 'DW1200' );

Vedere ancheSee Also

SQL ServerSQL Server Database singolo/pool elastico
database SQL
SQL Database
single database/elastic pool
Istanza gestita
database SQL
SQL Database
managed instance
SQL Data
Warehouse
SQL Data
Warehouse
* Piattaforma di strumenti
analitici (PDW) *
 
* Analytics
Platform System (PDW) *
 

 

Panoramica: Sistema della piattaforma di analisiOverview: Analytics Platform System

Modifica le opzioni relative alle dimensioni massime del database per le tabelle replicate, le tabelle distribuite e il log delle transazioni in PDW.Modifies the maximum database size options for replicated tables, distributed tables, and the transaction log in PDW. Usare questa istruzione per gestire le allocazioni dello spazio su disco per un database man mano che le sue dimensioni aumentano o diminuiscono.Use this statement to manage disk space allocations for a database as it grows or shrinks in size. L'articolo descrive anche la sintassi correlata all'impostazione di opzioni di database in PDW.The article also describes syntax related to setting database options in PDW.

SintassiSyntax

-- Analytics Platform System
ALTER DATABASE database_name
    SET ( <set_database_options> | <db_encryption_option> )
[;]

<set_database_options> ::=
{
    AUTOGROW = { ON | OFF }
    | REPLICATED_SIZE = size [GB]
    | DISTRIBUTED_SIZE = size [GB]
    | LOG_SIZE = size [GB]
    | SET AUTO_CREATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS { ON | OFF }
    | SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}

<db_encryption_option> ::=
    ENCRYPTION { ON | OFF }

ArgomentiArguments

database_name è il nome del database da modificare.database_name The name of the database to be modified. Per visualizzare un elenco di database nell'appliance, usare sys.databases.To display a list of databases on the appliance, use sys.databases.

AUTOGROW = { ON | OFF } aggiorna l'opzione AUTOGROW.AUTOGROW = { ON | OFF } Updates the AUTOGROW option. Quando l'opzione AUTOGROW è impostata su ON, Parallel Data WarehouseParallel Data Warehouse aumenta automaticamente lo spazio allocato per le tabelle replicate, le tabelle distribuite e il log delle transazioni in modo da poter supportare l'aumento in termini di requisiti di archiviazione.When AUTOGROW is ON, Parallel Data WarehouseParallel Data Warehouse automatically increases the allocated space for replicated tables, distributed tables, and the transaction log as necessary to accommodate growth in storage requirements. Quando l'opzione AUTOGROW è impostata su OFF, Parallel Data WarehouseParallel Data Warehouse restituisce un errore se le tabelle replicate, le tabelle distribuite o il log delle transazioni superano l'impostazione di dimensioni massime.When AUTOGROW is OFF, Parallel Data WarehouseParallel Data Warehouse returns an error if replicated tables, distributed tables, or the transaction log exceeds the maximum size setting.

REPLICATED_SIZE = size [GB] specifica le nuove dimensioni massime, in gigabyte, per ogni nodo di calcolo per l'archiviazione di tutte le tabelle replicate nel database da modificare.REPLICATED_SIZE = size [GB] Specifies the new maximum gigabytes per Compute node for storing all of the replicated tables in the database being altered. Per pianificare lo spazio di archiviazione dell'appliance, è necessario moltiplicare il valore in REPLICATED_SIZE per il numero di nodi di calcolo nell'appliance.If you are planning for appliance storage space, you will need to multiply REPLICATED_SIZE by the number of Compute nodes in the appliance.

DISTRIBUTED_SIZE = size [GB] specifica le nuove dimensioni massime, in gigabyte, per ogni database per l'archiviazione di tutte le tabelle distribuite nel database da modificare.DISTRIBUTED_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the distributed tables in the database being altered. Le dimensioni vengono distribuite su tutti i nodi di calcolo nell'appliance.The size is distributed across all of the Compute nodes in the appliance.

LOG_SIZE = size [GB] specifica le nuove dimensioni massime, in gigabyte, per ogni database per l'archiviazione dei log delle transazioni nel database da modificare.LOG_SIZE = size [GB] Specifies the new maximum gigabytes per database for storing all of the transaction logs in the database being altered. Le dimensioni vengono distribuite su tutti i nodi di calcolo nell'appliance.The size is distributed across all of the Compute nodes in the appliance.

ENCRYPTION {ON | OFF} imposta il database per l'uso della crittografia (ON) o no (OFF).ENCRYPTION { ON | OFF } Sets the database to be encrypted (ON) or not encrypted (OFF). È possibile configurare la crittografica per Parallel Data WarehouseParallel Data Warehouse solo quando l'opzione sp_pdw_database_encryption è stata impostata su 1.Encryption can only be configured for Parallel Data WarehouseParallel Data Warehouse when sp_pdw_database_encryption has been set to 1. Prima di configurare la tecnologia Transparent Data Encryption, è necessario creare una chiave di crittografia del database.A database encryption key must be created before transparent data encryption can be configured. Per altre informazioni sulla crittografia del database, vedere Transparent Data Encryption.For more information about database encryption, see Transparent Data Encryption (TDE).

SET AUTO_CREATE_STATISTICS { ON | OFF } Quando l'opzione per la creazione automatica delle statistiche, AUTO_CREATE_STATISTICS, è impostata su ON, Query Optimizer crea le statistiche necessarie per colonne singole nel predicato di query, per migliorare le stime della cardinalità per il piano di query.SET AUTO_CREATE_STATISTICS { ON | OFF } When the automatic create statistics option, AUTO_CREATE_STATISTICS, is ON, the Query Optimizer creates statistics on individual columns in the query predicate, as necessary, to improve cardinality estimates for the query plan. Queste statistiche di colonna singola vengono create in colonne che ancora non dispongono di un istogramma in un oggetto statistiche esistente.These single-column statistics are created on columns that do not already have a histogram in an existing statistics object.

Il valore predefinito è ON per i nuovi database creati dopo l'aggiornamento ad AU7.Default is ON for new databases created after upgrading to AU7. Il valore predefinito è OFF per i database creati prima dell'aggiornamento.The default is OFF for databases created prior to the upgrade.

Per altre informazioni sulle statistiche, vedere StatisticheFor more information about statistics, see Statistics

SET AUTO_UPDATE_STATISTICS { ON | OFF } Quando l'opzione per l'aggiornamento automatico delle statistiche, AUTO_UPDATE_STATISTICS, è impostata su ON, Query Optimizer determina se le statistiche possano non essere aggiornate, quindi ne esegue l'aggiornamento qualora vengano usate da una query.SET AUTO_UPDATE_STATISTICS { ON | OFF } When the automatic update statistics option, AUTO_UPDATE_STATISTICS, is ON, the query optimizer determines when statistics might be out-of-date and then updates them when they are used by a query. Le statistiche diventano obsolete in seguito a operazioni di inserimento, aggiornamento, eliminazione o unione che modificano la distribuzione dei dati nella tabella o nella vista indicizzata.Statistics become out-of-date after operations insert, update, delete, or merge change the data distribution in the table or indexed view. Query Optimizer determina che le statistiche potrebbero non essere aggiornate contando il numero di modifiche apportate ai dati dopo l'ultimo aggiornamento delle statistiche e confrontando il numero di modifiche con una sogliaThe query optimizer determines when statistics might be out-of-date by counting the number of data modifications since the last statistics update and comparing the number of modifications to a threshold. basata sul numero di righe nella tabella o nella vista indicizzata.The threshold is based on the number of rows in the table or indexed view.

Il valore predefinito è ON per i nuovi database creati dopo l'aggiornamento ad AU7.Default is ON for new databases created after upgrading to AU7. Il valore predefinito è OFF per i database creati prima dell'aggiornamento.The default is OFF for databases created prior to the upgrade.

Per altre informazioni sulle statistiche, vedere Statistiche.For more information about statistics, see Statistics.

SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } L'opzione relativa all'aggiornamento asincrono delle statistiche, AUTO_UPDATE_STATISTICS_ASYNC, determina se Query Optimizer debba usare gli aggiornamenti sincroni o asincroni delle statistiche.SET AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } The asynchronous statistics update option, AUTO_UPDATE_STATISTICS_ASYNC, determines whether the Query Optimizer uses synchronous or asynchronous statistics updates. L'opzione AUTO_UPDATE_STATISTICS_ASYNC si applica a oggetti statistiche creati per indici, colonne singole nei predicati di query e statistiche create con l'istruzione CREATE STATISTICS.The AUTO_UPDATE_STATISTICS_ASYNC option applies to statistics objects created for indexes, single columns in query predicates, and statistics created with the CREATE STATISTICS statement.

Il valore predefinito è ON per i nuovi database creati dopo l'aggiornamento ad AU7.Default is ON for new databases created after upgrading to AU7. Il valore predefinito è OFF per i database creati prima dell'aggiornamento.The default is OFF for databases created prior to the upgrade.

Per altre informazioni sulle statistiche, vedere Statistiche.For more information about statistics, see Statistics.

AutorizzazioniPermissions

È richiesta l'autorizzazione ALTER per il database.Requires the ALTER permission on the database.

messaggi di erroreError Messages

Se le statistiche automatiche sono disabilitate e si tenta di modificare le impostazioni delle statistiche, PDW visualizza l'errore This option is not supported in PDW.If auto-stats is disabled and you try to alter the statistics settings, PDW outputs the error This option is not supported in PDW. L'amministratore di sistema può abilitare le statistiche automatiche abilitando l'opzione AutoStatsEnabled della funzionalità.The system administrator can enable auto-stats by enabling the feature switch AutoStatsEnabled.

Osservazioni generaliGeneral Remarks

I valori di REPLICATED_SIZE, DISTRIBUTED_SIZE e LOG_SIZE possono essere maggiori, uguali o minori dei valori correnti per il database.The values for REPLICATED_SIZE, DISTRIBUTED_SIZE, and LOG_SIZE can be greater than, equal to, or less than the current values for the database.

Limitazioni e restrizioniLimitations and Restrictions

Le operazioni di incremento e riduzione sono approssimative.Grow and shrink operations are approximate. Le dimensioni effettive ottenute possono variare rispetto ai parametri delle dimensioni.The resulting actual sizes can vary from the size parameters.

Parallel Data WarehouseParallel Data Warehouse non esegue l'istruzione ALTER DATABASE come operazione atomica.does not perform the ALTER DATABASE statement as an atomic operation. Se l'istruzione viene interrotta durante l'esecuzione, le modifiche già apportate vengono mantenute.If the statement is aborted during execution, changes that have already occurred will remain.

Le impostazioni delle statistiche funzionano solo se l'amministratore ha abilitato le statistiche automatiche. Per abilitare o disabilitare le statistiche automatiche, l'amministratore deve usare l'opzione AutoStatsEnabled della funzionalità.The statistics settings only work if the administrator has enable auto-stats. If you are an administrator, use the feature switch AutoStatsEnabled to enable or disable auto-stats.

Comportamento di bloccoLocking Behavior

Consente di acquisire un blocco condiviso per l'oggetto DATABASE.Takes a shared lock on the DATABASE object. Non è possibile modificare un database che un altro utente sta usando in modalità di lettura o scrittura.You cannot alter a database that is in use by another user for reading or writing. Sono incluse le sessioni che hanno rilasciato un'istruzione USE nel database.This includes sessions that have issued a USE statement on the database.

PrestazioniPerformance

Per compattare un database possono essere necessari molto tempo e numerose risorse di sistema, a seconda delle dimensioni dei dati effettivi all'interno del database e del livello di frammentazione del disco.Shrinking a database can take a large amount of time and system resources, depending on the size of the actual data within the database, and the amount of fragmentation on disk. Ad esempio, la compattazione di un database può richiedere fino a diverse ore di lavoro.For example, shrinking a database could take several hours or more.

Definizione dello stato di avanzamento della crittografiaDetermining Encryption Progress

Usare la query seguente per determinare lo stato di avanzamento della tecnologia Transparent Data Encryption sotto forma di percentuale:Use the following query to determine progress of database transparent data encryption as a percent:

WITH
database_dek AS (
    SELECT ISNULL(db_map.database_id, dek.database_id) AS database_id,
        dek.encryption_state, dek.percent_complete,
        dek.key_algorithm, dek.key_length, dek.encryptor_thumbprint,
        type
    FROM sys.dm_pdw_nodes_database_encryption_keys AS dek
    INNER JOIN sys.pdw_nodes_pdw_physical_databases AS node_db_map
        ON dek.database_id = node_db_map.database_id
        AND dek.pdw_node_id = node_db_map.pdw_node_id
    LEFT JOIN sys.pdw_database_mappings AS db_map
        ON node_db_map .physical_name = db_map.physical_name
    INNER JOIN sys.dm_pdw_nodes nodes
        ON nodes.pdw_node_id = dek.pdw_node_id
    WHERE dek.encryptor_thumbprint <> 0x
),
dek_percent_complete AS (
    SELECT database_dek.database_id, AVG(database_dek.percent_complete) AS percent_complete
    FROM database_dek
    WHERE type = 'COMPUTE'
    GROUP BY database_dek.database_id
)
SELECT DB_NAME( database_dek.database_id ) AS name,
    database_dek.database_id,
    ISNULL(
       (SELECT TOP 1 dek_encryption_state.encryption_state
        FROM database_dek AS dek_encryption_state
        WHERE dek_encryption_state.database_id = database_dek.database_id
        ORDER BY (CASE encryption_state
            WHEN 3 THEN -1
            ELSE encryption_state
            END) DESC), 0)
        AS encryption_state,
dek_percent_complete.percent_complete,
database_dek.key_algorithm, database_dek.key_length, database_dek.encryptor_thumbprint
FROM database_dek
INNER JOIN dek_percent_complete
    ON dek_percent_complete.database_id = database_dek.database_id
WHERE type = 'CONTROL';

Per un esempio completo che illustra tutti i passaggi di implementazione della tecnologia TDE, vedere Transparent Data Encryption (TDE).For a comprehensive example demonstrating all the steps in implementing TDE, see Transparent Data Encryption (TDE).

Esempi: Parallel Data WarehouseParallel Data WarehouseExamples: Parallel Data WarehouseParallel Data Warehouse

A.A. Modifica dell'impostazione AUTOGROWAltering the AUTOGROW setting

Impostare l'opzione AUTOGROW su ON per il database CustomerSales.Set AUTOGROW to ON for database CustomerSales.

ALTER DATABASE CustomerSales
    SET ( AUTOGROW = ON );

B.B. Modifica dell'archiviazione massima per le tabelle replicateAltering the maximum storage for replicated tables

Nell'esempio seguente il limite di archiviazione delle tabelle replicate viene impostato su 1 GB per il database CustomerSales.The following example sets the replicated table storage limit to 1 GB for the database CustomerSales. È il limite di archiviazione per ogni nodo di calcolo.This is the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( REPLICATED_SIZE = 1 GB );

C.C. Modifica dell'archiviazione massima per le tabelle distribuiteAltering the maximum storage for distributed tables

Nell'esempio seguente il limite di archiviazione delle tabelle distribuite viene impostato su 1000 GB (1 TB) per il database CustomerSales.The following example sets the distributed table storage limit to 1000 GB (one terabyte) for the database CustomerSales. È il limite di archiviazione combinato dell'appliance per tutti i nodi di calcolo, non il limite di archiviazione per ogni nodo di calcolo.This is the combined storage limit across the appliance for all of the Compute nodes, not the storage limit per Compute node.

ALTER DATABASE CustomerSales
    SET ( DISTRIBUTED_SIZE = 1000 GB );

D.D. Modifica dell'archiviazione massima per il log delle transazioniAltering the maximum storage for the transaction log

Nell'esempio seguente il database CustomerSales viene aggiornato perché le dimensioni massime del log delle transazioni di SQL ServerSQL Server siano di 10 GB per l'applicazione.The following example updates the database CustomerSales to have a maximum SQL ServerSQL Server transaction log size of 10 GB for the appliance.

ALTER DATABASE CustomerSales
    SET ( LOG_SIZE = 10 GB );

E.E. Controllo dei valori correnti delle statisticheCheck for current statistics values

La query seguente restituisce i valori correnti delle statistiche per tutti i database.The following query returns the current statistics values for all databases. Il valore 1 indica che la funzionalità è attivata e 0 indica che la funzionalità è disattivata.The value 1 means the feature is on, and a 0 means the feature is off.

SELECT NAME,
    is_auto_create_stats_on,
    is_auto_update_stats_on,
    is_auto_update_stats_async_on
FROM sys.databases;

F.F. Abilitazione della creazione e dell'aggiornamento automatici delle statistiche per un databaseEnable auto-create and auto-update stats for a database

Usare l'istruzione seguente per abilitare la creazione e l'aggiornamento automatici delle statistiche in modo asincrono per il database CustomerSales.Use the following statement to enable create and update statistics automatically and asynchronously for database, CustomerSales. L'istruzione crea e aggiorna le statistiche di colonna singola necessarie per creare piani di query di qualità elevata.This creates and updates single-column statistics as necessary to create high quality query plans.

ALTER DATABASE CustomerSales
    SET AUTO_CREATE_STATISTICS ON;
ALTER DATABASE CustomerSales
    SET AUTO_UPDATE_STATISTICS ON;
ALTER DATABASE
    SET AUTO_UPDATE_STATISTICS_ASYNC ON;

Vedere ancheSee Also