SE の雑記

SQL Server の情報をメインに Microsoft 製品の勉強内容を日々投稿

Archive for the ‘SQL Server’ tag

SQL Server 2014 の遅延持続性による WRITELOG 事象への影響

leave a comment

SQL Server 2014 では 遅延持続性 (低速コミット)  の機能が追加されています。
トランザクションの持続性の制御

遅延持続性については全エディションで使用できる機能となっています。
SQL Server 2014 の各エディションがサポートする機能

SQL Server の通常の動作としては WAL (先行ログ書き込み) により、データファイルの書き込みより、ログレコードの書き込みが優先され、トランザクションの変更履歴の確定が優先されることになります。
トランザクションを完了するためには、ログレコードがログバッファからディスクに書き込まれデータが永続化される完全持続性が担保されることが必須となります。
# DDL 系の操作についてはコミット→ロールバックをした場合、ディスクには書き込まれない等の動きがあったはずでこの辺もなかなか奥が深いですが。あと 錦の鬼 って強そうですね。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 17th, 2014 at 6:14 pm

Posted in SQL Server

Tagged with ,

SQL Server の負荷かけツール

leave a comment

SQL Server の負荷かけツール (ストレステスト) についてメモを。

あと、えろす師匠錦の鬼 っていうイメージ戦略をしろって 縄神様 に言われていた気がするので頑張りたいと思います。
# トップダウンアプローチで仕方なくイメージ戦略しているんです…。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 17th, 2014 at 11:48 am

Posted in SQL Server

Tagged with

RDS for SQL Server の Multi-AZ の仕組みを調べてみる

leave a comment

先日、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をサポートしたのでやってみた が参考になります。

どのような仕組みで実装されているのかが気になったので試してみました。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 10th, 2014 at 6:21 am

Posted in AWS,SQL Server

Tagged with , ,

データ読み取りと CPU の利用について

leave a comment

最近のハードウェアはディスク性能が向上して、ディスク I/O がネックになることも少なくなってきたかと思います。
ディスクが高速になることで大量のデータを短時間で読み取れるようになりましたが、その分負荷が CPU に表れてくることになったかと。

簡単にではありますがこの辺のデータをとってみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 5th, 2014 at 8:41 am

Posted in SQL Server

Tagged with

SQL Server 2012 以降で実行プランから並列化されていない理由を確認

leave a comment

最近、実行プランを見ていて気づいたのですが、SQL Server 2012 以降では実行プランに [NonParallelPlanReason] という情報が増えていたようです。

詳細については、SQL Server 2012 Execution Plan’s NonParallelPlanReason が参考になります。

Read the rest of this entry »

Written by Masayuki.Ozawa

6月 4th, 2014 at 8:30 am

Posted in SQL Server

Tagged with

PowerShell から SQLCMD.exe で SQL を実行

leave a comment

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

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 27th, 2014 at 8:29 am

Posted in PowerShell,SQL Server

Tagged with ,

SQLCMD を使用して DB 単位の件数をテキストファイルに取得する

leave a comment

PowerShell や SQLSMO を使用したスクリプトを作成すればよいと思うのですが古い環境などでもどうさせる必要があったので、SQLCMD で実行する方法を。

とはいってもバッチ用実行用のコマンドラインを生成しているだけですが。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 14th, 2014 at 10:47 pm

Posted in SQL Server

Tagged with

SQL Server 2014 の BLOB ストレージへの配置を使用したデータベースのアタッチ

leave a comment

以前、SQL Server 2014 のデータベースのファイルを BLOB に配置する構成について という投稿をしました。
この投稿ではデータベースを作成するパターンで記載したのですが、BLOB ストレージへの配置はデータベースのデタッチ/アタッチ方式でも使用することができます。

今回の投稿ではこの方法をまとめてみたいと思います。

技術情報については レッスン 6: 内部設置型のソース コンピューターから Windows Azure のターゲット コンピューターにデータベースを移行する が参考になります。

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 11th, 2014 at 10:18 pm

Posted in SQL Server

Tagged with ,

SQL Server 2014 の管理対象バックアップと SQL Server Agent

leave a comment

SQL Server 2014 では管理対象バックアップ (マネージバックアップ) という機能が追加されています。
SQL Server 2012 SP1 CU2 以降では、BLOB ストレージへバックアップを取得することが可能となりました。
SQL Server 2014 ではこの機能が強化され、GUI やメンテナンスプランから設定が可能となりましたが、それに加えて管理対象バックアップという機能が追加されました。
# 以前は Smart Admin Backup といわれていたような。

Windows Azure への SQL Server マネージ バックアップ

Read the rest of this entry »

Written by Masayuki.Ozawa

5月 8th, 2014 at 12:37 pm

Posted in SQL Server

Tagged with ,

待ち事象を時系列で解析するためのデータを取得する

leave a comment

SQL Server の待ち事象は sys.dm_os_wait_stats / sys.dm_os_latch_stats というような動的管理ビューを利用して確認することができます。

パフォーマンスモニターの SQL Server: Wait Statistics からも確認をすることができますが、こちらは一部の項目しか取得することができません。

一時テーブルや PowerShell 等を使用すれば定期的に DMV の情報を出力するということもできますが、環境に依存せずに SSMS だけで実行するための方法をまとめてみたいと思います。

Read the rest of this entry »

Written by Masayuki.Ozawa

4月 23rd, 2014 at 12:16 pm

Posted in SQL Server

Tagged with