「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。 -[[戻る>SQL Server]] * 目次 [#jdcfcf03] #contents *概要 [#sd345b4e] コネクションとセッション、そして、トランザクションとの関連。 *詳細 [#s1c4d485] -SQL Server の「コネクション」と「セッション」について at SE の雑記~ http://blog.engineer-memo.com/2016/01/02/sql-server-%E3%81%AE%E3%80%8C%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%8D%E3%81%A8%E3%80%8C%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%80%8D%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6/ **コネクション [#v75417ac] -クライアント、サーバー間の接続。 -以下で意識する。 --コネクションのオーバーヘッド --消費リソース / コネクション --コネクション・プーリング **セッション [#a6efab41] -通常は、1コネクション・1セッション。 -[[MARS>#o9daf09a]]を使用すると、1コネクション・nセッションになる。 **MARS (Multiple Active Result Sets) [#o9daf09a] -呼称 --MARS : Multiple Active Result Set --複数のアクティブな結果セット -複数のバッチを単一の接続で実行できる機能 --本機能を使用すると、 --1コネクション:1セッションのところが、 --1コネクション:nセッションになる。 --サンプルコードを見ると、 ---1コネクション中に複数のDataReaderで使用するクエリの結果セットを保持できるもよう。 ---若しくは、カーソル操作(読み取りと更新)を非同期に処理することができる。 --機能を有効にするには、キーワード ペア "MultipleActiveResultSet=True" を接続文字列に追加。 **sp_getbindtoken / sp_bindsession [#bbb2d42e] -バインドされた接続(bind connections)などと呼ばれるが、超マイナーな機能 -2つの接続を1つにまとめる事が出来る。 --[[MARS>#o9daf09a]]の前身の機能で、本機能の登場により、~ 複数の結果セットを保持する目的では使用しなくなった。 --トランザクションもまとめる事が出来る~ (セッションをバインドすると、同じトランザクションに参加できる)。 -バインドされた接続(bind connections)などと呼ばれるが、超マイナー -参考 --Share a single transaction using sp_getbindtoken sp_bindsession~ https://www.sqlindia.com/share-a-transaction-using-sp_getbindtoken-sp_bindsession/ *参考 [#u35fe3d6] **Microsoft Docs [#b8481720] ***sp_getbindtoken / sp_bindsession [#w888c581] -SQL Server --sp_getbindtoken (TRANSACT-SQL)~ https://docs.microsoft.com/ja-jp/sql/relational-databases/system-stored-procedures/sp-getbindtoken-transact-sql --sp_bindsession (TRANSACT-SQL)~ https://docs.microsoft.com/ja-jp/sql/relational-databases/system-stored-procedures/sp-bindsession-transact-sql ***MARS (Multiple Active Result Sets) [#ld00bce9] -複数のアクティブな結果セット (MARS)~ https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/sql/multiple-active-result-sets-mars --複数のアクティブな結果セットの有効化~ https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/sql/enabling-multiple-active-result-sets --データの操作~ https://docs.microsoft.com/ja-jp/dotnet/framework/data/adonet/sql/manipulating-data ---- Tags: [[:データアクセス]], [[:SQL Server]]