1

背景:新しいバージョンのデータベースをロールアウトしたいのでWBPM、SSMS の右クリック機能を使用して名前を変更したという作業データベースがありました。WBPM_v20120530SSMS の右クリックの名前変更機能は物理ファイル.MDFまたは.LDFファイルを変更しないと信じているため、SSDT を使用して新しいバージョンを公開しようとしたときに、WBPMLDF ファイルと MDF ファイルが存在することを通知するエラーが発生しました。

Windows Explorer を使用して物理ファイルの名前を変更しました。これは私が従った手順です:

-- 1. The Database had been renamed using SSMS right click FROM WBPM to WBPM_v20120530.
ALTER DATABASE WBPM_v20120530 SET OFFLINE

-- 2. I have inserted the new string "_v20120530" to the .mdf file using Windows Explorer and then run this command.
ALTER DATABASE WBPM_v20120530
MODIFY FILE (NAME = WBPM, 
FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WBMD_v20120530_Primary.mdf')
GO

-- 3. I have inserted the new string "_v20120530" to the .ldf file and run this command.
ALTER DATABASE WBPM_v20120530 
MODIFY FILE (NAME = WBPM_log, 
FILENAME ='C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WBPM_v20120530_Primary.ldf')
GO

-- 4. I can not bring the database Online?
ALTER DATABASE WBPM_v20120530 SET ONLINE
GO

これは、SSMS から取得したエラー メッセージです。

メッセージ 5120、レベル 16、状態 101、行 1
物理ファイル "C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\WBMD_v20120530_Primary.mdf" を開けません。
オペレーティング システム エラー 2: "2 (このエラーのテキストを取得できませんでした。
理由: 15105)

メッセージ 945、レベル 14、状態 2、行 1
データベース 'WBPM_v20120530' は、ファイルにアクセスできないか、メモリまたはディスク領域が不足しているため、開くことができません。詳細については、SQL Server エラー ログを参照してください。

メッセージ 5069、レベル 16、状態 1、行 1
ALTER DATABASE ステートメントが失敗しました。

データベースを回復したいので、何か助けていただければ幸いです。

多くの感謝と親切な敬意、

バーティ。

4

1 に答える 1

3

私はあなたの正確な手順に従いましたが、これを問題なく行うことができました.

SQL Server サービス アカウントがフォルダーに対する完全なアクセス許可を持っていること、UAC が無効になっていること、および Windows エクスプローラーの両方のファイル名のスペルが変更ステートメントのファイル名と一致していることを確認してください。

また、少し短いファイル名を試してみてください (たとえば、v20120530 の代わりに、v2 をファイル パスに挿入してみてください。上限に達するべきではありませんが、試してみる価値はあります。

于 2012-05-31T01:15:19.123 に答える