ラベル SQL Server の投稿を表示しています。 すべての投稿を表示
ラベル SQL Server の投稿を表示しています。 すべての投稿を表示

2008年10月20日月曜日

トランザクション ログのサイズを縮小する方法

復旧モデルが単純復旧モデルじゃないとトランザクション ログはバックアップするタイミングでしか削除されずどんどん肥大化してしまうようだ。肥大化したログがドライブを圧迫してしまった場合の対応方法を示す。

肥大化しているログファイル及び復旧モードを調べる
> sqlcmd -S %computername%\Instance_name -E
1> exec sp_databases (データベース名を調べる)
2> go
1> select databasepropertyex('database_name', 'recovery') (復旧モデルを調べる)
2> go
1> select name, physical_name, state_desc from sys.master_files
2> where database_id = DB_ID(N'database_name')
(ログファイルの論理名を name 列で確認)
3> go

ログファイルを空き領域のあるドライブに移動する
> sqlcmd -S %computername%\Instance_name -E
1> alter database database_name set offline (offline にする。データベースへの接続を全て終了しないと offline にできないみたい)
2> go
// ログファイルを空き領域のあるドライブへ移動する。 //
1> alter database database_name modify file (name = logical_name, filename = 'new_path')
2> go
1> alter database database_name set online (online にする)
2> go
1> select name, physical_name, state_desc from sys.master_files
2> where database_id = DB_ID(N'database_name')
(ファイルが変更されたことを確認)
3> go

ログファイルを圧縮する
> sqlcmd -S %computername%\Instance_name -E
1> use database_name
2> go
1> alter database database_name set recovery simple (復旧モデルを simple に変更する)
2> go
1> dbcc shrinkfile (log_logical_name, 1) (1MB に圧縮する)
2> go

(参考)

2008年10月18日土曜日

SQL Server 2005 自習書シリーズ

仕事で勉強する必要性に迫られ、「SQL Server 2005 自習書シリーズ」で勉強しています。

私は、SQL Server 2005 Express を使用しているのですが、
サンプルデータベース「AdventureWorks」がインストールされていないので、ここを参考にインストールします。

  1. インストーラをここからダウンロードします。(AdventureWorksDB.msi)
  2. インストール位置を確認します。
    select physical_name from sys.database_files where name = 'master'
    go
  3. AdventureWorksDB.msi を実行し、手順2 で調べたインストール位置にインストールします。
  4. 手順3 でインストールしたファイルをアタッチします。

    exec sp_attach_db @dbname=N'AdventureWorks', @filename1=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf', @filename2=N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_log.ldf'
(参考)

SQL Server 2005 Express Edition のインストール

無償で使えるデータベースであり、アプリケーションのインストーラに付属していることがある。
以前は、MS の無償で使えるデータベース エンジンは、MSDE だったが、SQL Server 2005 Express Edition に置き換えられる。

ダウンロード

「~ with Advanced Services」の方は、「SQL Server 2005 Management Studio Express (SSMSE)」などのツールが一緒にインストールされる。

また、「SSMSE」単体のインストーラもあります。
前提条件

インストールの前提条件として、.NET Framework 2.0 が必要となる。