CREATE DATABASE (Transact-SQL di SQL Server)CREATE DATABASE (SQL Server Transact-SQL)

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

Crea un nuovo database e i file utilizzati per archiviare il database, uno snapshot del database oppure collega un database dai file scollegati di un database creato in precedenza.Creates a new database and the files used to store the database, a database snapshot, or attaches a database from the detached files of a previously created database.

Icona di collegamento a un argomentoConvenzioni della sintassi Transact-SQLTopic link icon Transact-SQL Syntax Conventions

SintassiSyntax

Creazione di un databaseCreate a database

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
]   
[ COLLATE collation_name ]  
[ WITH  <option> [,...n ] ]  
[;]  

<option> ::=  
{  
      FILESTREAM ( <filestream_option> [,...n ] )  
    | DEFAULT_FULLTEXT_LANGUAGE = { lcid | language_name | language_alias }  
    | DEFAULT_LANGUAGE = { lcid | language_name | language_alias }  
    | NESTED_TRIGGERS = { OFF | ON }  
    | TRANSFORM_NOISE_WORDS = { OFF | ON}  
    | TWO_DIGIT_YEAR_CUTOFF = <two_digit_year_cutoff>   
    | DB_CHAINING { OFF | ON }  
    | TRUSTWORTHY { OFF | ON }  
}  

<filestream_option> ::=  
{  
      NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }  
    | DIRECTORY_NAME = 'directory_name'   
}  

<filespec> ::=   
{  
(  
    NAME = logical_file_name ,  
    FILENAME = { 'os_file_name' | 'filestream_path' }   
    [ , SIZE = size [ KB | MB | GB | TB ] ]   
    [ , MAXSIZE = { max_size [ KB | MB | GB | TB ] | UNLIMITED } ]   
    [ , FILEGROWTH = growth_increment [ KB | MB | GB | TB | % ] ]  
)  
}  

<filegroup> ::=   
{  
FILEGROUP filegroup name [ [ CONTAINS FILESTREAM ] [ DEFAULT ] | CONTAINS MEMORY_OPTIMIZED_DATA ]  
    <filespec> [ ,...n ]  
}  

<service_broker_option> ::=  
{  
    ENABLE_BROKER  
  | NEW_BROKER  
  | ERROR_BROKER_CONVERSATIONS  
}  

Collegare un databaseAttach a database

CREATE DATABASE database_name   
    ON <filespec> [ ,...n ]   
    FOR { { ATTACH [ WITH <attach_database_option> [ , ...n ] ] }  
        | ATTACH_REBUILD_LOG }  
[;]  

<attach_database_option> ::=  
{  
      <service_broker_option>  
    | RESTRICTED_USER  
    | FILESTREAM ( DIRECTORY_NAME = { 'directory_name' | NULL } )  
}   

Creare uno snapshot del databaseCreate a database snapshot

CREATE DATABASE database_snapshot_name   
    ON   
    (  
        NAME = logical_file_name,  
        FILENAME = 'os_file_name'   
    ) [ ,...n ]   
    AS SNAPSHOT OF source_database_name  
[;]  

ArgomentiArguments

database_namedatabase_name
Nome del nuovo database.Is the name of the new database. I nomi dei database devono essere univoci all'interno di un'istanza di SQL ServerSQL Server ed essere conformi alle regole per gli identificatori.Database names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers.

database_name può essere composto da un massimo di 128 caratteri, eccetto i casi in cui non è stato specificato un nome logico per il file di log.database_name can be a maximum of 128 characters, unless a logical name is not specified for the log file. Se non è stato specificato un nome logico per il file di log, SQL ServerSQL Server genera logical_file_name e os_file_name per il log accodando un suffisso a database_name.If a logical log file name is not specified, SQL ServerSQL Server generates the logical_file_name and the os_file_name for the log by appending a suffix to database_name. Questo limita il numero di caratteri di database_name a 123 per fare in modo che il nome di file logico generato includa un massimo di 128 caratteri.This limits database_name to 123 characters so that the generated logical file name is no more than 128 characters.

Se non è stato specificato alcun nome file di dati, SQL ServerSQL Server usa database_name sia come logical_file_name che come os_file_name.If data file name is not specified, SQL ServerSQL Server uses database_name as both the logical_file_name and as the os_file_name. Il percorso predefinito viene ottenuto dal Registro di sistema.The default path is obtained from the registry. Il percorso predefinito può essere modificato tramite Proprietà server (pagina Impostazioni database) in Management StudioManagement Studio.The default path can be changed by using the Server Properties (Database Settings Page) in Management StudioManagement Studio. La modifica del percorso predefinito richiede il riavvio di SQL ServerSQL Server.Changing the default path requires restarting SQL ServerSQL Server.

CONTAINMENT = { NONE | PARTIAL }CONTAINMENT = { NONE | PARTIAL }

Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

Viene specificato lo stato di indipendenza del database.Specifies the containment status of the database. NONE = Database non indipendente.NONE = non-contained database. PARTIAL = database parzialmente indipendente.PARTIAL = partially contained database.

ONON
Specifica che i file su disco utilizzati per archiviare le sezioni di dati del database (file di dati) vengono definiti in modo esplicito.Specifies that the disk files used to store the data sections of the database, data files, are explicitly defined. ON è obbligatorio quando è seguito da un elenco di valori delimitato da virgole di elementi <filespec> che definiscono i file di dati per il filegroup primario.ON is required when followed by a comma-separated list of <filespec> items that define the data files for the primary filegroup. L'elenco di file del filegroup primario può essere seguito da un elenco di valori delimitati da virgole facoltativo di elementi <filegroup> che definiscono i filegroup utente e i relativi file.The list of files in the primary filegroup can be followed by an optional, comma-separated list of <filegroup> items that define user filegroups and their files.

PRIMARYPRIMARY
Specifica che l'elenco <filespec> associato definisce il file primario.Specifies that the associated <filespec> list defines the primary file. Il primo file specificato nella voce <filespec> nel filegroup primario diventa il file primario.The first file specified in the <filespec> entry in the primary filegroup becomes the primary file. Un database può includere un solo file primario.A database can have only one primary file. Per altre informazioni, vedere Database Files and Filegroups.For more information, see Database Files and Filegroups.

Se la parola chiave PRIMARY viene omessa, il primo file elencato nell'istruzione CREATE DATABASE diventa il file primario.If PRIMARY is not specified, the first file listed in the CREATE DATABASE statement becomes the primary file.

LOG ONLOG ON
Specifica che i file su disco utilizzati per archiviare il log del database (file di log) vengono definiti in modo esplicito.Specifies that the disk files used to store the database log, log files, are explicitly defined. LOG ON è seguito da un elenco di valori delimitati da virgole di elementi <filespec> che definiscono i file di log.LOG ON is followed by a comma-separated list of <filespec> items that define the log files. Se la parola chiave LOG ON viene omessa, viene creato automaticamente un singolo file di log con dimensioni pari al 25% della somma delle dimensioni di tutti i file di dati del database o pari a 512 KB, a seconda del valore maggiore.If LOG ON is not specified, one log file is automatically created, which has a size that is 25 percent of the sum of the sizes of all the data files for the database, or 512 KB, whichever is larger. Questo file viene posizionato nel percorso predefinito del file di log.This file is placed in the default log-file location. Per informazioni su questa posizione, vedere Visualizzare o modificare i percorsi predefiniti per i file di dati e di log (SQL Server Management Studio).For information about this location, see View or Change the Default Locations for Data and Log Files (SQL Server Management Studio).

Non è possibile specificare LOG ON in uno snapshot del database.LOG ON cannot be specified on a database snapshot.

COLLATE collation_nameCOLLATE collation_name
Specifica le regole di confronto predefinite per il database.Specifies the default collation for the database. È 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 collation_name viene omesso, al database vengono assegnate le regole di confronto predefinite dell'istanza di SQL ServerSQL Server.If not specified, the database is assigned the default collation of the instance of SQL ServerSQL Server. Non è possibile specificare un nome di regole di confronto in uno snapshot del database.A collation name cannot be specified on a database snapshot.

Non è possibile specificare un nome di regole di confronto con le clausole FOR ATTACH o FOR ATTACH_REBUILD_LOG.A collation name cannot be specified with the FOR ATTACH or FOR ATTACH_REBUILD_LOG clauses. Per informazioni sulla modifica delle regole di confronto di un database collegato, visitare il sito Web Microsoft.For information about how to change the collation of an attached database, visit this Microsoft Web site.

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

Nota

Le regole di confronto per i database indipendenti sono diverse rispetto a quelle dei database non indipendenti.Contained databases are collated differently than non-contained databases. Per altre informazioni, vedere Regole di confronto dei database indipendenti.Please see Contained Database Collations for more information.

