sys.sp_xtp_unbind_db_resource_pool (Transact-SQL)

Applies to: SQL Server

This system procedure removes an existing binding between a database and a resource pool for purposes of tracking In-Memory OLTP memory usage. If there is no pool currently bound to the specified database, success is returned. When the database is unbound, the previously allocated memory for memory-optimized objects stays allocated to the previous resource pool. You need to restart the database to free up the allocated memory. Once a database is unbound from the resource pool, the binding resorts to the DEFAULT resource pool.

Transact-SQL syntax conventions

Syntax

sys.sp_xtp_unbind_db_resource_pool
    [ @database_name = ] 'database_name'
[ ; ]

Arguments

[ @database_name = ] 'database_name'

The name of an existing In-Memory OLTP enabled database. @database_name is sysname.

Messages

If a database was bound to a named resource pool, the procedure returns successfully. However, you must restart the database for unbinding to take effect.

If there is no existing binding for the database specified, sp_xtp_unbind_db_resource_pool returns success, but gives the informational message:

Msg 41374, Level 16, State 1, Procedure sp_xtp_unbind_db_resource_pool_internal, Line 140.
Database 'Hekaton_DB' does not have a binding to a resource pool.

Examples

The following code unbinds the database Hekaton_DB from the In-Memory OLTP resource pool it is bound to. If Hekaton_DB isn't currently bound to a In-Memory OLTP resource pool, a message is given. The database must be restarted for the unbinding to take effect.

sys.sp_xtp_unbind_db_resource_pool N'Hekaton_DB';

Requirements

  • The database specified by @database_name must have a binding to an In-Memory OLTP resource pool.

  • Requires CONTROL SERVER permission.