水曜日, 1月 16, 2019

SQL Serverで実行されたクエリを取得する

例えば、実行時刻が2019/01/16 16:10:00以降でクエリが「hogehoge」を含むものを取得する場合

SELECT st.text, last_execution_time
FROM sys.dm_exec_query_stats qs
CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st
WHERE last_execution_time >= '2019/01/16 16:10:00' AND st.text like '%hogehoge%'
ORDER BY last_execution_time

Azure Database for MySQL にバーチャルネットワークからだけ接続可能にする

 Microsoft AzureのMySQLのPaaSであるAzure Database for MySQLには、特定のIPアドレスからのみ接続できるようにする設定のほか、特定のバーチャルネットワークからのみ接続できるようにする設定も可能。

(1) バーチャルネットワークの「サービスエンドポイント」を「Microsoft.Sql」で追加する。

(2) Azure Database for MySQLの「接続のセキュリティ」で「既存の仮想ネットワークを追加」する。
なお、この設定ができるのは、「価格レベル」がBasic以外でなければならない。

 これらの設定の後、当該バーチャルネットワーク内の仮想マシンからMySQLに接続できるようになる。
 接続の際のログイン名とサーバ名は、Azure Database for MySQLの「プロパティ」で確認できる。

MySQLに接続する際は、

$ mysql -u ログイン名 -p -h サーバ名 --ssl

のようにSSLで接続するオプションを指定する。