MSDE FunClub
Microsoft Data Engine FunClub
MSDE技術者向けメーリングリスト過去ログ[1206]番
 
[TOP]>[MSDE技術者向けメーリングリスト過去ログ(1206番)]>[ウィンドを閉じる]
 
SQLServer2005時代でも
開発の基本は T-SQL
上巻で T-SQL の基礎作り
 
SQLServer2005時代でも
運用の基本はバックアップ
下巻でバックアップ手法を学びましょう
PASSJ人気コンテンツで学んだ後は下巻でさらなる学習を!
 
ウィンドを閉じる
MSDE/SQLServer FAQ
MSDE / MSDE2000 
技術情報サポート
初心者向け
メーリングリスト
過去ログの表示
技術者向け
メーリングリスト
過去ログの表示
メーリングリスト
活動状況の
表示
MSDE TOP メニュー
MSDEトップメニューに移動します
 

 
RE:  MSDE のバックアップ・リストアについて

Date: Mon, 6 Oct 2003 15:00:07 +0900 
From: who@example.co.jp


初めまして。西村と申します。

私も同様の現象が起こったことがあります。
現象が全く同じか否かわかりませんが、参考になればと思います。

原因
 トランザクションLOGファイルが増大し、7GBにまで増えていた。

対策
  バックアップ後、トランザクションLOGを切り捨ててファイルサイズを
  小さくした。
 参考までに、トランザクションLOGファイルサイズを小さくした時のスクリプト
 を後述します。

osql -U sa -P -S 192.168.0.1 -d aaa -Q "dbcc shrinkfile (aaa_Log,1)"
osql -U sa -P -S 192.168.0.1 -d aaa -Q "backup log aaa to disk
='c:\test.bak'"
osql -U sa -P -S 192.168.0.1 -d aaa -Q "insert into aaa.test1 values ('a')"
osql -U sa -P -S 192.168.0.1 -d aaa -Q "delete from aaa.test1"
osql -U sa -P -S 192.168.0.1 -d aaa -Q "backup log aaa to disk
='c:\test2.bak'"
osql -U sa -P -S 192.168.0.1 -d aaa -Q "dbcc shrinkfile (aaa_Log,1)"

以上。参考になりませんでしたら、すみません。

> -----Original Message-----
> From: SystemFarms 田中淑子 [mailto:who@example.co.jp]
> Sent: Monday, October 06, 2003 2:37 PM
> To: who@example.ne.jp
> Subject: [ml-msde:01205] MSDE のバックアップ・リストアについて
> 
> 
> はじめまして。田中と申します。
> VB6.0 でパッケージソフトの開発を行っています。
> 
> 現在、MSDE7.0、もしくはMSDE2000、もしくはSQLServerをデータベースとする
> ソフトを開発しているのですが、
> このデータベースのバックアップ・リストアを実行すると、
> 端末により、実行後のデータベースに接続できないという現象がおきています
> 。
> 
> この現象が起きる端末にインストールされているMSDEのバージョンは7.0、
> 2000と様々で、
> MSDEのバージョンによるものでは無いようです。
> 
> また、同SQLをコマンドラインから実行すると、正常に処理されます。
> 
> 実行スクリプトは以下の通りです。
> 
> データベース名 : dbName
> MSDEデータベース保存先:C:\Program Files\MSSQL7\Data\
> バックアップファイル名:C:\xxx\xxx\backupfile
> MSDEユーザ名:userid
> MSDEパスワード:pass
> (上記ユーザはsaと同権限があるものとします。)
> 
> -- バックアップ 
> --------------------------------------------------------------
> -----------------------------------
>     Dim cn          As ADODB.Connection
>     Dim strSQL      As String
> 
> 
>     strSQL = "BACKUP DATABASE LookDataBase TO DISK = 
> 'C:\xxx\xxx\backupfile' WITH INIT"
>     
>     Set cn = New ADODB.Connection
>     cn.ConnectionTimeout = 0
>     cn.CommandTimeout = 0
>     cn.Open "Provider=SQLOLEDB.1;User ID = userid;Password = 
> pass;Data Source = dbName;Initial Catalog = master"
>     cn.Execute strSQL
>     cn.Close
>     Set cn = Nothing
> 
> 
> 
> -- リストア 
> --------------------------------------------------------------
> -----------------------------------
>     Dim cn          As ADODB.Connection
>     Dim strSQL      As String
> 
> 
>     strSQL = "RESTORE DATABASE dbName " & vbCrLf & _
>                  "FROM DISK = 'C:\xxx\xxx\backupfile'" & vbCrLf & _
>                  "with RECOVERY, REPLACE" & vbCrLf & _
>                  "    ,MOVE ' dbName_DAT' to 'C:\Program 
> Files\MSSQL7\Data\dbName.mdf'" & vbCrLf & _
>                  "    ,MOVE ' dbName_LOG' to 'C:\Program 
> Files\MSSQL7\Data\dbName.ldf'"
> 
>     Set cn = New ADODB.Connection
>     cn.ConnectionTimeout = 0
>     cn.CommandTimeout = 0
>     cn.Open "Provider=SQLOLEDB.1;User ID = userid;Password = 
> pass;Data Source = dbName;Initial Catalog = master"
>     cn.Execute strSQL
>     cn.Close
>     Set cn = Nothing
> 
> 
> ---------------------------------------
> 
> いろいろ検証した結果、このバックアップ、リストアができない端末で実行す
> ると、
>     cn.Execute strSQL
> を実行した後、バックアップ、リストアの処理が終了しない内に
>     cn.Close
> を実行している為、バックアップ、リストアに失敗してしまうようです。
> 
> cn.Execute strSQL実行後に、メッセージボックスを表示し、一旦中断させると
> 、正常にできました。
> しかし、単に次の処理に移るまで、実行を待たせるだけでは失敗してしまいま
> す。
> (10秒メッセージボックスを表示させると正常に動くのに、処理に1分間ウェ
> イトをかけても失敗します。)
> 
> 正常にバックアップ・リストアができる端末と、できない端末とで性能の違い
> はさほどありません。
> 現象の起きるOSは現在のところWindows2000ですが、Windows2000に限った現象
> かどうかは不明です。
> 
> 現在は、cn.Execute strSQL を実行した後に、バックアップファイルが作成で
> きているか、または
> リストア後のデータベースに接続可能か、という処理を挟んで、実行している
> のですが、
> なぜ端末によってこのような現象が起きるのか原因は不明なままです。
> 
> なぜこのような現象が発生するのか、または、バックアップ、リストアが正常
> に終了したという情報をどこからか得ることはできないのか、
> 何か情報をお持ちの方いらっしゃいましたらご教授願います。
> 
> 長々と申し訳ありません。
> よろしくお願い致します。
> 
> 


[MSDE/SQLServerに関して、今、どんなことにお困りですか?]
よろしければお困りの内容を、電子メールで教えて下さい。
質問を電子メールで作成する


[ウィンドを閉じる]

[MSDE/SQLServer FAQ ]

[MSDE / MSDE2000 技術サポート情報一覧]

MSDE TOP ページに移動する

 
 
 
 
 
 
 
MSDE FunClubに関するご意見・ご要望等ございましたら、
msdefun@horikawa.ne.jp までご連絡下さい。
MSDEを始めとする各種データベースシステムの開発、コンサルタントに関するご要望等は、
msdedev@horikawa.ne.jp までご連絡下さい。