WITH <option>WITH <option>

  • <filestream_options><filestream_options>

    NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
    Si applica a: SQL Server 2012 (11.x)SQL Server 2012 (11.x) tramite SQL Server 2017SQL Server 2017.Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017.

    Specifica il livello di accesso FILESTREAM non transazionale al database.Specifies the level of non-transactional FILESTREAM access to the database.

    valoreValue DescriptionDescription
    OFFOFF L'accesso non transazionale è disabilitato.Non-transactional access is disabled.
    READONLYREADONLY I dati FILESTREAM di questo database possono essere letti da processi non transazionali.FILESTREAM data in this database can be read by non-transactional processes.
    FULLFULL L'accesso non transazionale completo a tabelle FileTable FILESTREAM è abilitato.Full non-transactional access to FILESTREAM FileTables is enabled.

    DIRECTORY_NAME = <directory_name> Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017DIRECTORY_NAME = <directory_name> Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

    Nome di directory compatibile con Windows.A windows-compatible directory name. Il nome deve essere univoco in tutti i nomi di Database_Directory nell'istanza di SQL ServerSQL Server.This name should be unique among all the Database_Directory names in the SQL ServerSQL Server instance. Il confronto di univocità non supporta la distinzione tra maiuscole e minuscole, indipendentemente dalle impostazioni delle regole di confronto di SQL ServerSQL Server.Uniqueness comparison is case-insensitive, regardless of SQL ServerSQL Server collation settings. È necessario impostare questa opzione prima di creare una tabella FileTable in questo database.This option should be set before creating a FileTable in this database.

    Le opzioni seguenti sono consentite solo quando CONTAINMENT è stato impostato su PARTIAL.The following options are allowable only when CONTAINMENT has been set to PARTIAL. Se l'opzione CONTAINMENT è impostata su NONE, si verificheranno errori.If CONTAINMENT is set to NONE, errors will occur.

  • DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_FULLTEXT_LANGUAGE = <lcid> | <language name> | <language alias>

Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

 See [Configure the default full-text language Server Configuration Option](../../database-engine/configure-windows/configure-the-default-full-text-language-server-configuration-option.md) for a full description of this option.  
  • DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>DEFAULT_LANGUAGE = <lcid> | <language name> | <language alias>

Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

 See [Configure the default language Server Configuration Option](../../database-engine/configure-windows/configure-the-default-language-server-configuration-option.md) for a full description of this option.  
  • NESTED_TRIGGERS = { OFF | ON}NESTED_TRIGGERS = { OFF | ON}

Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

 See [Configure the nested triggers Server Configuration Option](../../database-engine/configure-windows/configure-the-nested-triggers-server-configuration-option.md) for a full description of this option.  
  • TRANSFORM_NOISE_WORDS = { OFF | ON}TRANSFORM_NOISE_WORDS = { OFF | ON}

Si applica a: da SQL Server 2012 (11.x)SQL Server 2012 (11.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) through SQL Server 2017SQL Server 2017

 See [transform noise words Server Configuration Option](../../database-engine/configure-windows/transform-noise-words-server-configuration-option.md)for a full description of this option.  
  • TWO_DIGIT_YEAR_CUTOFF = { 2049 | <qualsiasi anno compreso tra il 1753 e il 9999> }TWO_DIGIT_YEAR_CUTOFF = { 2049 | <any year between 1753 and 9999> }

    Quattro cifre che rappresentano un anno.Four digits representing a year. Il valore predefinito è 2049.2049 is the default value. Per una descrizione completa di questa opzione, vedere Configurare l'opzione di configurazione del server two-digit year cutoff.See Configure the two digit year cutoff Server Configuration Option for a full description of this option.

  • DB_CHAINING { OFF | ON }DB_CHAINING { OFF | ON }

    Se l'opzione è impostata su ON, il database può essere l'origine o la destinazione di una catena di proprietà tra database.When ON is specified, the database can be the source or target of a cross-database ownership chain.

    Se l'opzione è impostata su OFF, il database non può partecipare alla catena di proprietà tra database.When OFF, the database cannot participate in cross-database ownership chaining. Il valore predefinito è OFF.The default is OFF.

    Importante

    Questa impostazione viene riconosciuta dall'istanza di SQL ServerSQL Server quando l'opzione del server cross db ownership chaining è impostata su 0 (OFF).The instance of SQL ServerSQL Server will recognize this setting when the cross db ownership chaining server option is 0 (OFF). Quando cross db ownership chaining è 1 (ON), tutti i database utente possono partecipare ai concatenamenti della proprietà tra database, a prescindere dal valore di questa opzione.When cross db ownership chaining is 1 (ON), all user databases can participate in cross-database ownership chains, regardless of the value of this option. Questa opzione viene impostata tramite sp_configure.This option is set by using sp_configure.

    Per impostare questa opzione è richiesta l'appartenenza al ruolo predefinito del server sysadmin.To set this option, requires membership in the sysadmin fixed server role. L'opzione DB_CHAINING non può essere impostata in questi database di sistema: master, model, tempdb.The DB_CHAINING option cannot be set on these system databases: master, model, tempdb.

  • TRUSTWORTHY { OFF | ON }TRUSTWORTHY { OFF | ON }

    Se l'opzione è impostata su ON, i moduli del database (ad esempio le viste, le funzioni definite dall'utente o le stored procedure) che utilizzano un contesto di rappresentazione possono accedere alle risorse esterne al database.When ON is specified, database modules (for example, views, user-defined functions, or stored procedures) that use an impersonation context can access resources outside the database.

    Se l'opzione è impostata su OFF, i moduli del database in un conteso di rappresentazione non possono accedere alle risorse esterne al database.When OFF, database modules in an impersonation context cannot access resources outside the database. Il valore predefinito è OFF.The default is OFF.

    L'opzione TRUSTWORTHY viene impostata su OFF ogni volta che il database viene collegato.TRUSTWORTHY is set to OFF whenever the database is attached.

    Per impostazione predefinita, in tutti i database di sistema, a eccezione del database msdb, TRUSTWORTHY è impostata su OFF.By default, all system databases except the msdb database have TRUSTWORTHY set to OFF. Per i database model e tempdb questo valore non può essere modificato.The value cannot be changed for the model and tempdb databases. È consigliabile evitare di impostare l'opzione TRUSTWORTHY su ON per il database master.We recommend that you never set the TRUSTWORTHY option to ON for the master database.

    Per impostare questa opzione è richiesta l'appartenenza al ruolo predefinito del server sysadmin.To set this option, requires membership in the sysadmin fixed server role.

    FOR ATTACH [ WITH < attach_database_option > ] Specifica che il database viene creato collegando un set di file esistente del sistema operativo.FOR ATTACH [ WITH < attach_database_option > ] Specifies that the database is created by attaching an existing set of operating system files. È necessario che una voce dell'elenco <filespec> specifichi il file primario.There must be a <filespec> entry that specifies the primary file. Le altre voci <filespec> obbligatorie sono quelle relative ai file con percorso diverso rispetto al percorso usato in fase di creazione del database o al momento dell'ultimo collegamento del database stesso.The only other <filespec> entries required are those for any files that have a different path from when the database was first created or last attached. Per questi file è necessario specificare una voce <filespec>.A <filespec> entry must be specified for these files.

    FOR ATTACH richiede le seguenti condizioni:FOR ATTACH requires the following:

  • Tutti i file di dati (MDF e NDF) devono essere disponibili.All data files (MDF and NDF) must be available.

  • Tutti i file di log esistenti devono essere disponibili.If multiple log files exist, they must all be available.

    Se un database in lettura/scrittura contiene un singolo file di log attualmente non disponibile, e il database è stato chiuso senza utenti o transazioni aperte prima dell'operazione di collegamento, FOR ATTACH ricompila automaticamente il file di log e aggiorna il file primario.If a read/write database has a single log file that is currently unavailable, and if the database was shut down with no users or open transactions before the attach operation, FOR ATTACH automatically rebuilds the log file and updates the primary file. Per un database in sola lettura, invece, non è possibile ricostruire il log perché il file primario non può essere aggiornato.In contrast, for a read-only database, the log cannot be rebuilt because the primary file cannot be updated. Pertanto, quando si collega un database in sola lettura a un log non disponibile, è necessario specificare i file o i file di log nella clausola FOR ATTACH.Therefore, when you attach a read-only database with a log that is unavailable, you must provide the log files, or the files in the FOR ATTACH clause.

Nota

Un database creato con una versione più recente di SQL ServerSQL Server non può essere collegato con versioni precedenti.A database created by a more recent version of SQL ServerSQL Server cannot be attached in earlier versions.

In SQL ServerSQL Server tutti i file full-text inclusi nel database che viene collegato verranno collegati insieme al database.In SQL ServerSQL Server, any full-text files that are part of the database that is being attached will be attached with the database. Per specificare un nuovo percorso per il catalogo full-text, specificare la nuova posizione senza il nome del file del sistema operativo full-text.To specify a new path of the full-text catalog, specify the new location without the full-text operating system file name. Per altre informazioni, vedere la sezione Esempi.For more information, see the Examples section.

