kkamegawa's weblog

Visual Studio,TFS,ALM,VSTS,DevOps関係のことについていろいろと書いていきます。Google Analyticsで解析を行っています

PowerShellでSQL Serverの古いログ関係を削除する

これはPowerShell Advent Calendar 12/25分の記事です。


PowerShell Advent Calendar 2014 : ATND

ほんとはネットワーク切り替え時にIEのProxyを書きかえるスクリプトを作ろうと思ったのですが、ちょっと間に合わなかったので、別ネタです。ネットワーク関係で追加されたコマンドレットがWindows 8専用だとは思わなかったorz(PowerShell 4.0を入れてもWindows 7には追加されなかった)。

SQL Serverのメンテナンスプランでは古いログを削除するとか、特定の拡張子に基づいて削除するということができます。しかし、ちょっとした失敗などでメンテナンスプランが途中で終わったときや、失敗してダンプができた場合とかどんどんたまっていきます。

そういうことで、ちょっとスクリプトを作ってみました。SMOをロードして、必要な情報をいただいています。SQL Serverのマルチインスタンスや、リモートサーバーには対応しておりません(^^;。

トランザクションログは最新の完全バックアップ以前のファイルを削除するということでやっております。

Remove old SQL Server Transaction log, and Backup ...