Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Область применения:SQL Server
Привязывает или отменяет привязку сеанса к другим сеансам в том же экземпляре SQL Server ядро СУБД. Сеансы привязки позволяют двум или нескольким сеансам участвовать в одной транзакции и делиться блокировками до тех пор, пока не будет выдано ROLLBACK TRANSACTION или COMMIT TRANSACTION не будет выдано.
Внимание
Эта функция будет удалена в будущей версии SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте несколько активных наборов результатов (MARS) или распределенных транзакций. Дополнительные сведения см. в статье Об использовании нескольких активных результирующих наборов (MARS) в собственном клиенте SQL Server.
Соглашения о синтаксисе Transact-SQL
Синтаксис
sp_bindsession { 'bind_token' | NULL }
Аргументы
Внимание
Аргументы для расширенных хранимых процедур необходимо ввести в определенном порядке, как описано в разделе Синтаксис. Если параметры введены вне порядка, возникает сообщение об ошибке.
"bind_token"
Маркер, идентифицирующий транзакцию, изначально полученную с помощью sp_getbindtoken или функцией Open Data Services srv_getbindtoken .
bind_token — varchar(255).
Значения кода возврата
0 (успешно) или 1 (сбой).
Замечания
Два объединенных сеанса совместно используют только транзакции и блокировки. Каждый сеанс сохраняет свой собственный уровень изоляции, и настройка нового уровня изоляции на одном сеансе не влияет на уровень изоляции другого сеанса. Каждый сеанс по-прежнему определяется своей учетной записью безопасности и может получить доступ только к ресурсам базы данных, к которым предоставляется разрешение учетной записи.
sp_bindsession использует маркер привязки для привязки двух или более существующих клиентских сеансов. Эти клиентские сеансы должны находиться в том же экземпляре ядро СУБД, из которого получен маркер привязки. Сеанс — это клиент, выполняющий команду. Привязанные сеансы баз данных совместно используют пространство транзакций и блокировок.
Маркер привязки, полученный из одного экземпляра ядро СУБД, нельзя использовать для сеанса клиента, подключенного к другому экземпляру, даже для транзакций DTC. Маркер привязки действителен только локально внутри каждого экземпляра и не может использоваться для нескольких экземпляров. Чтобы привязать клиентские сеансы к другому экземпляру ядро СУБД, необходимо получить другой маркер привязки путем sp_getbindtokenвыполнения.
sp_bindsession не удается выполнить ошибку, если он использует токен, который не активен.
Отмена привязки из сеанса без sp_bindsession указания bind_token или передачи NULL bind_token.
Разрешения
Необходимо быть членом роли public.
Примеры
В следующем примере указанный токен привязки привязывается к текущему сеансу.
Примечание.
Маркер привязки, показанный в примере, был получен путем выполнения sp_getbindtoken перед выполнением sp_bindsession.
USE master;
GO
EXECUTE sp_bindsession 'BP9---5---->KB?-V'<>1E:H-7U-]ANZ';
GO