Il collegamento di un database contenente un'opzione FILESTREAM "directory name" a un'istanza di SQL ServerSQL Server richiede a SQL ServerSQL Server di verificare che il nome Database_Directory sia univoco.Attaching a database that contains a FILESTREAM option of "Directory name", into a SQL ServerSQL Server instance will prompt SQL ServerSQL Server to verify that the Database_Directory name is unique. Se non lo è, l'operazione di collegamento ha esito negativo e viene restituito l'errore "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance" (FILESTREAM con nome Database_Directory non univoco in questa istanza di SQL Server).If it is not, the attach operation fails with the error, "FILESTREAM Database_Directory name <name> is not unique in this SQL Server instance". Per evitare questo errore, è necessario passare il parametro facoltativo directory_name a questa operazione.To avoid this error, the optional parameter, directory_name, should be passed in to this operation.

Non è possibile specificare FOR ATTACH in uno snapshot del database.FOR ATTACH cannot be specified on a database snapshot.

FOR ATTACH può specificare l'opzione RESTRICTED_USER.FOR ATTACH can specify the RESTRICTED_USER option. RESTRICTED_USER consente la connessione al database solo ai membri del ruolo predefinito del database db_owner e ai membri dei ruoli predefiniti del server dbcreator e sysadmin, senza tuttavia imporre un limite al numero di connessioni.RESTRICTED_USER allows for only members of the db_owner fixed database role and dbcreator and sysadmin fixed server roles to connect to the database, but does not limit their number. Tentativi dagli utenti non qualificati vengono rifiutati.Attempts by unqualified users are refused.

Se il database usa Service BrokerService Broker, usare WITH <service_broker_option> nella clausola FOR ATTACH:If the database uses Service BrokerService Broker, use the WITH <service_broker_option> in your FOR ATTACH clause:

<service_broker_option> Controlla il recapito dei messaggi di Service BrokerService Broker e l'identificatore di Service BrokerService Broker per il database.<service_broker_option> Controls Service BrokerService Broker message delivery and the Service BrokerService Broker identifier for the database. È possibile specificare le opzioni di Service BrokerService Broker solo quando viene utilizzata la clausola FOR ATTACH. Service BrokerService Broker options can only be specified when the FOR ATTACH clause is used.

ENABLE_BROKERENABLE_BROKER
Indica che Service BrokerService Broker è abilitato per il database specificato.Specifies that Service BrokerService Broker is enabled for the specified database. In altre parole, viene avviato il recapito dei messaggi e is_broker_enabled viene impostato su true nella vista del catalogo sys.databases.That is, message delivery is started, and is_broker_enabled is set to true in the sys.databases catalog view. Il database mantiene l'identificatore di Service BrokerService Broker esistente.The database retains the existing Service BrokerService Broker identifier.

NEW_BROKERNEW_BROKER
Crea un nuovo valore di service_broker_guid sia in sys.databases che nel database ripristinato e termina tutti gli endpoint di conversazione con l'eliminazione.Creates a new service_broker_guid value in both sys.databases and the restored database and ends all conversation endpoints with clean up. Service Broker è abilitato, ma agli endpoint di conversazione remoti non viene inviato alcun messaggio.The broker is enabled, but no message is sent to the remote conversation endpoints. Tutte le route che fanno riferimento all'identificatore di Service BrokerService Broker precedente devono essere ricreate con il nuovo identificatore.Any route that references the old Service BrokerService Broker identifier must be re-created with the new identifier.

ERROR_BROKER_CONVERSATIONSERROR_BROKER_CONVERSATIONS
Termina tutte le conversazioni e restituisce un errore che indica che il database è collegato o ripristinato.Ends all conversations with an error stating that the database is attached or restored. Service Broker viene disabilitato fino al termine dell'operazione e quindi viene riabilitato.The broker is disabled until this operation is completed and then enabled. Il database mantiene l'identificatore di Service BrokerService Broker esistente.The database retains the existing Service BrokerService Broker identifier.

Quando si collega un database replicato copiato anziché scollegato, è necessario considerare quanto segue:When you attach a replicated database that was copied instead of being detached, consider the following:

  • Se si collega il database alla stessa istanza del server e alla stessa versione del database originale, non sono necessari passaggi aggiuntivi.If you attach the database to the same server instance and version as the original database, no additional steps are required.

  • Se si collega il database alla stessa istanza del server ma si usa una versione aggiornata, dopo il completamento dell'operazione di collegamento è necessario eseguire sp_vupgrade_replication per aggiornare la replica.If you attach the database to the same server instance but with an upgraded version, you must execute sp_vupgrade_replication to upgrade replication after the attach operation is complete.

  • Se si collega il database a un'istanza del server diversa, indipendentemente dalla versione, dopo il completamento dell'operazione di collegamento è necessario eseguire sp_removedbreplication per rimuovere la replica.If you attach the database to a different server instance, regardless of version, you must execute sp_removedbreplication to remove replication after the attach operation is complete.

Nota

Il collegamento supporta il formato di archiviazione vardecimal, ma è necessario aggiornare il Motore di database di SQL ServerSQL Server Database Engine almeno a SQL Server 2005SQL Server 2005 Service Pack 2.Attach works with the vardecimal storage format, but the Motore di database di SQL ServerSQL Server Database Engine must be upgraded to at least SQL Server 2005SQL Server 2005 SP2. Non è possibile collegare un database con un formato di archiviazione vardecimal a una versione precedente di SQL ServerSQL Server.You cannot attach a database using vardecimal storage format to an earlier version of SQL ServerSQL Server. Per altre informazioni sul formato di archiviazione vardecimal, vedere Compressione dei dati.For more information about the vardecimal storage format, see Data Compression.

Quando un database viene collegato per la prima volta a una nuova istanza di SQL ServerSQL Servero ripristinato, nel server non è ancora archiviata una copia della chiave master del database, crittografata dalla chiave master del servizio.When a database is first attached or restored to a new instance of SQL ServerSQL Server, a copy of the database master key (encrypted by the service master key) is not yet stored in the server. È necessario usare l'istruzione OPEN MASTER KEY per decrittografare la chiave master del database.You must use the OPEN MASTER KEY statement to decrypt the database master key (DMK). Dopo aver decrittografato la DMK, è possibile usare l'istruzione ALTER MASTER KEY REGENERATE per abilitare la decrittografia automatica per le operazioni successive, in modo da fornire al server una copia della DMK crittografata con la chiave master del servizio (SMK).Once the DMK has been decrypted, you have the option of enabling automatic decryption in the future by using the ALTER MASTER KEY REGENERATE statement to provision the server with a copy of the DMK, encrypted with the service master key (SMK). Quando un database è stato aggiornato da una versione precedente, la DMK deve essere rigenerata per usare l'algoritmo AES più recente.When a database has been upgraded from an earlier version, the DMK should be regenerated to use the newer AES algorithm. Per altre informazioni sulla rigenerazione della DMK, vedere ALTER MASTER KEY (Transact-SQL).For more information about regenerating the DMK, see ALTER MASTER KEY (Transact-SQL). Il tempo richiesto per rigenerare la chiave DMK e aggiornarla ad AES dipende dal numero di oggetti protetti dalla DMK.The time required to regenerate the DMK key to upgrade to AES depends upon the number of objects protected by the DMK. È necessario rigenerare la chiave DMK per l'aggiornamento ad AES una sola volta e l'operazione non influenza le rigenerazioni future che fanno parte di una strategia di rotazione della chiave.Regenerating the DMK key to upgrade to AES is only necessary once, and has no impact on future regenerations as part of a key rotation strategy. Per informazioni su come aggiornare un database tramite collegamento, vedere Aggiornamento di un database usando le operazioni di scollegamento e collegamento (Transact-SQL).For information about how to upgrade a database by using attach, see Upgrade a Database Using Detach and Attach (Transact-SQL).

Importante

È consigliabile non collegare database da origini sconosciute o non attendibili.We recommend that you do not attach databases from unknown or untrusted sources. Tali database possono contenere codice dannoso che potrebbe eseguire codice Transact-SQLTransact-SQL indesiderato o causare errori modificando lo schema o la struttura fisica di database.Such databases could contain malicious code that might execute unintended Transact-SQLTransact-SQL code or cause errors by modifying the schema or the physical database structure. Prima di usare un database da un'origine sconosciuta o non attendibile, eseguire DBCC CHECKDB sul database in un server non di produzione ed esaminare il codice contenuto nel database, ad esempio le stored procedure o altro codice definito dall'utente.Before you use a database from an unknown or untrusted source, run DBCC CHECKDB on the database on a nonproduction server, and also examine the code, such as stored procedures or other user-defined code, in the database.

Nota

Le opzioni TRUSTWORTHY e DB_CHAINING non hanno effetto quando si collega un database.The TRUSTWORTHY and DB_CHAINING options have no affect when attaching a database.

