SQL Server 2008 以降の、SQL Server Agent では、ステップとして PowerShell を使用したタスクを作成することができます。
タスクで使用される PowerShell のバージョンについては少し癖がありますのでメモとして。
今回は 2012 以降をターゲットとしています。
SQL Server Agent の PowerShell のバージョンについて
拡張イベントのクエリ/プランハッシュを DMV と対応付けられるように変換
拡張イベントでクエリの情報を取得した際にクエリやプランのハッシュを取得できるのですが、取得できる値は UINT64 の値となっているようで、DMV から取得できるハッシュの値と対応することができません。
OneNote 2016 を使用している環境で、OneDrive にノートブックを作成していてやらかしたお話し
私は、ノウハウやら稼働の状況やらを OneNote 2016 にメモしていて、OneDrive にノートブックを配置して (OneNote Online) 、使用しています。
その環境で、変な操作をしてやらかしたお話を少し。
普通の操作で普通に使っていれば、やらかすことはないのでご安心ください。
Windows 10 Anniversary Update に関しての関連情報
インストールはしたのですが、内容があまり確認できていないので後で確認するように。
インデックスのオンライン/オフライン再構築のシンプルな比較
SQL Database / SQL Server Enterprise Edition を使用している場合、インデックスの再構築 (REBUILD) をオンラインで実施することができます。
オンラインのインデックス再構築の仕組みについては、オンライン インデックス操作の動作原理 を確認していただければ。
オンラインのインデックス再構築は、データアクセスをブロックすることなく、インデックスのメンテナンスを実施することができますが、オフラインでの再構築と比較していろいろとオーバーヘッドがありますので、軽く比較してみたいと思います。
RDS for SQL Server でネイティブバックアップ/リストアがサポートされたので軽くメモを
Amazon RDS for SQL Server ? Support for Native Backup/Restore to Amazon S3 でアナウンスされていますが、AWS の RDS for SQL Server で、S3 上へのネイティブアックアップ/リストアがサポートされたようです。
Always Encrypted が使用できる Microsoft ODBC Driver 13.1 for SQL Server が公開されました
先日、SQL Database 向けの Always Encrypted に関しても GA され、Always Encrypted now generally available in Azure SQL Database でアナウンスがされていました。
このタイミングでは、以下のようになっており、SQL Server 2016 のクライアントツールでインストールされる ODBC Driver でも Always Encrypted は対応していないようでした。
Always Encrypted is currently supported in .NET Framework Data Provider for SQL Server and will be supported in JDBC and ODBC soon.
明示的に記載はされていないので、検証で触ったレベルでの確認となりますが、Always Encrypted が使用できる Windows の ODBC ドライバーである MicrosoftR ODBC Driver 13.1 for SQL ServerR – Windows が公開されていました。
現状は、英語版のみのようですね。
Read the rest of this entry »
SQL Server 2016 の可用性グループの分散トランザクション (データベースをまたがるトランザクション) について
以前から調べていたのですが、まとめられていなかったので。
詳細については SQL Server 2016 DTC Support In Availability Groups が公開されている情報で、一番まとまっているかと思います。
High Availability Enhancements / Enhanced Always On Availability Groups in SQL Server 2016 に記載されていますが SQL Server 2016 の AlwaysOn 可用性グループでは分散トランザクションがサポートされるようになっています。
Always On Availability Groups supports distributed transactions and the DTC on Windows Server 2016. For more information, see Support for distributed transactions.
以前からの分散トランザクションの制約ついては、
データベースミラーリングをクロスデータベース トランザクション または分散トランザクションと併用する場合の問題 データベースミラーリング (DBM) 利用時のアプリケーション設計・実装の注意点
を確認しておくと良いかと思います。
SQL Server 2016 の実装については、上記の実装を踏襲しつつ、インダウトなトランザクションの解決方法が変わっているという形になるかと思いますので。
# 従来までの一律ロールバックが、トランザクションの状態を確認して、整合性を保つようになっているのかと思いますが、実動作レベルでそこまで確認ができていません。
AlwaysOn 可用性グループとログ配布の組み合わせについて
まだ詳しくは調べられていないのですが、AlwaysOn 可用性グループとログ配布の組み合わせについての情報のメモを。
Temporal Table の履歴データの保存期間の管理
SQL Server 2016 で追加された Temporal テーブルですが、Features Supported by the Editions of SQL Server 2016 に記載されているとおり、すべてのエディションで使用することができます。
ただし、履歴側のデータの保有期間を定めたい場合は、システム バージョン管理されたテンポラル テーブルの履歴データの保有期間管理 に書かれているような履歴テーブルのデータ削除を実装する必要がありますので、注意点を軽くまとめてみたいと思います。
現状、保存期間を定める方法はないため、基本的にはデータ削除をする仕組みを考える必要があります。