sys.sp_xtp_bind_db_resource_pool (Transact-SQL)
Associa o banco de dados do OLTP na memória especificado para o pool de recursos especificado. O banco de dados e o pool de recursos devem existir antes de executar o sys.sp_xtp_bind_db_resource_pool.
Este procedimento do sistema cria uma associação entre o pool do Administrador de Recursos identificado pelo resource_pool_name e o banco de dados identificado por database_name Não é necessário que o banco de dados tenha todos os objetos com otimização de memória no momento da associação. Na ausência de objetos com otimização de memória, nenhuma memória é obtida do pool de recursos. Esta associação será usada pelo Administrador de Recursos para gerenciar a memória alocada por alocadores do OLTP na memória conforme descrito abaixo.
Se já houver uma associação no local para um determinado banco de dados, o procedimento retornará um erro. Em nenhuma hipótese um banco de dados pode ter mais de uma associação ativa.
Convenções da sintaxe Transact-SQL
Aplica-se a: SQL Server (do SQL Server 2014 à versão atual). |
Sintaxe
sys.sp_xtp_bind_db_resource_pool 'database_name', 'resource_pool_name'
Argumentos
database_name
O nome de um banco de dados habilitado para OLTP na memória existente.resource_pool_name
O nome de um pool de recursos existente.
Mensagens
Quando um erro ocorrer, o sp_xtp_bind_db_resource_pool retornará uma dessas mensagens.
O banco de dados não existe
Database_name deve se referir a um banco de dados existente. Se não houver nenhum banco de dados com a ID especificada, a mensagem a seguir será retornada:
A ID do banco de dados %d não existe. Use uma ID de banco de dados válida para esta associação.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.
Este é um banco de dados do sistema
As tabelas do OLTP na memória não podem ser criadas em bancos de dados do sistema. Portanto, isso é inválido para criar uma associação de memória do OLTP na memória para esse banco de dados. O seguinte erro é retornado.
Database_name %s refere-se a um banco de dados do sistema. Os pools de recursos só podem ser associados a um banco de dados de usuário.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.
O pool de recursos não existe
O pool de recursos identificado pelo resource_pool_name deve existir antes de executar o sp_xtp_bind_db_resource_pool. Se não houver nenhum pool com a ID especificada, o erro a seguir será retornado:
O pool de recursos %s não existe. Insira um nome válido para o pool de recursos.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 refere-se a um pool do sistema reservado
Os nomes de pool “INTERNAL” e “DEFAULT” são reservados para pools do sistema. Não é válido associar explicitamente um banco de dados a nenhum deles. Se um nome do pool do sistema é inserido, o erro a seguir será retornado:
O pool de recursos %s é um pool de recursos do sistema. Os pools de recursos do sistema não podem ser associados explicitamente a um banco de dados usando esse procedimento.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.
O banco de dados já está associado a outro pool de recursos
Um banco de dados pode estar associado a apenas um pool de recursos de cada vez. As associações de banco de dados a pools de recursos devem ser explicitamente removidas antes de serem associadas a outro pool. Consulte sys.sp_xtp_unbind_db_resource_pool (Transact-SQL).
O banco de dados %s já está associado ao pool de recursos %s. Desassocie-o para criar uma nova associação.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 obtém êxito, o sp_xtp_bind_db_resource_pool retorna a seguinte mensagem.
- Associação com êxito
Quando há êxito, a função retorna a seguinte mensagem de êxito, que é registrada no SQL ERRORLOG
Uma associação de recursos foi criada com êxito entre o banco de dados com ID %d e o pool de recursos com ID %d.
Exemplo
O código de exemplo a seguir associa um banco de dados Hekaton_DB ao pool de recursos Pool_Hekaton.
sys.sp_xtp_bind_db_resource_pool 'Hekaton_DB', 'Pool_Hekaton'
A associação entra em vigor da próxima vez que o banco de dados é colocado online.
Requisitos
O banco de dados especificado por database_name e o pool de recursos especificado por resource_pool_name devem existir antes de associá-los.
Requer a permissão CONTROL SERVER.
Consulte também
Referência
sys.sp_xtp_unbind_db_resource_pool (Transact-SQL)
Conceitos
Associar um banco de dados com tabelas com otimização de memória a um pool de recursos