専用管理者接続 (DAC) [SQL Server]
インスタンスがハング状態になって情報採取もままならない状態になったら・・・
そういうケースはままあると思います。
SQL2005からはDACという接続形態があって、事前に予約されていた
コネクションリソースを使ってDMV(動的管理ビュー)をなめる位なら
なんとかなります。
その正体を少しだけ調べてみました。
select scheduler_id,cpu_id,status from sys.dm_os_schedulers
scheduler_id cpu_id status
------------ ------ ------------------------------------------------------------
0 255 VISIBLE ONLINE
1 255 VISIBLE ONLINE
257 255 HIDDEN ONLINE
255 255 VISIBLE ONLINE (DAC)
(4 行処理されました)
わかりますか?
DAC専用特等席が用意されているんですね。
Oracleなんかでもハング状態になっても最悪何かしら(v$ビュー)を
探るためsqlplusのセッションを一つだけ張りっぱなしにして
運用したりしていたこともあります。
SQL Serverではわざわざ意識してSSMSをつなげていなくてもOK
ってことですね。細かいことだけど便利です。
ただ、DACはそれほど大きなクエリを投げることは想定してない
様子なので複雑な結合などはさせないようにした方が良いと思います。
使うときには接続にadmin:を前に付けてあげましょう。
例)
admin:server1
またDACはローカル接続がデフォルト設定なのでクラスタ環境では
リモートDACが有効になるようにしてあげましょう。
そういうケースはままあると思います。
SQL2005からはDACという接続形態があって、事前に予約されていた
コネクションリソースを使ってDMV(動的管理ビュー)をなめる位なら
なんとかなります。
その正体を少しだけ調べてみました。
select scheduler_id,cpu_id,status from sys.dm_os_schedulers
scheduler_id cpu_id status
------------ ------ ------------------------------------------------------------
0 255 VISIBLE ONLINE
1 255 VISIBLE ONLINE
257 255 HIDDEN ONLINE
255 255 VISIBLE ONLINE (DAC)
(4 行処理されました)
わかりますか?
DAC専用特等席が用意されているんですね。
Oracleなんかでもハング状態になっても最悪何かしら(v$ビュー)を
探るためsqlplusのセッションを一つだけ張りっぱなしにして
運用したりしていたこともあります。
SQL Serverではわざわざ意識してSSMSをつなげていなくてもOK
ってことですね。細かいことだけど便利です。
ただ、DACはそれほど大きなクエリを投げることは想定してない
様子なので複雑な結合などはさせないようにした方が良いと思います。
使うときには接続にadmin:を前に付けてあげましょう。
例)
admin:server1
またDACはローカル接続がデフォルト設定なのでクラスタ環境では
リモートDACが有効になるようにしてあげましょう。
コメント 0