FOR ATTACH_REBUILD_LOGFOR ATTACH_REBUILD_LOG
Specifica che il database viene creato collegando un set di file del sistema operativo già esistente.Specifies that the database is created by attaching an existing set of operating system files. Questa opzione è limitata ai database in lettura/scrittura.This option is limited to read/write databases. È necessaria una voce <filespec> che specifichi il file primario.There must be a <filespec> entry specifying the primary file. Se uno o più file di log delle transazioni sono mancanti, il file di log viene ricostruito.If one or more transaction log files are missing, the log file is rebuilt. Il log ATTACH_REBUILD_LOG crea automaticamente un nuovo file di log da 1 MB.The ATTACH_REBUILD_LOG automatically creates a new, 1 MB log file. Questo file viene posizionato nel percorso predefinito del file di log.This file is placed in the default log-file location. Per informazioni su questa posizione, vedere Visualizzare o modificare i percorsi predefiniti per i file di dati e di log (SQL Server Management Studio).For information about this location, see View or Change the Default Locations for Data and Log Files (SQL Server Management Studio).

Nota

Se i file di log sono disponibili, Motore di databaseDatabase Engine utilizza questi file invece di ricompilare i file di log.If the log files are available, the Motore di databaseDatabase Engine uses those files instead of rebuilding the log files.

FOR ATTACH_REBUILD_LOG richiede le seguenti condizioni:FOR ATTACH_REBUILD_LOG requires the following:

  • Una chiusura normale del database.A clean shutdown of the database.

  • Tutti i file di dati (MDF e NDF) devono essere disponibili.All data files (MDF and NDF) must be available.

Importante

Questa operazione interrompe la catena di backup del log.This operation breaks the log backup chain. È consigliabile eseguire un backup completo del database al termine dell'operazione.We recommend that a full database backup be performed after the operation is completed. Per altre informazioni, vedere BACKUP (Transact-SQL).For more information, see BACKUP (Transact-SQL).

In genere, l'opzione FOR ATTACH_REBUILD_LOG viene utilizzata quando si copia un database in lettura/scrittura con un log di grandi dimensioni in un altro server dove la copia verrà utilizzata principalmente, o esclusivamente, per operazioni di lettura e richiederà quindi una quantità minore di spazio di log rispetto al database originale.Typically, FOR ATTACH_REBUILD_LOG is used when you copy a read/write database with a large log to another server where the copy will be used mostly, or only, for read operations, and therefore requires less log space than the original database.

Non è possibile specificare FOR ATTACH_REBUILD_LOG in uno snapshot del database.FOR ATTACH_REBUILD_LOG cannot be specified on a database snapshot.

Per altre informazioni sul collegamento e lo scollegamento di database, vedere Collegamento e scollegamento di un database (SQL Server).For more information about attaching and detaching databases, see Database Detach and Attach (SQL Server).

<filespec><filespec>
Controlla le proprietà del file.Controls the file properties.

NAME logical_file_nameNAME logical_file_name
Specifica il nome logico per il file.Specifies the logical name for the file. Il parametro NAME è necessario quando FILENAME è specificato, eccetto quando viene specificata una delle clausole FOR ATTACH.NAME is required when FILENAME is specified, except when specifying one of the FOR ATTACH clauses. Non è possibile assegnare il nome PRIMARY a un filegroup FILESTREAM.A FILESTREAM filegroup cannot be named PRIMARY.

logical_file_namelogical_file_name
Nome logico utilizzato in SQL ServerSQL Server per fare riferimento al file.Is the logical name used in SQL ServerSQL Server when referencing the file. Logical_file_name deve essere univoco all'interno del database e conforme alle regole per gli identificatori.Logical_file_name must be unique in the database and comply with the rules for identifiers. Il nome può essere un carattere o una costante Unicode oppure un identificatore normale o delimitato.The name can be a character or Unicode constant, or a regular or delimited identifier.

FILENAME { 'os_file_name' | 'filestream_path' }FILENAME { 'os_file_name' | 'filestream_path' }
Specifica il nome del file (fisico) del sistema operativo.Specifies the operating system (physical) file name.

' os_file_name '' os_file_name '
Percorso e nome di file utilizzato dal sistema operativo quando si crea il file.Is the path and file name used by the operating system when you create the file. Il file deve risiedere in uno dei dispositivi seguenti: il server locale in cui è installato SQL ServerSQL Server, una rete di archiviazione (SAN) o una rete basata su iSCSI.The file must reside on one of the following devices: the local server on which SQL ServerSQL Server is installed, a Storage Area Network [SAN], or an iSCSI-based network. Il percorso specificato deve essere esistente prima dell'esecuzione dell'istruzione CREATE DATABASE.The specified path must exist before executing the CREATE DATABASE statement. Per altre informazioni, vedere "Filegroup e file di database" nella sezione Osservazioni.For more information, see "Database Files and Filegroups" in the Remarks section.

È possibile impostare i parametri SIZE, MAXSIZE e FILEGROWTH se è specificato un percorso UNC per il file.SIZE, MAXSIZE, and FILEGROWTH parameters can be set when a UNC path is specified for the file.

Se il file si trova in una partizione non formattata, nell'argomento os_file_name è necessario specificare solo la lettera dell'unità di una partizione non formattata esistente.If the file is on a raw partition, os_file_name must specify only the drive letter of an existing raw partition. È possibile creare soltanto un file di dati su ogni partizione non formattata dal sistema operativo.Only one data file can be created on each raw partition.

I file di dati non devono essere archiviati in file system compressi a meno che non si tratti di file secondari in sola lettura o il database non sia in sola lettura.Data files should not be put on compressed file systems unless the files are read-only secondary files, or the database is read-only. I file di log non devono mai essere archiviati in file system compressi.Log files should never be put on compressed file systems.

' filestream_path '' filestream_path '
Per un filegroup FILESTREAM, FILENAME si riferisce a un percorso in cui verrà archiviato FILESTREAM.For a FILESTREAM filegroup, FILENAME refers to a path where FILESTREAM data will be stored. È necessario che il percorso fino all'ultima cartella esista già, mentre l'ultima cartella non deve essere presente.The path up to the last folder must exist, and the last folder must not exist. Se, ad esempio, si specifica il percorso C:\MyFiles\MyFilestreamData, C:\MyFiles deve esistere già prima di eseguire ALTER DATABASE, mentre la cartella MyFilestreamData non deve essere presente.For example, if you specify the path C:\MyFiles\MyFilestreamData, C:\MyFiles must exist before you run ALTER DATABASE, but the MyFilestreamData folder must not exist.

Il filegroup e il file (<filespec>) devono essere creati nella stessa istruzione.The filegroup and file (<filespec>) must be created in the same statement.

Le proprietà SIZE e FILEGROWTH non si applicano a un filegroup FILESTREAM.The SIZE and FILEGROWTH properties do not apply to a FILESTREAM filegroup.

SIZE sizeSIZE size
Specifica le dimensioni del file.Specifies the size of the file.

Non è possibile specificare SIZE quando os_file_name è specificato come percorso UNC.SIZE cannot be specified when the os_file_name is specified as a UNC path. SIZE non si applica a un filegroup FILESTREAM.SIZE does not apply to a FILESTREAM filegroup.

sizesize
Dimensioni iniziali del file.Is the initial size of the file.

Se non si specifica size per il file primario, il Motore di databaseDatabase Engine usa le dimensioni del file primario del database modello.When size is not supplied for the primary file, the Motore di databaseDatabase Engine uses the size of the primary file in the model database. Le dimensioni predefinite del modello corrispondono a 8 MB (a partire da SQL Server 2016 (13.x)SQL Server 2016 (13.x)) o a 1 MB (per le versioni precedenti).The default size of model is 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). Se si specifica un file di dati o un file di log secondario senza specificare size per il file, il Motore di databaseDatabase Engine crea un file di 8 MB (a partire da SQL Server 2016 (13.x)SQL Server 2016 (13.x)) o di 1 MB (per le versioni precedenti).When a secondary data file or log file is specified, but size is not specified for the file, the Motore di databaseDatabase Engine makes the file 8 MB (beginning with SQL Server 2016 (13.x)SQL Server 2016 (13.x)) or 1 MB (for earlier versions). Le dimensioni specificate per il file di dati primario devono essere uguali almeno alle dimensioni del file primario del database model.The size specified for the primary file must be at least as large as the primary file of the model database.

È possibile usare i suffissi per kilobyte (KB), megabyte (MB), gigabyte (GB) e terabyte (TB).The kilobyte (KB), megabyte (MB), gigabyte (GB), or terabyte (TB) suffixes can be used. Il valore predefinito è MB.The default is MB. Specificare un numero intero, ovvero non includere decimali.Specify a whole number; do not include a decimal. Size è un valore intero.Size is an integer value. Per i valori superiori a 2.147.483.647, usare le unità maggiori.For values greater than 2147483647, use larger units.

MAXSIZE max_sizeMAXSIZE max_size
Valore massimo fino a cui possono aumentare le dimensioni del file.Specifies the maximum size to which the file can grow. Non è possibile specificare MAXSIZE quando os_file_name è specificato come percorso UNC.MAXSIZE cannot be specified when the os_file_name is specified as a UNC path.

