先日、SQLServerの特定インスタンス内にある全データベースの復旧モデルを調べるバッチファイルを作成しました。
そのうち無くしてしまいそうなので、ここに残しておきます。
@ECHO OFF :: 接続先を指定[既定値は自分自身] SET SERVERNAME=%COMPUTERNAME% ECHO 接続先を指定してください SET /PSERVERNAME=[初期値:%SERVERNAME%]> :: ログファイルのパスを設定 SET LOGFILE="%~dp0RecovList_%SERVERNAME%.log" :: クエリを実行 OSQL -Usa -P.SSVPASS -dmaster -S%SERVERNAME% -w2000 -Q"sp_MSforeachdb @command1=\"SELECT '?' as DBNAME, Convert(varchar(20),DATABASEPROPERTYEX(N'?', N'RECOVERY')) as 復旧モード\"" > %LOGFILE% :: ログファイルを表示 NOTEPAD %LOGFILE%
以前、他の記事でも書きましたが、sp_MSforeachdbを使うのがポイントです。
あとはDATABASEPROPERTYEXでデータベースの設定を取得出来るというのもとても大事です。