Dotyczy
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

Symptomy

Rozpatrzmy następujący scenariusz:

  • Tworzysz bazę danych w programie Microsoft SQL Server 2008 R2.

  • Logiczną nazwę bazy danych można zaktualizować za pomocą instrukcji ALTER DATABASE.

  • Wykonasz pełną kopię zapasową bazy danych. Uwaga Po wykonaniu kopii zapasowej zostanie wygenerowany pełny plik kopii zapasowej bazy danych.

  • Próbujesz przywrócić bazę danych z pliku kopii zapasowej bazy danych.

W tym scenariuszu jest wyświetlany następujący komunikat o błędzie:

Msg 3234, Poziom 16, Województwo 2, Wiersz 1Plik logiczny '<nazwa pliku logicznego>' nie jest częścią bazy danych "<nazwa bazy danych>". Użyj funkcji PRZYWRÓĆ FILELISTONLY, aby wyświetlić listę logicznych nazw plików.Msg 3013, Level 16, State 1, Line 1RESTORE DATABASE is terminating abnormally.

Jeśli użyjesz instrukcji RESTORE FILELISTONLY do sprawdzenia pliku kopii zapasowej, okaże się, że zaktualizowana nazwa pliku logicznego jest uszkodzona. Ostatni znak nazwy pliku logicznego zostanie obcięty. Na przykład próbujesz zaktualizować nazwę logiczną bazy danych, aby DB_modified. Jednak jest on nieprawidłowo zmieniony na DB_modifie w pliku kopii zapasowej.Uwaga Ten problem nie występuje po ponownym uruchomieniu usługi SQL Server po zaktualizowaniu nazwy pliku logicznego.

Rozwiązanie

Informacje o aktualizacji zbiorczej

SQL Server 2008 R2

Poprawka rozwiązła ten problem została opublikowana po raz pierwszy w aktualizacji zbiorczej 6. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji zbiorczej dla SQL Server 2008 R2, kliknij następujący numer artykułu, aby wyświetlić ten artykuł w bazie wiedzy Microsoft Knowledge Base:

2489376 Pakiet aktualizacji zbiorczej 6 dla SQL Server 2008 R2 Uwaga Ponieważ kompilacje są skumulowane, każda nowa wersja poprawki zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008 R2. Zalecamy rozważenie zastosowania najnowszej wersji poprawki zawierającej tę poprawkę. Aby uzyskać więcej informacji, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:

981356 Kompilacje SQL Server 2008 R2 wydane po SQL Server 2008 R2 zostały wydane

Informacje dotyczące poprawek

Obsługiwana poprawka jest dostępna od firmy Microsoft. Jednak ta poprawka ma na celu naprawienie tylko problemu opisanego w tym artykule. Zastosuj tę poprawkę tylko do systemów, w których występuje problem opisany w tym artykule. Ta poprawka może wymagać dodatkowych testów. Dlatego jeśli ten problem cię nie dotyczy poważnie, zalecamy zaczekanie na kolejną aktualizację oprogramowania zawierającą tę poprawkę.Jeśli poprawka jest dostępna do pobrania, u góry tego artykułu z bazy wiedzy znajduje się sekcja "Dostępne do pobrania poprawki". Jeśli ta sekcja nie jest wyświetlana, skontaktuj się z działem obsługi klienta firmy Microsoft i pomocą techniczną w celu uzyskania poprawki. Uwaga Jeśli wystąpią dodatkowe problemy lub jest wymagane jakiekolwiek rozwiązywanie problemów, może być konieczne utworzenie osobnego żądania usługi. Typowe koszty pomocy technicznej będą miały zastosowanie do dodatkowych pytań dotyczących pomocy technicznej i problemów, które nie kwalifikują się do danej poprawki. Aby uzyskać pełną listę numerów telefonów działu obsługi klienta i pomocy technicznej firmy Microsoft lub utworzyć oddzielne żądanie obsługi, odwiedź następującą witrynę internetową firmy Microsoft:

http://support.microsoft.com/contactus/?ws=supportUwaga W formularzu "Dostępne do pobrania poprawki" są wyświetlane języki, dla których jest dostępna poprawka. Jeśli nie widzisz swojego języka, oznacza to, że poprawka nie jest dostępna dla tego języka.

Wymagania wstępne

Aby zastosować tę poprawkę, musisz mieć zainstalowany program Microsoft SQL Server 2008 R2.

Wymaganie ponownego uruchomienia

Po zastosowaniu tej poprawki nie trzeba ponownie uruchamiać komputera.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje żadnej innej poprawki.

Informacje dotyczące pliku

Angielska wersja tej poprawki zawiera atrybuty plików (lub nowsze atrybuty plików) wymienione w poniższej tabeli. Daty i godziny dla tych plików są wymienione w uniwersalnym czasie koordynowanym (UTC). Informacje o pliku są konwertowane na czas lokalny. Aby znaleźć różnicę między czasem UTC a czasem lokalnym, użyj karty Strefa czasowa w elemencie Data i godzina w Panel sterowania.

32-bitowy SQL Server 2008 R2 Database Services Core Instance

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Czas

Platforma

atxcore.dll

2009.100.1755.0

26464

24-Gru-10

0:33

x86

datacollectorcontroller.dll

2009.100.1755.0

135520

24-Gru-10

0:33

x86

etwcls.mof

Nie dotyczy

1116328

23-Gru-10

3:54

Nie dotyczy

instmsdb.sql

Nie dotyczy

2241260

22-Gru-10

20:49

Nie dotyczy

mssqlsystemresource.ldf

Nie dotyczy

524288

22-Gru-10

22:52

Nie dotyczy

Mssqlsystemresource.mdf

Nie dotyczy

63569920

22-Gru-10

22:52

