Firma Microsoft dystrybuuje poprawki dla systemów Microsoft SQL Server 2008, SQL Server 2008 R2 lub SQL Server 2012 jako jeden plik do pobrania. Ponieważ poprawki są zbiorcze, każda nowa wersja zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzednich wersjach poprawek dla programów SQL Server 2008, SQL Server 2008 R2 i SQL Server 2012
Objawy
Rozważmy następujący scenariusz:
- Próbujesz wykonać operację wstawiania tabeli docelowej w bazie danych programu Microsoft SQL Server 2008, Microsoft SQL Server 2008 R2 lub Microsoft SQL Server 2012.
- Tabela docelowa ma więcej niż jedno ograniczenie klucza obcego (FK).
- Aby wykonać operację wstawiania, należy użyć instrukcji MERGE.
W tym scenariuszu jest wyświetlany następujący komunikat o błędzie:
Uwaga
Wiadomość 681, Poziom 16, Stan #, Linia #
Uwaga
Próba ustawienia wartości kolumny niezgodnej z wartością NULL na NULL.
Rozwiązanie
Informacje o aktualizacji zbiorczej
Ten problem został po raz pierwszy rozwiązany w następującej aktualizacji zbiorczej programu SQL Server.
Aktualizacja skumulowana 10 dla systemu SQL Server 2008 R2 z dodatkiem SP2 /en-us/help/2908087
Informacje o aktualizacjach zbiorczych dla programu SQL Server
Każda nowa aktualizacja zbiorcza programu SQL Server zawiera wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji skumulowanej. Sprawdź najnowsze aktualizacje zbiorcze dla programu SQL Server:
Pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 1 dla programu SQL Server 2012Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 1. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla dodatku Service Pack 1 dla programu SQL Server 2012, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2765331 Pakiet aktualizacji zbiorczej 1 dla dodatku Service Pack 1 SQL Server 2012 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2012. 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 Baza wiedzy Microsoft Knowledge Base:
2772858 Kompilacje SQL Server 2012 wydane po wydaniu dodatku Service Pack 1 SQL Server 2012
SQL Server 2008 R2 z dodatkiem Service Pack 1Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 8. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla dodatku Service Pack 1 dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2723743 Pakiet 8 aktualizacji zbiorczych dla dodatku SP1 SQL Server 2008 R2 Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń zawarte w poprzedniej wersji poprawki dodatku Service Pack 1 dla 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 Baza wiedzy Microsoft Knowledge Base:
2567616 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2 z dodatkiem SP1
SQL Server 2012 Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 3 dla programu SQL Server 2012. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2723749 Pakiet aktualizacji zbiorczej 3 dla SQL Server 2012Uwaga Ponieważ kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń, które były zawarte w poprzedniej wersji poprawki SQL Server 2012. Firma Microsoft zaleca 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 Baza wiedzy Microsoft Knowledge Base:
2692828 Kompilacje SQL Server 2012 wydane po wydaniu SQL Server 2012 Poprawkę SQL Server 2012 należy zastosować do instalacji programu SQL Server 2012.
Dodatek Service Pack 3 dla programu SQL Server 2008 Poprawkę rozwiązującą ten problem opublikowano po raz pierwszy w aktualizacji zbiorczej 6 dla dodatku Service Pack 3 dla programu SQL Server 2008. Aby uzyskać więcej informacji dotyczących tego pakietu aktualizacji skumulowanych, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2715953 Pakiet aktualizacji zbiorczej 6 dla dodatku Service Pack 3 SQL Server 2008Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa wersja poprawki zawiera wszystkie poprawki i poprawki zabezpieczeń, które zostały uwzględnione w poprzedniej wersji poprawki SQL Server 2008. Firma Microsoft zaleca 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 Baza wiedzy Microsoft Knowledge Base:
2629969 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 3 SQL Server 2008 Poprawki Microsoft SQL Server 2008 są tworzone dla określonych SQL Server dodatków Service Pack. Należy zastosować poprawkę dodatku Service Pack 3 dla programu SQL Server 2008 do instalacji dodatku Service Pack 3 dla programu SQL Server 2008. Domyślnie każda poprawka dostępna w dodatku Service Pack dla programu SQL Server jest uwzględniona w następnym dodatku Service Pack dla programu SQL Server.
SQL Server 2008 R2
Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 14. Aby uzyskać więcej informacji dotyczących sposobu uzyskania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2008 R2, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2703280 Pakiet aktualizacji zbiorczych 14 dla systemu SQL Server 2008 R2 Uwaga Ponieważ te kompilacje mają charakter zbiorczy, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzedniej wersji 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 Baza wiedzy Microsoft Knowledge Base:
981356 Kompilacje SQL Server 2008 R2 wydane po wydaniu SQL Server 2008 R2
SQL Server 2008 Service Pack 2Poprawka rozwiązująca ten problem została po raz pierwszy opublikowana w aktualizacji zbiorczej 9 dla programu SQL Server 2008 z dodatkiem Service Pack 2. Aby uzyskać więcej informacji dotyczących sposobu uzyskiwania tego pakietu aktualizacji zbiorczej, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Baza wiedzy Microsoft Knowledge Base:
2673382 Pakiet aktualizacji zbiorczej 9 dla dodatku Service Pack 2 SQL Server 2008Uwaga Ponieważ te kompilacje są zbiorcze, każda nowa poprawka zawiera wszystkie poprawki i poprawki zabezpieczeń z poprzednich wersji poprawek SQL Server 2008. 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 Baza wiedzy Microsoft Knowledge Base:
2402659 Kompilacje SQL Server 2008 wydane po wydaniu dodatku Service Pack 2 SQL Server 2008
Stan
Firma Microsoft potwierdziła, że jest to problem dotyczący produktów firmy Microsoft wymienionych w sekcji „Dotyczy”.