max_sizemax_size
Dimensioni massime del file.Is the maximum file size. È possibile usare i suffissi KB, MB, GB e TB.The KB, MB, GB, and TB suffixes can be used. Il valore predefinito è MB.The default is MB. Specificare un numero intero, ovvero non includere decimali.Specify a whole number; do not include a decimal. Se max_size viene omesso, le dimensioni del file aumentano fino all'esaurimento dello spazio su disco.If max_size is not specified, the file grows until the disk is full. Max_size è un valore intero.Max_size is an integer value. Per i valori superiori a 2.147.483.647, usare le unità maggiori.For values greater than 2147483647, use larger units.

UNLIMITEDUNLIMITED
Specifica che le dimensioni del file aumentano fino a quando il disco risulta pieno.Specifies that the file grows until the disk is full. In SQL ServerSQL Server, un file di log specificato con aumento delle dimensioni illimitato può raggiungere una dimensione massima di 2 TB, mentre un file di dati può raggiungere una dimensione massima di 16 TB.In SQL ServerSQL Server, a log file specified with unlimited growth has a maximum size of 2 TB, and a data file has a maximum size of 16 TB.

Nota

Non vi sono dimensioni massime se questa opzione viene specificata per un contenitore FILESTREAM,There is no maximum size when this option is specified for a FILESTREAM container. il quale continua a crescere finché il disco non è pieno.It continues to grow until the disk is full.

FILEGROWTH growth_incrementFILEGROWTH growth_increment
Specifica l'incremento automatico per l'aumento delle dimensioni del file.Specifies the automatic growth increment of the file. Il valore impostato per il parametro FILEGROWTH di un file non può essere superiore al valore del parametro MAXSIZE.The FILEGROWTH setting for a file cannot exceed the MAXSIZE setting. Non è possibile specificare FILEGROWTH quando os_file_name è specificato come percorso UNC.FILEGROWTH cannot be specified when the os_file_name is specified as a UNC path. FILEGROWTH non si applica a un filegroup FILESTREAM.FILEGROWTH does not apply to a FILESTREAM filegroup.

growth_incrementgrowth_increment
Quantità di spazio aggiunta al file ogni volta che è necessario spazio aggiuntivo.Is the amount of space added to the file every time new space is required.

È possibile specificare il valore in megabyte (MB), kilobyte (KB), gigabyte (GB) o terabyte (TB) oppure in forma di percentuale (%).The value can be specified in MB, KB, GB, TB, or percent (%). Se si specifica un valore senza il suffisso MB, KB o %, il suffisso predefinito è MB.If a number is specified without an MB, KB, or % suffix, the default is MB. Se si utilizza il suffisso %, l'incremento corrisponde alla percentuale delle dimensioni del file specificata quando si verifica l'incremento.When % is specified, the growth increment size is the specified percentage of the size of the file at the time the increment occurs. Le dimensioni specificate vengono arrotondate al blocco di 64 KB più prossimo e il valore minimo è 64 KB.The size specified is rounded to the nearest 64 KB, and the minimum value is 64 KB.

Un valore 0 indica che l'opzione per l'aumento automatico è disattivata e non è consentito spazio aggiuntivo.A value of 0 indicates that automatic growth is off and no additional space is allowed.

Se FILEGROWTH viene omesso, i valori predefiniti sono:If FILEGROWTH is not specified, the default values are:

VersioneVersion Valori predefinitiDefault values
Inizio SQL Server 2016 (13.x)SQL Server 2016 (13.x)Beginning SQL Server 2016 (13.x)SQL Server 2016 (13.x) Dati 64 MB.Data 64 MB. File di log 64 MB.Log files 64 MB.
Inizio SQL Server 2005SQL Server 2005Beginning SQL Server 2005SQL Server 2005 Dati 1 MB.Data 1 MB. File di log 10%.Log files 10%.
Prima di SQL Server 2005SQL Server 2005Prior to SQL Server 2005SQL Server 2005 Dati 10%.Data 10%. File di log 10%.Log files 10%.

<filegroup><filegroup>
Controlla le proprietà del filegroup.Controls the filegroup properties. Non è possibile specificare il filegroup in uno snapshot del database.Filegroup cannot be specified on a database snapshot.

FILEGROUP filegroup_nameFILEGROUP filegroup_name
Nome logico del filegroup.Is the logical name of the filegroup.

filegroup_namefilegroup_name
filegroup_name deve essere univoco nel database e deve essere diverso dai nomi PRIMARY e PRIMARY_LOG forniti dal sistema.filegroup_name must be unique in the database and cannot be the system-provided names PRIMARY and PRIMARY_LOG. Il nome può essere un carattere o una costante Unicode oppure un identificatore normale o delimitato.The name can be a character or Unicode constant, or a regular or delimited identifier. Il nome deve essere conforme alle regole per gli identificatori.The name must comply with the rules for identifiers.

CONTAINS FILESTREAMCONTAINS FILESTREAM
Specifica che tramite il filegroup vengono archiviati oggetti binari di grandi dimensioni (BLOB) nel file system.Specifies that the filegroup stores FILESTREAM binary large objects (BLOBs) in the file system.

CONTAINS MEMORY_OPTIMIZED_DATACONTAINS MEMORY_OPTIMIZED_DATA

Si applica a: da SQL Server 2014 (12.x)SQL Server 2014 (12.x) a SQL Server 2017SQL Server 2017Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) through SQL Server 2017SQL Server 2017

Specifica che il filegroup archivia i dati memory_optimized nel file system.Specifies that the filegroup stores memory_optimized data in the file system. Per altre informazioni, vedere OLTP in memoria (ottimizzazione in memoria).For more information, see In-Memory OLTP (In-Memory Optimization). È ammesso un solo filegroup MEMORY_OPTIMIZED_DATA per database.Only one MEMORY_OPTIMIZED_DATA filegroup is allowed per database. Per esempi di codice che creano un filegroup per l'archiviazione di dati ottimizzati per la memoria, vedere Creazione di una tabella ottimizzata per la memoria e di una stored procedure compilata in modo nativo.For code samples that create a filegroup to store memory-optimized data, see Creating a Memory-Optimized Table and a Natively Compiled Stored Procedure.

DEFAULTDEFAULT
Indica che il filegroup specificato è il filegroup predefinito nel database.Specifies the named filegroup is the default filegroup in the database.

database_snapshot_namedatabase_snapshot_name
Nome del nuovo snapshot del database.Is the name of the new database snapshot. I nomi dei database devono essere univoci all'interno di un'istanza d SQL ServerSQL Server e devono essere conformi alle regole per gli identificatori.Database snapshot names must be unique within an instance of SQL ServerSQL Server and comply with the rules for identifiers. database_snapshot_name può essere composto da un massimo di 128 caratteri.database_snapshot_name can be a maximum of 128 characters.

ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]ON ( NAME =logical_file_name, FILENAME ='os_file_name') [ ,... n ]
Per la creazione di uno snapshot del database, specifica un elenco di file nel database di origine.For creating a database snapshot, specifies a list of files in the source database. Per il funzionamento dello snapshot, è necessario specificare tutti i file di dati singolarmente.For the snapshot to work, all the data files must be specified individually. I file di log non sono tuttavia consentiti per gli snapshot del database.However, log files are not allowed for database snapshots. I filegroup FILESTREAM non sono supportati dagli snapshot del database.FILESTREAM filegroups are not supported by database snapshots. Se un file di dati FILESTREAM è incluso in una clausola CREATE DATABASE ON, l'istruzione non verrà eseguita e sarà generato un errore.If a FILESTREAM data file is included in a CREATE DATABASE ON clause, the statement will fail and an error will be raised.

Per le descrizioni di NAME e FILENAME e i rispettivi valori, vedere le descrizioni dei valori <filespec> equivalenti.For descriptions of NAME and FILENAME and their values see the descriptions of the equivalent <filespec> values.

Nota

Quando si crea uno snapshot del database, le altre opzioni <filespec> e la parola chiave PRIMARY non sono consentite.When you create a database snapshot, the other <filespec> options and the keyword PRIMARY are disallowed.

AS SNAPSHOT OF source_database_nameAS SNAPSHOT OF source_database_name
Specifica che il database in fase di creazione è uno snapshot del database di origine specificato da source_database_name.Specifies that the database being created is a database snapshot of the source database specified by source_database_name. Lo snapshot e il database di origine devono essere archiviati nella stessa istanza.The snapshot and source database must be on the same instance.

Per altre informazioni, vedere "Snapshot di database" nella sezione Osservazioni.For more information, see "Database Snapshots" in the Remarks section.

RemarksRemarks

Il backup del database master deve essere eseguito ogni volta che si crea, si modifica o si rilascia un database utente.The master database should be backed up whenever a user database is created, modified, or dropped.

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