Nie dotyczy

sql_engine_core_inst_keyfile.dll

2009.100.1755.0

13664

24-Gru-10

0:31

x86

sqlaccess.dll

2009.100.1755.0

415584

24-Gru-10

0:29

x86

sqlagent.exe

2009.100.1755.0

367968

24-Gru-10

0:34

x86

sqlagent100_msdb_upgrade.sql

Nie dotyczy

2371245

23-Gru-10

3:53

Nie dotyczy

sqlos.dll

2009.100.1755.0

14688

24-Gru-10

0:22

x86

sqlscriptdowngrade.dll

2009.100.1755.0

14688

24-Gru-10

0:21

x86

sqlscriptupgrade.dll

2009.100.1755.0

4611424

24-Gru-10

0:21

x86

sqlservr.exe

2009.100.1755.0

42904928

24-Gru-10

0:34

x86

sqsrvres.dll

2009.100.1755.0

89952

24-Gru-10

0:21

x86

64-bitowy SQL Server 2008 R2 Database Services Core Instance

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Czas

Platforma

atxcore.dll

2009.100.1755.0

31584

23-Gru-10

23:40

x64

datacollectorcontroller.dll

2009.100.1755.0

262496

23-Gru-10

23:40

x64

etwcls.mof

Nie dotyczy

1116328

23-Gru-10

3:54

Nie dotyczy

instmsdb.sql

Nie dotyczy

2241260

22-Gru-10

20:49

Nie dotyczy

mssqlsystemresource.ldf

Nie dotyczy

524288

22-Gru-10

22:52

Nie dotyczy

Mssqlsystemresource.mdf

Nie dotyczy

63569920

22-Gru-10

22:52

Nie dotyczy

sql_engine_core_inst_keyfile.dll

2009.100.1755.0

14176

23-Gru-10

23:40

x64

sqlaccess.dll

2009.100.1755.0

403296

23-Gru-10

23:38

x86

sqlagent.exe

2009.100.1755.0

428384

23-Gru-10

23:40

x64

sqlagent100_msdb_upgrade.sql

Nie dotyczy

2371245

23-Gru-10

3:53

Nie dotyczy

sqlos.dll

2009.100.1755.0

15712

23-Gru-10

23:37

x64

sqlscriptdowngrade.dll

2009.100.1755.0

15712

23-Gru-10

23:37

x64

sqlscriptupgrade.dll

2009.100.1755.0

4610912

23-Gru-10

23:37

x64

sqlservr.exe

2009.100.1755.0

61957984

23-Gru-10

23:40

x64

sqsrvres.dll

2009.100.1755.0

105824

23-Gru-10

23:37

x64

Architektura itanium SQL Server 2008 R2 Database Services Core Instance

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Czas

Platforma

atxcore.dll

2009.100.1755.0

63328

23-Gru-10

23:05

ia64

datacollectorcontroller.dll

2009.100.1755.0

477024

23-Gru-10

23:05

ia64

etwcls.mof

Nie dotyczy

1116328

23-Gru-10

3:54

Nie dotyczy

instmsdb.sql

Nie dotyczy

2241260

22-Gru-10

20:49

Nie dotyczy

mssqlsystemresource.ldf

Nie dotyczy

524288

22-Gru-10

22:52

Nie dotyczy

Mssqlsystemresource.mdf

Nie dotyczy

63569920

22-Gru-10

22:52

Nie dotyczy

sql_engine_core_inst_keyfile.dll

2009.100.1755.0

19296

23-Gru-10

23:05

ia64

sqlaccess.dll

2009.100.1755.0

392032

23-Gru-10

23:01

x86

sqlagent.exe

2009.100.1755.0

1205600

23-Gru-10

23:09

ia64

sqlagent100_msdb_upgrade.sql

Nie dotyczy

2371245

23-Gru-10

3:53

Nie dotyczy

sqlos.dll

2009.100.1755.0

22368

23-Gru-10

22:56

ia64

sqlscriptdowngrade.dll

2009.100.1755.0

20832

23-Gru-10

22:56

ia64

sqlscriptupgrade.dll

2009.100.1755.0

4617056

23-Gru-10

22:56

ia64

sqlservr.exe

2009.100.1755.0

121762656

23-Gru-10

23:09

ia64

sqsrvres.dll

2009.100.1755.0

188768

23-Gru-10

22:56

ia64

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Obejście

Aby obejść ten problem, użyj jednej z dwóch następujących metod:

  • Po zmodyfikowaniu logicznej nazwy pliku uruchom następujące instrukcje, aby ponownie uruchomić bazę danych:ALTER DATABASE <nazwę bazy danych> USTAW OFFLINEALTER DATABASE <nazwę bazy danych> USTAW ONLINE

  • Po zmodyfikowaniu nazwy pliku logicznego w nowej, logicznej nazwie dołącz znak spacji manekina. Jeśli na przykład chcesz zmienić nazwę logiczną na DB_modified, zmodyfikuj nazwę pliku logicznego za pomocą poniższej instrukcji:ALTER DATABASE <nazwę bazy danych> MODIFY FILE (NAME=N'<nazwa bazy danych>', NEWNAME='DB_modified ') -- Dołącz ' do NEWNAME

Informacje

Aby uzyskać więcej informacji na temat instrukcji ALTER DATABASE Transact-SQL, odwiedź następującą witrynę internetową Microsoft Developer Network (MSDN):

Ogólne informacje o instrukcji ALTER DATABASE Transact-SQLAby uzyskać więcej informacji na temat instrukcji RESTORE FILELISTONLY Transact-SQL, odwiedź następującą witrynę internetową Microsoft Developer Network (MSDN):

Ogólne informacje na temat instrukcji RESTORE FILELISTONLY Transact-SQL

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.