Condividi tramite


sys.sp_xtp_bind_db_resource_pool (Transact-SQL)

Associa il database OLTP in memoria specificato al pool di risorse specificato. Sia il database sia il pool di risorse devono essere disponibili prima di eseguire sys.sp_xtp_bind_db_resource_pool.

Tramite questa procedura di sistema viene creata un'associazione tra il pool di Resource Governor identificato da resource_pool_name e il database identificato da database_name. Non è necessario che gli oggetti del database siano tutti con ottimizzazione per la memoria al momento dell'associazione. In assenza di questi oggetti, non viene prelevata alcuna memoria dal pool di risorse. Questa associazione verrà utilizzata da Resource Governor per gestire la memoria allocata dagli allocatori di OLTP in memoria come descritto di seguito.

Se è già disponibile un'associazione per un database specificato, viene restituito un errore dalla procedura. In nessun caso un database può disporre di più associazioni attive.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Si applica a: SQL Server (da SQL Server 2014 a versione corrente).

Sintassi

sys.sp_xtp_bind_db_resource_pool 'database_name', 'resource_pool_name'

Argomenti

  • database_name
    Nome di un database abilitato per OLTP in memoria esistente.

  • resource_pool_name
    Nome di un pool di risorse esistente.

Messaggi

In caso di errore, tramite sp_xtp_bind_db_resource_pool viene restituito uno di questi messaggi.

  • Il database non esiste
    Database_name deve fare riferimento a un database esistente. Se non è disponibile alcun database con l'ID specificato, viene restituito il messaggio seguente:
    L'ID di database %d non esiste. Utilizzare un ID di database valido per questa associazione.

    Msg 911, Level 16, State 18, Procedure sp_xtp_bind_db_resource_pool_internal, Line 51
    Database 'Hekaton_DB213' does not exist. Make sure that the name is entered correctly.
    
  • Il database è un database di sistema
    Le tabelle di OLTP in memoria non possono essere create in database di sistema. Pertanto, non è possibile creare un'associazione di memoria di OLTP in memoria per un database di questo tipo. Viene restituito l'errore seguente:
    Database_name %s fa riferimento a un database di sistema. I pool di risorse possono essere associati solo a un database utente.

    Msg 41371, Level 16, State 1, Procedure sp_xtp_bind_db_resource_pool_internal, Line 51
    Binding to a resource pool is not supported for system database 'master'. This operation can only be performed on a user database.
    
  • Il pool di risorse non esiste
    Il pool di risorse identificato da resource_pool_name deve essere disponibile prima di eseguire sp_xtp_bind_db_resource_pool. Se non è disponibile alcun pool con l'ID specificato, viene restituito l'errore seguente:
    Il pool di risorse %s non esiste. Immettere un nome valido di pool di risorse.

    Msg 41370, Level 16, State 1, Procedure sp_xtp_bind_db_resource_pool_internal, Line 51
    Resource pool 'Pool_Hekaton' does not exist or resource governor has not been reconfigured.
    
  • Pool_name fa riferimento a un pool di sistema riservato
    I nomi di pool "INTERNAL" e "DEFAULT" sono riservati ai pool di sistema. Non è possibile associare in modo esplicito un database a uno di questi. Se viene immesso un nome di pool di sistema, viene restituito l'errore seguente:
    Il pool di risorse %s è un pool di risorse di sistema. I pool di risorse di sistema non possono essere associati in modo esplicito a un database tramite questa procedura.

    Msg 41373, Level 16, State 1, Procedure sp_xtp_bind_db_resource_pool_internal, Line 51
    Database 'Hekaton_DB' cannot be explicitly bound to the resource pool 'internal'. A database can only be bound only to a user resource pool.
    
  • Il database è già associato a un altro pool di risorse
    Un database può essere associato a un solo pool di risorse in qualsiasi momento. Le associazioni di database ai pool di risorse devono essere rimosse in modo esplicito prima che possano essere associate a un altro pool. Vedere sys.sp_xtp_unbind_db_resource_pool (Transact-SQL).
    Il database %s è già associato al pool di risorse %s. È necessario annullare l'associazione prima di poterne creare una nuova.

    Msg 41372, Level 16, State 1, Procedure sp_xtp_bind_db_resource_pool_internal, Line 54
    Database 'Hekaton_DB' is currently bound to a resource pool. A database must be unbound before creating a new binding.
    

Quando l'operazione viene completata, tramite sp_xtp_bind_db_resource_pool viene restituito il messaggio riportato di seguito.

  • Associazione completata
    Quando l'operazione viene completata, tramite la funzione viene restituito il seguente messaggio di operazione riuscita, che viene registrato in SQL ERRORLOG
    Associazione di risorse creata correttamente tra il database con ID %d e il pool di risorse con ID %d.

Esempio

Nell'esempio di codice seguente viene associato il database Hekaton_DB al pool di risorse Pool_Hekaton.

sys.sp_xtp_bind_db_resource_pool 'Hekaton_DB', 'Pool_Hekaton'

L'associazione viene applicata alla successiva connessione del database.

Requisiti

  • Sia il database specificato da database_name sia il pool di risorse specificato da resource_pool_name devono essere disponibili prima di poter essere associati.

  • È richiesta l'autorizzazione CONTROL SERVER.

Vedere anche

Riferimento

sys.sp_xtp_unbind_db_resource_pool (Transact-SQL)

Concetti

Associazione di un database con tabelle con ottimizzazione per la memoria a un pool di risorse