È possibile usare un'istruzione CREATE DATABASE per creare un database e i file che lo archiviano.You can use one CREATE DATABASE statement to create a database and the files that store the database. SQL ServerSQL Server implementa l'istruzione CREATE DATABASE tramite i passaggi seguenti: implements the CREATE DATABASE statement by using the following steps:

  1. SQL ServerSQL Server usa una copia del database modello per inizializzare il database e i relativi metadati.The SQL ServerSQL Server uses a copy of the model database to initialize the database and its metadata.

  2. Un GUID di Service Broker viene assegnato al database.A service broker GUID is assigned to the database.

  3. Il Motore di databaseDatabase Engine compila quindi la parte rimanente del database con pagine vuote, ad eccezione delle pagine con dati interni che registrano la modalità di utilizzo dello spazio nel database.The Motore di databaseDatabase Engine then fills the rest of the database with empty pages, except for pages that have internal data that records how the space is used in the database.

    In un'istanza di SQL ServerSQL Serverè possibile specificare al massimo 32.767 database.A maximum of 32,767 databases can be specified on an instance of SQL ServerSQL Server.

    Ogni database ha un proprietario che può eseguire attività particolari nel database.Each database has an owner that can perform special activities in the database. Il proprietario è l'utente che crea il database.The owner is the user that creates the database. Il proprietario del database può essere modificato tramite sp_changedbowner.The database owner can be changed by using sp_changedbowner.

Alcune funzionalità del database dipendono dalle caratteristiche o dalle funzionalità presenti nel file system per la disponibilità completa delle funzionalità del database.Some database features depend on features or capabilities present in the file system for full functionality of a database. Ecco alcuni esempi di funzionalità che dipendono dal set di funzionalità del file system:Some examples of features that depend on file system feature set include:

  • DBCC CHECKDBDBCC CHECKDB
  • FileStreamFileStream
  • Backup online tramite il Servizio Copia Shadow del volume e gli snapshot dei fileOnline backups using VSS and file snapshots
  • Creazione di snapshot del databaseDatabase snapshot creation
  • Filegroup di dati ottimizzati per la memoriaMemory Optimized Data filegroup

Filegroup e file di databaseDatabase Files and Filegroups

Ogni database ha almeno due file, un file primario e un file registro transazioni, e almeno un filegroup.Every database has at least two files, a primary file and a transaction log file, and at least one filegroup. Per ogni database è possibile specificare un massimo di 32.767 file e 32.767 filegroup.A maximum of 32,767 files and 32,767 filegroups can be specified for each database.

Durante la creazione di un database, creare file di dati di dimensioni corrispondenti alla quantità massima di dati che si prevede di includere nel database.When you create a database, make the data files as large as possible based on the maximum amount of data you expect in the database

Per l'archiviazione dei file di database di SQL ServerSQL Server è consigliabile usare una rete di archiviazione (SAN), una rete basata su iSCSI o un disco collegato localmente, poiché questa configurazione ottimizza le prestazioni e l'affidabilità di SQL ServerSQL Server.We recommend that you use a Storage Area Network (SAN), iSCSI-based network, or locally attached disk for the storage of your SQL ServerSQL Server database files, because this configuration optimizes SQL ServerSQL Server performance and reliability.

Snapshot di databaseDatabase Snapshots

È possibile usare l'istruzione CREATE DATABASE per creare una visualizzazione statica, di sola lettura, uno snapshot del database di origine.You can use the CREATE DATABASE statement to create a read-only, static view, a database snapshot of the source database. Uno snapshot del database è consistente dal punto di vista transazionale con il database di origine al momento della creazione dello snapshot.A database snapshot is transactionally consistent with the source database as it existed at the time when the snapshot was created. Un database di origine può avere più snapshot.A source database can have multiple snapshots.

Nota

Quando si crea uno snapshot di database, l'istruzione CREATE DATABASE non può far riferimento a file di log, file offline, file di ripristino e file inattivi.When you create a database snapshot, the CREATE DATABASE statement cannot reference log files, offline files, restoring files, and defunct files.

Se la creazione di uno snapshot di database ha esito negativo, lo snapshot diventa sospetto e deve essere eliminato.If creating a database snapshot fails, the snapshot becomes suspect and must be deleted. Per altre informazioni, vedere DROP DATABASE (Transact-SQL).For more information, see DROP DATABASE (Transact-SQL).

Ogni snapshot viene mantenuto fino a quando non viene eliminato tramite DROP DATABASE.Each snapshot persists until it is deleted by using DROP DATABASE.

Per altre informazioni, vedere Snapshot del database (SQL Server).For more information, see Database Snapshots (SQL Server).

Opzioni di databaseDatabase Options

Quando si crea un database, vengono impostate automaticamente diverse opzioni.Several database options are automatically set whenever you create a database. Per un elenco di queste opzioni, vedere Opzioni ALTER DATABASE SET (Transact-SQL).For a list of these options, see ALTER DATABASE SET Options (Transact-SQL).

Database modello e creazione di nuovi databaseThe model Database and Creating New Databases

Tutti gli oggetti definiti dall'utente inclusi nel database modello vengono copiati in tutti i nuovi database.All user-defined objects in the model database are copied to all newly created databases. È possibile aggiungere al database model qualsiasi oggetto che si desidera includere in tutti i database appena creati, ad esempio tabelle, viste, stored procedure, tipi di dati e così via.You can add any objects, such as tables, views, stored procedures, data types, and so on, to the model database to be included in all newly created databases.

Quando si specifica un'istruzione CREATE DATABASE database_name senza parametri di dimensione aggiuntivi, per il file di dati primario vengono usate le dimensioni del file primario nel database modello.When a CREATE DATABASE database_name statement is specified without additional size parameters, the primary data file is made the same size as the primary file in the model database.

A meno che non si specifichi FOR ATTACH, ogni nuovo database eredita le impostazioni delle opzioni di database dal database model.Unless FOR ATTACH is specified, each new database inherits the database option settings from the model database. Ad esempio, l'opzione di database auto shrink viene impostata su true nel database modello e in tutti i nuovi database creati.For example, the database option auto shrink is set to true in model and in any new databases you create. Se si modificano le opzioni nel database model, queste nuove impostazioni vengono utilizzate in tutti i nuovi database creati.If you change the options in the model database, these new option settings are used in any new databases you create. La modifica delle operazioni nel database model non ha effetto sui database esistenti.Changing operations in the model database does not affect existing databases. Se viene specificata l'opzione FOR ATTACH nell'istruzione CREATE DATABASE, i nuovi database ereditano le impostazioni delle opzioni di database dal database originale.If FOR ATTACH is specified on the CREATE DATABASE statement, the new database inherits the database option settings of the original database.

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. Per altre informazioni, vedere Viste di sistema (Transact-SQL).For more information, see System Views (Transact-SQL).

AutorizzazioniPermissions

È richiesta l'autorizzazione CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.Requires CREATE DATABASE, CREATE ANY DATABASE, or ALTER ANY DATABASE permission.

Per mantenere il controllo sull'utilizzo del disco per un'istanza di SQL ServerSQL Server, l'autorizzazione per la creazione dei database è in genere limitata a pochi account di accesso.To maintain control over disk use on an instance of SQL ServerSQL Server, permission to create databases is typically limited to a few login accounts.

Nell'esempio seguente viene fornita l'autorizzazione per creare un database per l'utente del database Fay.The following example provides the permission to create a database to the database user Fay.

USE master;  
GO  
GRANT CREATE DATABASE TO [Fay];  
GO  

Autorizzazioni per i file di dati e di logPermissions on Data and Log Files

In SQL ServerSQL Server vengono impostate autorizzazioni specifiche per i file di dati e di log in ogni database.In SQL ServerSQL Server, certain permissions are set on the data and log files of each database. Le autorizzazioni seguenti vengono impostate quando le operazioni elencate di seguito vengono eseguite in un database.The following permissions are set whenever the following operations are applied to a database:

Data creazioneCreated Modifica per l'aggiunta di un nuovo fileModified to add a new file
CollegamentoAttached Esecuzione del backupBacked up
ScollegamentoDetached RipristinoRestored

Con le autorizzazioni è possibile evitare che vengano accidentalmente alterati i file che si trovano in una directory con autorizzazioni aperte.The permissions prevent the files from being accidentally tampered with if they reside in a directory that has open permissions.

Nota

In MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition non vengono impostate autorizzazioni per i file di dati e di log. MicrosoftMicrosoft SQL Server 2005 Express EditionSQL Server 2005 Express Edition does not set data and log file permissions.

EsempiExamples

A.A. Creazione di un database senza specificare i fileCreating a database without specifying files

