Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Accesso al database tempdb sulle istanze database Microsoft SQL Server su Amazon RDS
Puoi accedere al database tempdb
sulle tue istanze database Microsoft SQL Server su Amazon RDS. Puoi eseguire il codice su tempdb
servendoti di Transact-SQL tramite Microsoft SQL Server Management Studio (SSMS) o qualsiasi altra applicazione client SQL standard. Per ulteriori informazioni sulla connessione alla tua istanza database, consulta Connessione a un'istanza database che esegua il motore di database di Microsoft SQL Server.
L'utente master per la tua istanza database riceve l'accesso CONTROL
a tempdb
affinché possa modificare le opzioni del database tempdb
. L'utente master non è il proprietario del database tempdb
. Se necessario, l'utente master può concedere l'accesso CONTROL
ad altri utenti affinché anch'essi possano modificare le opzioni del database tempdb
.
Nota
Non puoi eseguire i comandi Database Console Commands (DBCC) nel database tempdb
.
Modifica delle opzioni del database tempdb
Puoi modificare le opzioni di database nel database tempdb
sulle tue istanze database Amazon RDS. Per ulteriori informazioni sulle opzioni che puoi modificare, consulta Database tempdb
Opzioni di database come, ad esempio, le opzioni per le dimensioni massime dei file, permangono dopo il riavvio dell'istanza database. Puoi modificare le opzioni di database per ottimizzare le prestazioni durante l'importazione dei dati e per evitare di esaurire lo spazio di storage.
Ottimizzazione delle prestazioni durante l'importazione dei dati
Per ottimizzare le prestazioni durante l'importazione di grandi quantità di dati nella tua istanza database, imposta le proprietà SIZE
e FILEGROWTH
del database tempdb su un numero grande. Per ulteriori informazioni su come ottimizzare tempdb
, consulta Ottimizzazione delle prestazioni di tempdb
L'esempio seguente mostra come impostare la dimensione su 100 GB e la crescita file su 10 percento.
alter database[tempdb] modify file (NAME = N'
templog
', SIZE=100GB
, FILEGROWTH =10%
)
Come evitare problemi di storage
Per evitare che il database tempdb
utilizzi tutto lo spazio su disco disponibile, imposta la proprietà MAXSIZE
. L'esempio seguente mostra come impostare la proprietà su 2048 MB.
alter database [tempdb] modify file (NAME = N'
templog
', MAXSIZE =2048MB
)
Riduzione del database tempdb
Puoi scegliere tra due modi per ridurre il database tempdb
sulla tua istanza database Amazon RDS. Puoi utilizzare la procedura rds_shrink_tempdbfile
oppure impostare la proprietà SIZE
.
Utilizzo della procedura rds_shrink_tempdbfile
La procedura msdb.dbo.rds_shrink_tempdbfile
Amazon RDS permette di ridurre il database tempdb
. Puoi chiamare rds_shrink_tempdbfile
soltanto se disponi dell'accesso CONTROL
a tempdb
. Quando chiami rds_shrink_tempdbfile
non si verifica alcun tempo di inattività per la tua istanza database.
La procedura rds_shrink_tempdbfile
include i seguenti parametri.
Nome del parametro | Tipo di dati | Default | Campo obbligatorio | Descrizione |
---|---|---|---|---|
|
SYSNAME |
— |
obbligatorio |
Il nome logico del file da ridurre. |
|
int |
nullo |
facoltativo |
La nuova dimensione del file in megabyte. |
Nell'esempio seguente vengono ottenuti i nomi dei file per il database tempdb
.
use tempdb; GO select name, * from sys.sysfiles; GO
Nell'esempio seguente le dimensioni del file del database tempdb
denominato test_file
vengono ridotte e viene richiesta una nuova dimensione di 10
MB:
exec msdb.dbo.rds_shrink_tempdbfile @temp_filename = N'
test_file
', @target_size =10
;
Impostazione della proprietà SIZE
Puoi anche ridurre il database tempdb
impostando la proprietà SIZE
e riavviando l'istanza database. Per ulteriori informazioni sul riavvio dell'istanza database, consulta Riavvio di un'istanza database.
L'esempio seguente mostra come impostare la proprietà SIZE
su 1024 MB.
alter database [tempdb] modify file (NAME = N'
templog
', SIZE =1024MB
)
Configurazione TempDB per implementazioni Multi-AZ
Se l'istanza DB di RDS per SQL Server si trova in una distribuzione Multi-AZ utilizzando Database Mirroring (DBM) o Always On Availability Groups (AG), tieni presenti le seguenti considerazioni per l'utilizzo del database. tempdb
Non è possibile replicare tempdb
i dati dall'istanza DB principale all'istanza DB secondaria. Quando esegui il failover su un'istanza DB secondaria, tempdb
su quell'istanza DB secondaria sarà vuota.
È possibile sincronizzare la configurazione delle opzioni del tempdb
database, comprese le impostazioni relative al dimensionamento dei file e alla crescita automatica, dall'istanza DB principale all'istanza DB secondaria. La sincronizzazione della tempDB
configurazione è supportata in tutte le versioni di RDS per SQL Server. È possibile attivare la sincronizzazione automatica della tempdb
configurazione utilizzando la seguente procedura memorizzata:
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'TempDbFile';
Importante
Prima di utilizzare la rds_set_system_database_sync_objects
stored procedure, assicurati di aver impostato la tempdb
configurazione preferita sull'istanza DB principale, anziché sull'istanza DB secondaria. Se hai apportato la modifica alla configurazione sull'istanza DB secondaria, la tempdb
configurazione preferita potrebbe essere eliminata quando attivi la sincronizzazione automatica.
È possibile utilizzare la seguente funzione per confermare se la sincronizzazione automatica della tempdb
configurazione è attivata:
SELECT * from msdb.dbo.rds_fn_get_system_database_sync_objects();
Quando la sincronizzazione automatica della tempdb
configurazione è attivata, verrà restituito un valore per il object_class
campo. Quando è disattivato, non viene restituito alcun valore.
È possibile utilizzare la seguente funzione per trovare l'ultima volta che gli oggetti sono stati sincronizzati, in ora UTC:
SELECT * from msdb.dbo.rds_fn_server_object_last_sync_time();
Ad esempio, se hai modificato la tempdb
configurazione all'01:00 e poi esegui la rds_fn_server_object_last_sync_time
funzione, il valore restituito last_sync_time
dovrebbe essere successivo alle 01:00, a indicare che è avvenuta una sincronizzazione automatica.
Se si utilizza anche la replica dei lavori di SQL Server Agent, è possibile abilitare la replica sia per i lavori di SQL Agent che per la tempdb
configurazione fornendoli nel parametro: @object_type
EXECUTE msdb.dbo.rds_set_system_database_sync_objects @object_types = 'SQLAgentJob,TempDbFile';
Per ulteriori informazioni sulla replica dei processi di SQL Server Agent, vedere. Attivazione della replica di processo SQL Server Agent
In alternativa all'utilizzo della rds_set_system_database_sync_objects
stored procedure per garantire che le modifiche alla tempdb
configurazione vengano sincronizzate automaticamente, è possibile utilizzare uno dei seguenti metodi manuali:
Nota
Si consiglia di attivare la sincronizzazione automatica della tempdb
configurazione utilizzando la rds_set_system_database_sync_objects
stored procedure. L'utilizzo della sincronizzazione automatica evita la necessità di eseguire queste attività manuali ogni volta che si modifica la tempdb
configurazione.
-
Modifica innanzitutto la tua istanza database e disattiva Multi-AZ, quindi modifica tempdb e infine riattiva Multi-AZ. Questo sistema non causa alcun tempo di inattività.
Per ulteriori informazioni, consulta Modifica di un'istanza database Amazon RDS.
-
Modifica dapprima
tempdb
nell'istanza primaria originale, quindi effettua il failover manualmente e infine modificatempdb
nella nuova istanza primaria. Questo sistema causa un tempo di inattività.Per ulteriori informazioni, consulta Riavvio di un'istanza database.