症状
请考虑以下情况:
-
在 Microsoft SQL Server 2008 R2 中创建数据库。
-
使用 ALTER DATABASE 语句更新数据库的逻辑名称。
-
对数据库执行完整备份。 注意 执行备份后,会生成完整的数据库备份文件。
-
您尝试从数据库备份文件还原数据库。
在这种情况下,您会收到以下错误消息:
消息 3234,级别 16,状态 2,第 1行逻辑文件'<逻辑文件名>'不属于数据库'<数据库名称>' 。 使用 RESTORE FILELISTONLY 列出逻辑文件名。消息 3013,级别 16,状态 1,第 1行 RESTORE 数据库异常终止。
如果使用 RESTORE FILELISTONLY 语句检查备份文件,则发现更新的逻辑文件名已损坏。 逻辑文件名的最后一个字符将被截断。 例如,尝试将数据库的逻辑名称更新为DB_modified。 但是,它错误地更改为备份文件中的DB_modifie。注意 如果在逻辑文件名更新后重新启动SQL Server服务,则不会出现此问题。
解决方法
累积更新信息
SQL Server 2008 R2
此问题的修补程序首次在累积更新 6 中发布。 有关如何为 SQL Server 2008 R2 获取此累积更新包的详细信息,请单击以下编号以查看Microsoft知识库中的文章:
2489376 累积更新包 6 for SQL Server 2008 R2 注意 由于内部版本是累积的,因此每个新修补程序版本都包含所有修补程序和所有安全修补程序,这些修补程序和所有安全修补程序都包含在以前的 SQL Server 2008 R2 修补程序版本中。 建议考虑应用包含此修补程序的最新修补程序版本。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
981356 SQL Server 2008 R2 发布后发布的SQL Server 2008 R2 版本
修补程序信息
Microsoft提供了受支持的修补程序。 但是,此修补程序仅用于更正本文中所述的问题。 仅将此修补程序应用于遇到本文中所述问题的系统。 此修补程序可能会收到其他测试。 因此,如果你没有受到此问题的严重影响,我们建议你等待包含此修补程序的下一个软件更新。如果修补程序可供下载,则此知识库文章顶部有“修补程序下载可用”部分。 如果未显示此部分,请联系 Microsoft Customer Service and Support 以获取修补程序。 注意 如果发生其他问题或需要进行任何故障排除,则可能必须创建单独的服务请求。 通常的支持成本将适用于不符合此特定修补程序条件的其他支持问题和问题。 有关Microsoft客户服务和支持电话号码的完整列表或创建单独的服务请求,请访问以下Microsoft网站:
http://support.microsoft.com/contactus/?ws=support注意“修补程序下载可用”窗体显示修补程序可用的语言。 如果未看到你的语言,这是因为修补程序不适用于该语言。
先决条件
若要应用此修补程序,必须安装 Microsoft SQL Server 2008 R2。
重启要求
应用此修补程序后,无需重新启动计算机。
修补程序替换信息
此修补程序不替换任何其他修补程序。
文件信息
此修补程序的英文版具有下表中列出的文件属性(或较新的文件属性)。 这些文件的日期和时间以协调世界时 (UTC) 格式列出。 在查看文件信息时,文件时间将转换为本地时间。 要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。
32 位SQL Server 2008 R2 数据库服务核心实例
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
26464 |
10 年 12 月 24 日 |
0:33 |
x86 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
135520 |
10 年 12 月 24 日 |
0:33 |
x86 |
|
etwcls.mof |
暂缺 |
1116328 |
10 年 12 月 23 日 |
3:54 |
暂缺 |
|
instmsdb.sql |
暂缺 |
2241260 |
10 年 12 月 22 日 |
20:49 |
暂缺 |
|
mssqlsystemresource.ldf |
暂缺 |
524288 |
10 年 12 月 22 日 |
22:52 |
暂缺 |
|
mssqlsystemresource.mdf |
暂缺 |
63569920 |
10 年 12 月 22 日 |
22:52 |
暂缺 |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
13664 |
10 年 12 月 24 日 |
0:31 |
x86 |
|
sqlaccess.dll |
2009.100.1755.0 |
415584 |
10 年 12 月 24 日 |
0:29 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
367968 |
10 年 12 月 24 日 |
0:34 |
x86 |
|
sqlagent100_msdb_upgrade.sql |
暂缺 |
2371245 |
10 年 12 月 23 日 |
3:53 |
暂缺 |
|
sqlos.dll |
2009.100.1755.0 |
14688 |
10 年 12 月 24 日 |
0:22 |
x86 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
14688 |
10 年 12 月 24 日 |
0:21 |
x86 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4611424 |
10 年 12 月 24 日 |
0:21 |
x86 |
|
sqlservr.exe |
2009.100.1755.0 |
42904928 |
10 年 12 月 24 日 |
0:34 |
x86 |
|
sqsrvres.dll |
2009.100.1755.0 |
89952 |
10 年 12 月 24 日 |
0:21 |
x86 |
64 位SQL Server 2008 R2 数据库服务核心实例
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
31584 |
10 年 12 月 23 日 |
23:40 |
x64 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
262496 |
10 年 12 月 23 日 |
23:40 |
x64 |
|
etwcls.mof |
暂缺 |
1116328 |
10 年 12 月 23 日 |
3:54 |
暂缺 |
|
instmsdb.sql |
暂缺 |
2241260 |
10 年 12 月 22 日 |
20:49 |
暂缺 |
|
mssqlsystemresource.ldf |
暂缺 |
524288 |
10 年 12 月 22 日 |
22:52 |
暂缺 |
|
mssqlsystemresource.mdf |
暂缺 |
63569920 |
10 年 12 月 22 日 |
22:52 |
暂缺 |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
14176 |
10 年 12 月 23 日 |
23:40 |
x64 |
|
sqlaccess.dll |
2009.100.1755.0 |
403296 |
10 年 12 月 23 日 |
23:38 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
428384 |
10 年 12 月 23 日 |
23:40 |
x64 |
|
sqlagent100_msdb_upgrade.sql |
暂缺 |
2371245 |
10 年 12 月 23 日 |
3:53 |
暂缺 |
|
sqlos.dll |
2009.100.1755.0 |
15712 |
10 年 12 月 23 日 |
23:37 |
x64 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
15712 |
10 年 12 月 23 日 |
23:37 |
x64 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4610912 |
10 年 12 月 23 日 |
23:37 |
x64 |
|
sqlservr.exe |
2009.100.1755.0 |
61957984 |
10 年 12 月 23 日 |
23:40 |
x64 |
|
sqsrvres.dll |
2009.100.1755.0 |
105824 |
10 年 12 月 23 日 |
23:37 |
x64 |
Itanium 体系结构SQL Server 2008 R2 数据库服务核心实例
|
File name |
文件版本 |
文件大小 |
日期 |
Time |
Platform |
|---|---|---|---|---|---|
|
atxcore.dll |
2009.100.1755.0 |
63328 |
10 年 12 月 23 日 |
23:05 |
ia64 |
|
datacollectorcontroller.dll |
2009.100.1755.0 |
477024 |
10 年 12 月 23 日 |
23:05 |
ia64 |
|
etwcls.mof |
暂缺 |
1116328 |
10 年 12 月 23 日 |
3:54 |
暂缺 |
|
instmsdb.sql |
暂缺 |
2241260 |
10 年 12 月 22 日 |
20:49 |
暂缺 |
|
mssqlsystemresource.ldf |
暂缺 |
524288 |
10 年 12 月 22 日 |
22:52 |
暂缺 |
|
mssqlsystemresource.mdf |
暂缺 |
63569920 |
10 年 12 月 22 日 |
22:52 |
暂缺 |
|
sql_engine_core_inst_keyfile.dll |
2009.100.1755.0 |
19296 |
10 年 12 月 23 日 |
23:05 |
ia64 |
|
sqlaccess.dll |
2009.100.1755.0 |
392032 |
10 年 12 月 23 日 |
23:01 |
x86 |
|
sqlagent.exe |
2009.100.1755.0 |
1205600 |
10 年 12 月 23 日 |
23:09 |
ia64 |
|
sqlagent100_msdb_upgrade.sql |
暂缺 |
2371245 |
10 年 12 月 23 日 |
3:53 |
暂缺 |
|
sqlos.dll |
2009.100.1755.0 |
22368 |
10 年 12 月 23 日 |
22:56 |
ia64 |
|
sqlscriptdowngrade.dll |
2009.100.1755.0 |
20832 |
10 年 12 月 23 日 |
22:56 |
ia64 |
|
sqlscriptupgrade.dll |
2009.100.1755.0 |
4617056 |
10 年 12 月 23 日 |
22:56 |
ia64 |
|
sqlservr.exe |
2009.100.1755.0 |
121762656 |
10 年 12 月 23 日 |
23:09 |
ia64 |
|
sqsrvres.dll |
2009.100.1755.0 |
188768 |
10 年 12 月 23 日 |
22:56 |
ia64 |
状态
Microsoft 已经确认这是一个列于“适用范围”部分的 Microsoft 产品问题。
解决方法
若要解决此问题,请使用以下两种方法之一:
-
修改逻辑文件名后,运行以下命令以重启数据库:ALTER DATABASE <数据库名称> SET OFFLINEALTER DATABASE <数据库名称> SET ONLINE
-
修改逻辑文件名时,在新逻辑名称中追加一个虚拟空格字符。 例如,如果要将逻辑名称更改为DB_modified,请使用以下语句修改逻辑文件名:ALTER DATABASE <数据库名称> MODIFY FILE (NAME=N'<database name>',NEWNAME='DB_modified ') -- Append ' to NEWNAME
参考
有关 ALTER DATABASE Transact-SQL 语句的详细信息,请访问以下Microsoft开发人员网络 (MSDN) 网站:
有关 ALTER DATABASE Transact-SQL 语句的一般信息有关 RESTORE FILELISTONLY Transact-SQL 语句的详细信息,请访问以下Microsoft开发人员网络 (MSDN) 网站: