Firma Microsoft rozpowszechnia poprawki w programie Microsoft SQL Server 2012 w postaci jednego pliku do pobrania. Ponieważ poprawki są kumulatywne, każdy nowy pakiet zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2012.
Symptomy
Załóżmy, że do obsługi dodatkowej bazy danych w tym samym wystąpieniu programu SQL Server jest instalowany zdalny magazyn obiektów BLOB programu Microsoft SQL Server 2012, korzystając z wiersza polecenia. Na przykład uruchom następujące polecenie w wierszu polecenia:msiexec/Qn/LVX * rbs_install_log_2. txt/i SPZ. msi REMOTEBLOBENABLE = 1 FILESTREAMPROVIDERENABLE = 1 DBname = "Nazwa bazy danych" FILESTREAMSTORENAME = FilestreamProvider_1 ADDLOCAL = EnableRBS, FilestreamRunScript dbinstance = "domena\nazwa_serwera"w tym scenariuszu instalacja kończy się niepowodzeniem. Ponadto jest wyświetlany komunikat o błędzie podobny do następującego:
Błąd SPZ. Oryginalny błąd: numer 2601, ważność 14, stan 1, procedura rbs_sp_add_blob_store, wiersz 64, komunikat: nie można wstawić wiersza zduplikowanego klucza w obiekcie "mssqlrbs_resources. SPZ _internal_blob_stores" z unikatowym indeksem "rbs_internal_blob_stores_ix_name". Wartość zduplikowanego klucza to (FilestreamProvider_1). Liczba transakcji po wykonaniu wskazuje na niezgodność liczby instrukcji BEGIN i COMMIT. Poprzednia liczba = 1, bieżąca liczba = 0.
Przyczyna
Ten problem występuje, ponieważ druga instalacja używa niepoprawnych wartości zmiennych pochodzących z pierwszej instalacji. Te zmienne zawierają nazwę bazy danych FILESTREAM i nazwę wystąpienia. Podczas drugiej instalacji wartości tych zmiennych są pobierane z rejestru i zastępują wartości zdefiniowane w wierszu polecenia.
Rozwiązanie
Informacje o aktualizacji zbiorczej
Zbiorcza aktualizacja 2 dla programu SQL Server 2012 z dodatkiem SP1
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 2. Aby uzyskać więcej informacji na temat sposobu uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2012 z dodatkiem SP1, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2790947 Pakiet aktualizacji zbiorczej 2 dla programu SQL Server 2012 z dodatkiem Service Pack 1Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2012 SP1. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego 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:
2772858 Kompilacje programu SQL Server 2012 wydane po opublikowaniu dodatku Service Pack 1 dla programu SQL Server 2012
Zbiorcza aktualizacja 5 dla programu SQL Server 2012
Poprawka dotycząca tego problemu została wydana po raz pierwszy w aktualizacji zbiorczej 5. Aby uzyskać więcej informacji na temat uzyskiwania tego pakietu aktualizacji zbiorczej dla programu SQL Server 2012, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
2777772 Pakiet aktualizacji zbiorczej 5 dla programu SQL Server 2012Uwaga Ponieważ kompilacja jest zbiorcza, każdy nowy pakiet poprawek zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń, które zostały dołączone do poprzedniej wersji poprawki SQL Server 2012. Zalecamy zastosowanie najnowszego wydania poprawki zawierającego 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:
2692828 Kompilacje programu SQL Server 2012 wydane po wydaniu programu SQL Server 2012
Obejście
Aby obejść ten problem, zainstaluj zdalny magazyn obiektów blob, korzystając z trybu interfejsu użytkownika zamiast używania wiersza polecenia.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".