個人的メモ

技術資料

動画

書籍

DBA(SQL Server)の採用面接でするスキルチェック

一覧

  • クラスター化インデックス、非クラスター化インデックス、PKについて
  • インデックスの再構築と再構成について
  • カバーリングインデックスについて、付加列インデックスについて
  • 統計情報と実行計画と統計情報の更新について
  • トランザクションログ、容量、切り落とし
  • tempdbまわりで気にしてること、Sort、一時テーブル、容量
  • フルバックアップモデル
  • 冗長構成
  • 問題のあるクエリの特定方法、改善方法
  • クエリストアについて
  • インメモリDB(Redis、Memcached)とRMDBとの使い分けポイントは
  • カラムストアインデックスについて
  • インメモリOLTPについて

SSMS Tools Pack :「*」の展開

SSMS Tools Packが便利すぎたので部門で導入した。

便利な機能2つめ。
下の画像を見るとすごくないですか?「*」がぱっぱと展開されちゃうのです。

1

解説

こんなクエリを書くことありますよね。「*」でひょいひょいとやってしまうのですが、列を入れるのが

select *
from wait_stats

「*」でひょいひょいとやってしまうのですが、列を入れるのが面倒ですよね。

SSMS Tools Pack をインストールしていると、「*」の直後にカーソルを置いて、Tabキーをおすとぱっと、こんな感じで展開されます。

select measure_date_local, measure_date_utc, server_name, wait_type, waiting_tasks_count, wait_time_ms, max_wait_time_ms, signal_wait_time_ms
from wait_stats


SSMS Tools Pack :接続カラー(Connection Color)

SSMS Tools Packが便利すぎたので部門で導入した。これが最大の導入理由。
本番環境で、ジオレプリケーションを組んでることもあってDBが6つほどある。
STG環境で、6個。
この環境で運用してると、いずれうっかり間違って別の環境でクエリを実行してしまったという事故が発生しそう。
標準機能だとステータスバーしか色が変わらない。

でもSSMS Tools PackをいれるとテキストWindowとオブジェクトエクスプローラーに着色される。

image

こんな感じで色が付くので便利。
クエリエディターとオブジェクトエクスプローラーの色があっているので便利ですね。
この色、接続すると自動的に色が選ばれて区別されるのだけど、設定することでこのDBの時は赤色、この時は緑色と指定できる。

本番はやっぱり赤ですよね。

image

こんな風に、バーの上で右クリックすると、そこから色を変更できたり、バーを表示する位置を上から左側にしたりと移動させることができる。

image

SQL Server on Linux for Docker でのエラー対策

SQL Server on Linux for Docker を使っていて次のようなエラーに遭遇しました。

Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login timeout expired.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : TCP Provider: Error code 0x2749.
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online..

悲しい…。
SQL Serverを起動して、初期DBやテーブルを作成したいと思って、次のようなDockerfileを書きました。

FROM mcr.microsoft.com/mssql/server:2017-latest
RUN sqlcmd -Q ‘CREATE Database test’ -E
EXPOSE 1433

これ原因がわからなくて、ムッシュに教えてもらいました。
単純な話で、「RUN」でコマンドを実行するタイミングでは、まだSQL Serverが起動してないのです。
起動してないのに、コマンド実行しようとしても動作しませんよね。

IgniteのBRK0417「Inside SQL Server Containers」でも言及されていましたね。
なので対応方法もセッションで紹介されている方法でOKです。

JIRAのissue一覧をExcelやCSV形式でダウンロードする方法

JIRAでissue一覧をダウンロードしようとして結構悩んでたどり着いたのでメモしておく。

1.JIRAにアクセスして、プロジェクトかボードを選択して、サイドメニューから「課題とフィルター」を選択します。

2.右上にある「高度な検索」リンクをクリックします。

3.右上にあるアイコンをクリックすると無事にダウンロードするためのメニューが表示されます。(わっかりにくー!