Nell'esempio seguente viene creato il database mytest insieme al file di log delle transazioni e al file primario corrispondenti.The following example creates the database mytest and creates a corresponding primary and transaction log file. Poiché l'istruzione non specifica elementi <filespec>, le dimensioni del file di database primario corrispondono a quelle del file primario del database modello.Because the statement has no <filespec> items, the primary database file is the size of the model database primary file. Il file di log delle transazioni viene impostato sul valore più grande tra 512 KB o il 25% delle dimensioni del file di dati primario.The transaction log is set to the larger of these values: 512KB or 25% the size of the primary data file. Poiché MAXSIZE non è specificato, le dimensioni dei file possono aumentare fino a riempire lo spazio disponibile su disco.Because MAXSIZE is not specified, the files can grow to fill all available disk space. In questo esempio viene inoltre illustrato come eliminare l'eventuale database denominato mytest prima di creare il database mytest.This example also demonstrates how to drop the database named mytest if it exists, before creating the mytest database.

USE master;  
GO  
IF DB_ID (N'mytest') IS NOT NULL
DROP DATABASE mytest;
GO
CREATE DATABASE mytest;  
GO  
-- Verify the database files and sizes  
SELECT name, size, size*1.0/128 AS [Size in MBs]   
FROM sys.master_files  
WHERE name = N'mytest';  
GO  

B.B. Creazione di un database che specifica i file di dati e i file di log delle transazioniCreating a database that specifies the data and transaction log files

Nell'esempio seguente viene creato il database Sales.The following example creates the database Sales. Dal momento che la parola chiave PRIMARY non è specificata, il primo file, cioè Sales_dat, corrisponde al file primario.Because the keyword PRIMARY is not used, the first file (Sales_dat) becomes the primary file. Poiché nel parametro SIZE non viene specificato il suffisso MB o KB per le dimensioni del file Sales_dat , viene utilizzato MB e le dimensioni del file vengono allocate in megabyte.Because neither MB nor KB is specified in the SIZE parameter for the Sales_dat file, it uses MB and is allocated in megabytes. Il backup del database Sales_log vengono allocate in megabyte perché nel parametro MB è stato specificato in modo esplicito il suffisso SIZE .The Sales_log file is allocated in megabytes because the MB suffix is explicitly stated in the SIZE parameter.

USE master;  
GO  
CREATE DATABASE Sales  
ON   
( NAME = Sales_dat,  
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\saledat.mdf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 5 )  
LOG ON  
( NAME = Sales_log,  
    FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\salelog.ldf',  
    SIZE = 5MB,  
    MAXSIZE = 25MB,  
    FILEGROWTH = 5MB ) ;  
GO  

C.C. Creazione di un database specificando più file di dati e più file di log delle transazioniCreating a database by specifying multiple data and transaction log files

Nell'esempio seguente viene creato il database Archive che include tre file di dati da 100-MB e due file del log delle transazioni da 100-MB.The following example creates the database Archive that has three 100-MB data files and two 100-MB transaction log files. Il file primario è il primo file dell'elenco e viene specificato in modo esplicito con la parola chiave PRIMARY.The primary file is the first file in the list and is explicitly specified with the PRIMARY keyword. I file di log delle transazioni vengono specificati dopo le parole chiave LOG ON.The transaction log files are specified following the LOG ON keywords. Si notino le estensioni utilizzate per i file nell'opzione FILENAME: .mdf per i file di dati primari, .ndf per i file di dati secondari e .ldf per i file di log delle transazioni.Note the extensions used for the files in the FILENAME option: .mdf is used for primary data files, .ndf is used for the secondary data files, and .ldf is used for transaction log files. In questo esempio il database viene collocato nell'unità D: anziché con il database master.This example places the database on the D: drive instead of with the master database.

USE master;  
GO  
CREATE DATABASE Archive   
ON  
PRIMARY    
    (NAME = Arch1,  
    FILENAME = 'D:\SalesData\archdat1.mdf',  
    SIZE = 100MB,  
    MAXSIZE = 200,  
    FILEGROWTH = 20),  
    ( NAME = Arch2,  
    FILENAME = 'D:\SalesData\archdat2.ndf',  
    SIZE = 100MB,  
    MAXSIZE = 200,  
    FILEGROWTH = 20),  
    ( NAME = Arch3,  
    FILENAME = 'D:\SalesData\archdat3.ndf',  
    SIZE = 100MB,  
    MAXSIZE = 200,  
    FILEGROWTH = 20)  
LOG ON   
   (NAME = Archlog1,  
    FILENAME = 'D:\SalesData\archlog1.ldf',  
    SIZE = 100MB,  
    MAXSIZE = 200,  
    FILEGROWTH = 20),  
   (NAME = Archlog2,  
    FILENAME = 'D:\SalesData\archlog2.ldf',  
    SIZE = 100MB,  
    MAXSIZE = 200,  
    FILEGROWTH = 20) ;  
GO  

D.D. Creazione di un database con filegroupCreating a database that has filegroups

Nell'esempio seguente viene creato il database Sales che include i filegroup seguenti:The following example creates the database Sales that has the following filegroups:

  • Il filegroup primario con i file Spri1_dat e Spri2_dat.The primary filegroup with the files Spri1_dat and Spri2_dat. Gli incrementi specificati nel parametro FILEGROWTH per tali file corrispondono al 15%.The FILEGROWTH increments for these files are specified as 15%.

  • Un filegroup SalesGroup1 con i file SGrp1Fi1 e SGrp1Fi2.A filegroup named SalesGroup1 with the files SGrp1Fi1 and SGrp1Fi2.

  • Un filegroup SalesGroup2 con i file SGrp2Fi1 e SGrp2Fi2.A filegroup named SalesGroup2 with the files SGrp2Fi1 and SGrp2Fi2.

    In questo esempio i file di dati e di log vengono collocati in dischi diversi al fine di migliorare le prestazioni.This example places the data and log files on different disks to improve performance.

USE master;  
GO  
CREATE DATABASE Sales  
ON PRIMARY  
( NAME = SPri1_dat,  
    FILENAME = 'D:\SalesData\SPri1dat.mdf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 15% ),  
( NAME = SPri2_dat,  
    FILENAME = 'D:\SalesData\SPri2dt.ndf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 15% ),  
FILEGROUP SalesGroup1  
( NAME = SGrp1Fi1_dat,  
    FILENAME = 'D:\SalesData\SG1Fi1dt.ndf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 5 ),  
( NAME = SGrp1Fi2_dat,  
    FILENAME = 'D:\SalesData\SG1Fi2dt.ndf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 5 ),  
FILEGROUP SalesGroup2  
( NAME = SGrp2Fi1_dat,  
    FILENAME = 'D:\SalesData\SG2Fi1dt.ndf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 5 ),  
( NAME = SGrp2Fi2_dat,  
    FILENAME = 'D:\SalesData\SG2Fi2dt.ndf',  
    SIZE = 10,  
    MAXSIZE = 50,  
    FILEGROWTH = 5 )  
LOG ON  
( NAME = Sales_log,  
    FILENAME = 'E:\SalesLog\salelog.ldf',  
    SIZE = 5MB,  
    MAXSIZE = 25MB,  
    FILEGROWTH = 5MB ) ;  
GO  

E.E. Collegamento di un databaseAttaching a database

Nell'esempio seguente viene scollegato il database Archive creato nell'esempio D, quindi viene collegato tramite la clausola FOR ATTACH.The following example detaches the database Archive created in example D, and then attaches it by using the FOR ATTACH clause. Archive è stato definito in modo da avere più dati e file di log.Archive was defined to have multiple data and log files. Tuttavia, poiché il percorso dei file non è stato modificato dopo la creazione, deve essere specificato solo il file primario nella clausola FOR ATTACH.However, because the location of the files has not changed since they were created, only the primary file has to be specified in the FOR ATTACH clause. A partire da SQL Server 2005SQL Server 2005, tutti i file full-text inclusi nel database in fase di collegamento verranno collegati assieme al database.Beginning with SQL Server 2005SQL Server 2005, any full-text files that are part of the database that is being attached will be attached with the database.

USE master;  
GO  
sp_detach_db Archive;  
GO  
CREATE DATABASE Archive  
      ON (FILENAME = 'D:\SalesData\archdat1.mdf')   
      FOR ATTACH ;  
GO  

F.F. Creazione di uno snapshot del databaseCreating a database snapshot

L'esempio seguente crea lo snapshot di database sales_snapshot0600.The following example creates the database snapshot sales_snapshot0600. Poiché uno snapshot di database è in sola lettura, non è possibile specificare un file di log.Because a database snapshot is read-only, a log file cannot be specified. In conformità con la sintassi, viene specificato ogni file nel database di origine, mentre i filegroup non vengono specificati.In conformance with the syntax, every file in the source database is specified, and filegroups are not specified.

Il database di origine per questo esempio è il database Sales creato nell'esempio D.The source database for this example is the Sales database created in example D.

USE master;  
GO  
CREATE DATABASE sales_snapshot0600 ON  
    ( NAME = SPri1_dat, FILENAME = 'D:\SalesData\SPri1dat_0600.ss'),  
    ( NAME = SPri2_dat, FILENAME = 'D:\SalesData\SPri2dt_0600.ss'),  
    ( NAME = SGrp1Fi1_dat, FILENAME = 'D:\SalesData\SG1Fi1dt_0600.ss'),  
    ( NAME = SGrp1Fi2_dat, FILENAME = 'D:\SalesData\SG1Fi2dt_0600.ss'),  
    ( NAME = SGrp2Fi1_dat, FILENAME = 'D:\SalesData\SG2Fi1dt_0600.ss'),  
    ( NAME = SGrp2Fi2_dat, FILENAME = 'D:\SalesData\SG2Fi2dt_0600.ss')  
AS SNAPSHOT OF Sales ;  
GO  

G.G. Creazione di un database e specifica di un nome delle regole di confronto e delle opzioniCreating a database and specifying a collation name and options

Nell'esempio seguente viene creato il database MyOptionsTest.The following example creates the database MyOptionsTest. Viene specificato un nome delle regole di confronto e le opzioni TRUSTYWORTHY e DB_CHAINING vengono impostate su ON.A collation name is specified and the TRUSTYWORTHY and DB_CHAINING options are set to ON.

USE master;  
GO  
IF DB_ID (N'MyOptionsTest') IS NOT NULL  
DROP DATABASE MyOptionsTest;  
GO  
CREATE DATABASE MyOptionsTest  
COLLATE French_CI_AI  
WITH TRUSTWORTHY ON, DB_CHAINING ON;  
GO  
--Verifying collation and option settings.  
SELECT name, collation_name, is_trustworthy_on, is_db_chaining_on  
FROM sys.databases  
WHERE name = N'MyOptionsTest';  
GO  

H.H. Collegamento di un catalogo full-text che è stato spostatoAttaching a full-text catalog that has been moved

Nell'esempio seguente viene collegato il catalogo full-text AdvWksFtCat insieme ai file di log e di dati di AdventureWorks2012.The following example attaches the full-text catalog AdvWksFtCat along with the AdventureWorks2012 data and log files. In questo esempio, il catalogo full-text viene spostato dalla posizione predefinita in una nuova posizione c:\myFTCatalogs.In this example, the full-text catalog is moved from its default location to a new location c:\myFTCatalogs. I file di dati e di log rimangono nelle posizioni predefinite.The data and log files remain in their default locations.

USE master;  
GO  
--Detach the AdventureWorks2012 database  
sp_detach_db AdventureWorks2012;  
GO  
-- Physically move the full text catalog to the new location.  
--Attach the AdventureWorks2012 database and specify the new location of the full-text catalog.  
CREATE DATABASE AdventureWorks2012 ON   
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_data.mdf'),   
    (FILENAME = 'c:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks2012_log.ldf'),  
    (FILENAME = 'c:\myFTCatalogs\AdvWksFtCat')  
FOR ATTACH;  
GO  

I.I. Creazione di un database che specifica un filegroup di righe e due filegroup FILESTREAMCreating a database that specifies a row filegroup and two FILESTREAM filegroups

Nell'esempio seguente viene creato il database FileStreamDB.The following example creates the FileStreamDB database. Il database viene creato con un filegroup di righe e due filegroup FILESTREAM.The database is created with one row filegroup and two FILESTREAM filegroups. Ogni filegroup contiene un file:Each filegroup contains one file:

  • FileStreamDB_data contiene dati delle righe.FileStreamDB_data contains row data. Contiene un file, FileStreamDB_data.mdf, con il percorso predefinito.It contains one file, FileStreamDB_data.mdf with the default path.

  • FileStreamPhotos contiene dati FILESTREAM.FileStreamPhotos contains FILESTREAM data. Contiene due contenitori di dati FILESTREAM, FSPhotos nel percorso C:\MyFSfolder\Photos e FSPhotos2 nel percorso D:\MyFSfolder\Photos.It contains two FILESTREAM data containers, FSPhotos, located at C:\MyFSfolder\Photos and FSPhotos2, located at D:\MyFSfolder\Photos. È contrassegnato come filegroup FILESTREAM predefinito.It is marked as the default FILESTREAM filegroup.

  • FileStreamResumes contiene dati FILESTREAM.FileStreamResumes contains FILESTREAM data. Contiene un contenitore di dati FILESTREAM, ossia FSResumes nel percorso C:\MyFSfolder\Resumes.It contains one FILESTREAM data container, FSResumes, located at C:\MyFSfolder\Resumes.

USE master;  
GO  
-- Get the SQL Server data path.  
DECLARE @data_path nvarchar(256);  
SET @data_path = (SELECT SUBSTRING(physical_name, 1, CHARINDEX(N'master.mdf', LOWER(physical_name)) - 1)  
                  FROM master.sys.master_files  
                  WHERE database_id = 1 AND file_id = 1);  

 -- Execute the CREATE DATABASE statement.   
EXECUTE ('CREATE DATABASE FileStreamDB  
ON PRIMARY   
    (  
    NAME = FileStreamDB_data   
    ,FILENAME = ''' + @data_path + 'FileStreamDB_data.mdf''  
    ,SIZE = 10MB  
    ,MAXSIZE = 50MB  
    ,FILEGROWTH = 15%  
    ),  
FILEGROUP FileStreamPhotos CONTAINS FILESTREAM DEFAULT  
    (  
    NAME = FSPhotos  
    ,FILENAME = ''C:\MyFSfolder\Photos''  
-- SIZE and FILEGROWTH should not be specified here.  
-- If they are specified an error will be raised.  
, MAXSIZE = 5000 MB  
    ),  
    (  
      NAME = FSPhotos2  
      , FILENAME = ''D:\MyFSfolder\Photos''  
      , MAXSIZE = 10000 MB  
     ),  
FILEGROUP FileStreamResumes CONTAINS FILESTREAM  
    (  
    NAME = FileStreamResumes  
    ,FILENAME = ''C:\MyFSfolder\Resumes''  
    )   
LOG ON  
    (  
    NAME = FileStream_log  
    ,FILENAME = ''' + @data_path + 'FileStreamDB_log.ldf''  
    ,SIZE = 5MB  
    ,MAXSIZE = 25MB  
    ,FILEGROWTH = 5MB  
    )'  
);  
GO  

J.J. Creazione di un database contenente un filegroup FILESTREAM con più fileCreating a database that has a FILESTREAM filegroup with multiple files

Nell'esempio seguente viene creato il database BlobStore1.The following example creates the BlobStore1 database. Il database viene creato con un filegroup di righe e un filegroup FILESTREAM, FS.The database is created with one row filegroup and one FILESTREAM filegroup, FS. Nel filegroup FILESTREAM sono contenuti due file, vale a dire FS1 e FS2.The FILESTREAM filegroup contains two files, FS1 and FS2. Successivamente il database viene modificato con l'aggiunta di un terzo file, FS3, al filegroup FILESTREAM.Then the database is altered by adding a third file, FS3, to the FILESTREAM filegroup.

USE master;  
GO  

CREATE DATABASE [BlobStore1]  
CONTAINMENT = NONE  
ON PRIMARY   
(   
    NAME = N'BlobStore1',   
    FILENAME = N'C:\BlobStore\BlobStore1.mdf',  
    SIZE = 100MB,  
    MAXSIZE = UNLIMITED,  
    FILEGROWTH = 1MB  
),   
FILEGROUP [FS] CONTAINS FILESTREAM DEFAULT   
(  
    NAME = N'FS1',  
    FILENAME = N'C:\BlobStore\FS1',  
    MAXSIZE = UNLIMITED  
),   
(  
    NAME = N'FS2',  
    FILENAME = N'C:\BlobStore\FS2',  
    MAXSIZE = 100MB  
)  
LOG ON   
(  
    NAME = N'BlobStore1_log',  
    FILENAME = N'C:\BlobStore\BlobStore1_log.ldf',  
    SIZE = 100MB,  
    MAXSIZE = 1GB,  
    FILEGROWTH = 1MB  
);  
GO  

ALTER DATABASE [BlobStore1]  
ADD FILE  
(  
    NAME = N'FS3',  
    FILENAME = N'C:\BlobStore\FS3',  
    MAXSIZE = 100MB  
)  
TO FILEGROUP [FS];  
GO  

Vedere ancheSee Also

ALTER DATABASE (Transact-SQL) ALTER DATABASE (Transact-SQL)
Collegamento e scollegamento di un database (SQL Server) Database Detach and Attach (SQL Server)
DROP DATABASE (Transact-SQL) DROP DATABASE (Transact-SQL)
EVENTDATA (Transact-SQL) EVENTDATA (Transact-SQL)
sp_changedbowner (Transact-SQL) sp_changedbowner (Transact-SQL)
sp_detach_db (Transact-SQL) sp_detach_db (Transact-SQL)
sp_removedbreplication (Transact-SQL) sp_removedbreplication (Transact-SQL)
Snapshot del database (SQL Server) Database Snapshots (SQL Server)
Spostare file del database Move Database Files
Database Databases
Dati BLOB (Binary Large Object) (SQL Server)Binary Large Object (Blob) Data (SQL Server)