昨日、db tech showcase 大阪 2014 で [SQL Server エンジニアに知ってもらいたい!! SQL Server チューニングアプローチ] という内容で、SQL Server の情報取得についてお話をさせていただきました。
久しぶりに 2 コマ分の時間で話をさせていただいたのですが、100分は意外とあっという間ですね~。
セッション資料については OneDrive で公開させていただきましたので、興味のある方がいらっしゃいましたらご覧いただければと思います。
SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿
昨日、db tech showcase 大阪 2014 で [SQL Server エンジニアに知ってもらいたい!! SQL Server チューニングアプローチ] という内容で、SQL Server の情報取得についてお話をさせていただきました。
久しぶりに 2 コマ分の時間で話をさせていただいたのですが、100分は意外とあっという間ですね~。
セッション資料については OneDrive で公開させていただきましたので、興味のある方がいらっしゃいましたらご覧いただければと思います。
SQL Server 2014 では 遅延持続性 (低速コミット) の機能が追加されています。
トランザクションの持続性の制御
遅延持続性については全エディションで使用できる機能となっています。
SQL Server 2014 の各エディションがサポートする機能
SQL Server の通常の動作としては WAL (先行ログ書き込み) により、データファイルの書き込みより、ログレコードの書き込みが優先され、トランザクションの変更履歴の確定が優先されることになります。
トランザクションを完了するためには、ログレコードがログバッファからディスクに書き込まれデータが永続化される完全持続性が担保されることが必須となります。
# DDL 系の操作についてはコミット→ロールバックをした場合、ディスクには書き込まれない等の動きがあったはずでこの辺もなかなか奥が深いですが。あと 錦の鬼 って強そうですね。
先日、RDS の SQL Server で Multi-AZ の機能がサポートされました。
【AWS発表】Amazon RDS for SQL ServerでもMulti-AZ機能を利用可能に
Amazon RDS for Microsoft SQL Server
Multi-AZ 配置
構築方法などは、【速報】Amazon RDS for SQL ServerがMulti-AZをサポートしたのでやってみた が参考になります。
どのような仕組みで実装されているのかが気になったので試してみました。
最近のハードウェアはディスク性能が向上して、ディスク I/O がネックになることも少なくなってきたかと思います。
ディスクが高速になることで大量のデータを短時間で読み取れるようになりましたが、その分負荷が CPU に表れてくることになったかと。
簡単にではありますがこの辺のデータをとってみたいと思います。
最近、実行プランを見ていて気づいたのですが、SQL Server 2012 以降では実行プランに [NonParallelPlanReason] という情報が増えていたようです。
詳細については、SQL Server 2012 Execution Plan’s NonParallelPlanReason が参考になります。
Azure の仮想マシンではエンドポイント経由でリモートデスクトップ接続をすることができます。
下の画像では 62888 としていますが、外部向けのエンドポイントに割り当てられているポート経由で、仮想マシンの 3389 に接続し、リモートデスクトップを使用することができます。
セキュリティの要件によっては、各仮想マシンの外部向けのエンドポイントでのリモートデスクトップの接続は許可せずに、内部 IP を使用したリモートデスクトップ接続のみ許可するという要件があるかもしれません。
このような場合は RD GW (リモートデスクトップゲートウェイ) を使用するとよいかと思います。
RD GW を使用することで、外部向けには RD GW の TCP 443 (HTTPS) のみを開放していれば仮想マシンに接続することができるようになります。
今回は以下のような RD GW と接続したい VM が同一となっている仮想ネットワークを作成して RD GW on Azure を構築してみたいと思います。
以前投稿した、カスタムスクリプトを使用して仮想マシンをギャラリーから展開時に日本語 UI を設定 で日本語化した VM を 2 台構築した状態から設定をしてみます。
PowerShell から SQL Server に SQL を実行する場合、データベース エンジン PowerShell を使用することがあるかと思います。
ほかにも System.Data.SqlClient を使用した方法 (Windows PowerShell: Windows PowerShell からデータベースにアクセスする) や、SQLSMO を使用した方法 (Using PowerShell with SQL Server Management Objects (SMO)) もあります。
今回は、データベースエンジン PowerShell の Invoke-Sqlcmd を sqlcmd.exe に置き換えた際のメモを。
以下の情報を参考にさせていただいています。
SQL2005のSQLCMDオプションについて質問
Passing varibles with special characters and or embedded spaces in powershell 2.0 with SQL Server
How to stop the “Changed database context to …” message
複数の NIC を接続していて、特定の IP を設定している NIC でリモートデスクトップのポートをバインド (リッスン) するためのサンプルです。
詳細については 影響を受けてある製品のいずれかを実行しているコンピュータのリモート デスクトップ セッションは確立できません。 を参照していただくとよいかと。
Read the rest of this entry »
ポータルから仮想マシンのイメージをキャプチャすることができますが、2 種類のキャプチャがありますので少しメモを。
PowerShell で操作した場合の方法については、PowerShell で VM イメージを扱う方法について が参考になります。Azure の PowerShell については http://azure.microsoft.com/en-us/downloads/ や Web Platform Installer (WebPI) からダウンロードすることができます。