現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2008 R2 でデータベースを作成します。
-
ALTER DATABASE ステートメントを使用して、データベースの論理名を更新します。
-
データベースの完全バックアップを実行します。 注 バックアップの実行後に、データベースの完全バックアップ ファイルが生成されます。
-
データベース バックアップ ファイルからデータベースを復元しようとするとします。
このとき、次のエラー メッセージが表示されます。
Msg 3234、Level 16、State 2、Line 1Logical file '<logical file name>' は、データベース '<データベース名>' の一部ではありません。 RESTORE FILELISTONLY を使用して、論理ファイル名を一覧表示します。メッセージ 3013、レベル 16、状態 1、行 1RESTORE DATABASE が異常終了しています。
RESTORE FILELISTONLY ステートメントを使用してバックアップ ファイルをチェックすると、更新した論理ファイル名が破損していることがわかります。 論理ファイル名の最後の文字が切り捨てられます。 たとえば、データベースの論理名をDB_modifiedに更新しようとするとします。 ただし、バックアップ ファイル内のDB_modifieに誤って変更されています。注 この問題は、論理ファイル名が更新された後にSQL Server サービスを再起動した場合には発生しません。
解決方法
累積的な更新プログラムの情報
SQL Server 2008 R2
この問題の修正プログラムは、累積的な更新プログラム 6 で最初にリリースされました。 SQL Server 2008 R2 のこの累積的な更新プログラム パッケージを取得する方法の詳細については、次の記事番号をクリックして、Microsoft サポート技術情報の記事を表示します。
2489376 SQL Server 2008 R2 用の累積的な更新プログラム パッケージ 6 ビルドは累積的であるため、各新しい修正プログラム リリースには、以前の SQL Server 2008 R2 修正プログラム リリースに含まれていたすべての修正プログラムとすべてのセキュリティ修正プログラムが含まれています。 この修正プログラムを含む最新の修正プログラム リリースを適用することを検討することをお勧めします。 詳細については、次のマイクロソフト サポート技術情報番号をクリックしてください。
981356 SQL Server 2008 R2 がリリースされた後にリリースされた SQL Server 2008 R2 ビルド
修正プログラムの情報
サポートされている修正プログラムは Microsoft から入手できます。 ただし、この修正プログラムは、この記事で説明されている問題のみを修正することを目的としています。 この修正プログラムは、この記事で説明されている問題が発生しているシステムにのみ適用します。 この修正プログラムは、追加のテストを受け取る可能性があります。 したがって、この問題の影響を深刻に受けない場合は、この修正プログラムを含む次のソフトウェア更新プログラムを待機することをお勧めします。修正プログラムがダウンロード可能な場合は、このサポート技術情報の記事の上部に 「修正プログラムのダウンロード」セクションがあります。 このセクションが表示されない場合は、Microsoft カスタマー サービスとサポートに問い合わせて修正プログラムを入手してください。 注 追加の問題が発生した場合、またはトラブルシューティングが必要な場合は、別のサービス要求を作成する必要がある場合があります。 通常のサポート コストは、この特定の修正プログラムに該当しない追加のサポートの質問と問題に適用されます。 Microsoft カスタマー サービスとサポートの電話番号の完全な一覧、または別のサービス要求を作成するには、次の Microsoft Web サイトを参照してください。
http://support.microsoft.com/contactus/?ws=supportメモ "修正プログラムのダウンロードが可能" フォームには、修正プログラムを使用できる言語が表示されます。 言語が表示されない場合は、その言語で修正プログラムを使用できないためです。
必要条件
この修正プログラムを適用するには、Microsoft SQL Server 2008 R2 がインストールされている必要があります。
再起動の必要性
この修正プログラムを適用した後、コンピューターを再起動する必要はありません。
修正プログラムの置き換えに関する情報
この修正プログラムは、他の修正プログラムを置き換えるものではありません。
ファイル情報
この修正プログラムの英語版には、次の表に示すファイル属性 (またはそれ以降のファイル属性) があります。 これらのファイルの日付と時刻は世界協定時 (UTC) で記載されています。 ファイル情報に表示される時刻は、ローカル時刻に変換されています。 UTC と現地時刻の違いを見つけるには、コントロール パネルの [日付と時刻] 項目の [タイム ゾーン] タブを使用します。
32 ビット SQL Server 2008 R2 Database Services Core インスタンス
|
File name |
ファイル バージョン |
ファイル サイズ |
日付 |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
26464 |
24-Dec-10 |
0:33 |
x86 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
135520 |
24-Dec-10 |
0:33 |
x86 |
|
etwcls.mof |
対象外 |
1116328 |
23-Dec-10 |
3:54 |
対象外 |
|
instmsdb.sql |
対象外 |
2241260 |
22-Dec-10 |
20:49 |
対象外 |
|
mssqlsystemresource.ldf |
対象外 |
524288 |
22-Dec-10 |
2,252 |
対象外 |
|
mssqlsystemresource.mdf |
対象外 |
63569920 |
22-Dec-10 |
2,252 |
対象外 |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
13664 |
24-Dec-10 |
0:31 |
x86 |
|
sqlaccess.dll |
2009.100.1755.0 |
415584 |
24-Dec-10 |
0:29 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
367968 |
24-Dec-10 |
0:34 |
x86 |
|
sqlagent100_msdb_upgrade.sql |
対象外 |
2371245 |
23-Dec-10 |
3:53 |
対象外 |
|
sqlos.dll |
2009.100.1755.0 |
14688 |
24-Dec-10 |
0:22 |
x86 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
14688 |
24-Dec-10 |
0:21 |
x86 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4611424 |
24-Dec-10 |
0:21 |
x86 |
|
sqlservr.exe |
2009.100.1755.0 |
42904928 |
24-Dec-10 |
0:34 |
x86 |
|
sqsrvres.dll |
2009.100.1755.0 |
89952 |
24-Dec-10 |
0:21 |
x86 |
64 ビット SQL Server 2008 R2 Database Services Core インスタンス
|
File name |
ファイル バージョン |
ファイル サイズ |
日付 |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
31584 |
23-Dec-10 |
23:40 |
x64 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
262496 |
23-Dec-10 |
23:40 |
x64 |
|
etwcls.mof |
対象外 |
1116328 |
23-Dec-10 |
3:54 |
対象外 |
|
instmsdb.sql |
対象外 |
2241260 |
22-Dec-10 |
20:49 |
対象外 |
|
mssqlsystemresource.ldf |
対象外 |
524288 |
22-Dec-10 |
2,252 |
対象外 |
|
mssqlsystemresource.mdf |
対象外 |
63569920 |
22-Dec-10 |
2,252 |
対象外 |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
14176 |
23-Dec-10 |
23:40 |
x64 |
|
sqlaccess.dll |
2009.100.1755.0 |
403296 |
23-Dec-10 |
23:38 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
428384 |
23-Dec-10 |
23:40 |
x64 |
|
sqlagent100_msdb_upgrade.sql |
対象外 |
2371245 |
23-Dec-10 |
3:53 |
対象外 |
|
sqlos.dll |
2009.100.1755.0 |
15712 |
23-Dec-10 |
23:37 |
x64 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
15712 |
23-Dec-10 |
23:37 |
x64 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4610912 |
23-Dec-10 |
23:37 |
x64 |
|
sqlservr.exe |
2009.100.1755.0 |
61957984 |
23-Dec-10 |
23:40 |
x64 |
|
sqsrvres.dll |
2009.100.1755.0 |
105824 |
23-Dec-10 |
23:37 |
x64 |
Itanium-architecture SQL Server 2008 R2 Database Services Core Instance
|
File name |
ファイル バージョン |
ファイル サイズ |
日付 |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
63328 |
23-Dec-10 |
23:05 |
ia64 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
477024 |
23-Dec-10 |
23:05 |
ia64 |
|
etwcls.mof |
対象外 |
1116328 |
23-Dec-10 |
3:54 |
対象外 |
|
instmsdb.sql |
対象外 |
2241260 |
22-Dec-10 |
20:49 |
対象外 |
|
mssqlsystemresource.ldf |
対象外 |
524288 |
22-Dec-10 |
2,252 |
対象外 |
|
mssqlsystemresource.mdf |
対象外 |
63569920 |
22-Dec-10 |
2,252 |
対象外 |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
19296 |
23-Dec-10 |
23:05 |
ia64 |
|
sqlaccess.dll |
2009.100.1755.0 |
392032 |
23-Dec-10 |
23:01 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
1205600 |
23-Dec-10 |
23:09 |
ia64 |
|
sqlagent100_msdb_upgrade.sql |
対象外 |
2371245 |
23-Dec-10 |
3:53 |
対象外 |
|
sqlos.dll |
2009.100.1755.0 |
22368 |
23-Dec-10 |
22:56 |
ia64 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
20832 |
23-Dec-10 |
22:56 |
ia64 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4617056 |
23-Dec-10 |
22:56 |
ia64 |
|
sqlservr.exe |
2009.100.1755.0 |
121762656 |
23-Dec-10 |
23:09 |
ia64 |
|
sqsrvres.dll |
2009.100.1755.0 |
188768 |
23-Dec-10 |
22:56 |
ia64 |
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
回避策
この問題を回避するには、次の 2 つの方法のいずれかを使用します。
-
論理ファイル名が変更されたら、次のステートメントを実行して、SET OFFLINEALTER DATABASE <データベース名> SET ONLINE ALTER DATABASE <データベース名> 再起動します。
-
論理ファイル名を変更する場合は、新しい論理名にダミーのスペース文字を追加します。 たとえば、論理名を DB_modified に変更する場合は、次のステートメントを使用して、論理ファイル名を変更します:ALTER DATABASE <データベース名> MODIFY FILE (NAME=N'<データベース名>'、NEWNAME='DB_modified ') -- Append ' to NEWNAME
関連情報
ALTER DATABASE Transact-SQL ステートメントの詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。
ALTER DATABASE Transact-SQL ステートメントに関する一般的な情報RESTORE FILELISTONLY Transact-SQL ステートメントの詳細については、次の Microsoft Developer Network (MSDN) Web サイトを参照してください。