0

私たちが行った LiteSpeed バックアップからの MDF および LDF ファイルを収容するのに十分なスペースがないという問題があります。

次のsprocを思いつきました:

exec master.dbo.xp_restore_database

@database = 'OSiteDB',
@filename = 'L:\OSiteDB_2009_01_07_Wed_LiteSpeed_Full.BKP',
@with = 'move "O1_SITEDB" to "S:\OSiteDB_Data.mdf"',
@with = 'move "O1_SITEDB_Log" to "Some dev null location??"

LDF の場所を null の場所に指定する方法はありますか? LDF は必要ありません。代わりに、ldf をまったく取得しないように指示する方法はありますか?

4

3 に答える 3

2

MDF だけでなく LDF も復元する必要があります。ログはデータベースの不可欠な部分です。ログがなければ、RDBMS の意味での「データベース」ではありません。

緊急として、外付けドライブを接続するか、NTFS 圧縮フォルダーに復元する必要があります。次に、データベース ファイルを圧縮できます。ただし、これは簡単な修正にすぎず、適切に実行できるようになります。

于 2009-04-10T14:15:51.493 に答える
0

WITH NORECOVERYオプションを見たことがありますか?

特に、データベースをNOCEOVERYで復元してから、LOG WITH RECOVERY(ログファイルなし)で復元できると思います。

http://msdn.microsoft.com/en-us/library/ms191253.aspx

于 2009-01-29T23:57:57.467 に答える
0

LDFファイルの復元は避けられないと思います。しかし、あなたが言ったように、あなたはそれを一時的な場所に復元することができるかもしれません。

ここから:

--Step 1: Retrive the Logical file name of the database from backup.
RESTORE FILELISTONLY
FROM DISK = ‘L:\OSiteDB_2009_01_07_Wed_LiteSpeed_Full.BKP’
GO

--Step 2: Use the values in the LogicalName Column in following Step.
—-Make Database to single user Mode
ALTER DATABASE OSiteDB
SET SINGLE_USER WITH
ROLLBACK IMMEDIATE

—-Restore Database
RESTORE DATABASE OSiteDB
FROM DISK = ‘L:\OSiteDB_2009_01_07_Wed_LiteSpeed_Full.BKP’
WITH 
  MOVE ‘O1_SITEDB’ TO ‘S:\OSiteDB_Data.mdf’,
  MOVE ‘O1_SITEDB_Log’ TO ‘C:\OSiteDB_Log.ldf’

/*If there is no error in statement before database will be in multiuser mode.
If error occurs please execute following command it will convert
database in multi user.*/
ALTER DATABASE OSiteDB SET MULTI_USER
GO

LDFファイルの宛先を変更して、何が起こるかを確認してください。

于 2009-01-30T00:01:24.883 に答える