应用对象
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup

症状

请考虑以下情况:

  • 在 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) 网站:

有关 RESTORE FILELISTONLY Transact-SQL 语句的一般信息

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。