Łączność SQL Server 2005 i usługa kopiowania woluminów w tle (VSS)

Dotyczy: Microsoft SQL Server 2005 Standard EditionMicrosoft SQL Server 2005 Enterprise EditionMicrosoft SQL Server 2005 Developer Edition

Kolumna głosu pomocy technicznej programu SQL Server


Łączność SQL Server 2005 i usługa kopiowania woluminów w tle

Aby dostosować tę kolumnę do swoich potrzeb, chcemy zaprosić Cię o przesłanie pomysłów na tematy, które Cię interesują, oraz problemy, które należy uwzględnić w przyszłych artykułach bazy wiedzy Knowledge Base i obsługiwać kolumny głosowe. Możesz przesłać swoje pomysły i opinie, korzystając z formularza zapytaj go . Na dole tej kolumny jest również dostępny link do formularza.
Witamy ponownie! Jestem Sandy Yakob z zespołem zawartości programu Microsoft SQL Server. Jestem golfowym dla programu SQL Server, aby uzyskać dostęp do kolumn głosu. Szybka notatka na mój temat: Firma Microsoft prowadziła od 14 lat. W ciągu ostatnich trzech lat pracujełem z zespołem zawartości programu SQL Server. W kolumnie tego miesiąca Suresh Kandoth będzie adresować łączność Microsoft SQL Server 2005 i usługę kopiowania woluminów w tle (VSS). Suresh jest inżynierem eskalacji z zespołem pomocy technicznej programu SQL Server. Firma Microsoft pracowała w ciągu ostatnich czterech lat, korzystając z technologii SQL Server. Mam nadzieję, że korzystasz z tej kolumny i uznasz to za pomocne.

Łączność SQL Server 2005 i VSS

W tym artykule omówiono problemy z połączeniem z programem SQL Server, które mogą wystąpić podczas korzystania z aplikacji kopii zapasowych z obsługą usługi kopiowania woluminów w tle.

Informacje ogólne

Zanim przeskoczię się do szczegółów dotyczących błędów i problemów, przyjrzyjmy się różnym składnikom uwzględnionym w tej dyskusji.
  • NAPOTKAŁ Usługa VSS to struktura składająca się z zestawu interfejsów i struktur, które umożliwiają aplikacjom wykonywanie kopii zapasowych woluminów, gdy inne aplikacje używają danych z tych woluminów. Usługa VSS jest dostępna w systemach Microsoft Windows XP i Microsoft Windows Server 2003.
  • Aplikacje do tworzenia kopii zapasowychAplikacja do tworzenia kopii zapasowej to dowolna aplikacja systemu Windows żądająca wykonania kopii zapasowej migawki za pomocą programu VSS. Na przykład aplikacja do tworzenia kopii zapasowej systemu Windows NT, która jest dostępna w systemie Windows, jest aplikacją do tworzenia kopii zapasowych.
  • WriterAutorzy to aplikacje lub usługi, które przechowują trwałe informacje na dysku i współpracują z dostawcami i żądającymi za pośrednictwem interfejsu kopii w tle. W tym artykule omówię składnik zapisywania MSDEWriter i SqlServerWriter Writer.
    • MSDEWriter: składnik zapisywania MSDEWriter jest modułem zapisu VSS dla programu SQL Server. MSDEWriter jest zawarty w strukturze VSS w systemie Windows XP i Windows Server 2003. MSDEWriter współpracuje z programem SQL Server 7,0, SQL Server 2000 i SQL Server 2005.
    • SqlServerWriter: składnik zapisywania SqlServerWriter jest modułem zapisu VSS dla programu SQL Server. SqlServerWriter jest zawarty w programie SQL Server 2005. SqlServerWriter działa tylko z wystąpieniami programu SQL Server 2005.

Połączenia z programem SQL Server

Być może zastanawiasz się, dlaczego składniki struktury usługi VSS będą musiały łączyć się z programem SQL Server, gdy składniki wykonują tylko kopię zapasową woluminu. W początkowych fazach tworzenia migawki skonfigurowany domyślny moduł zapisujący tworzy połączenie z wystąpieniami programu SQL Server na określonym serwerze. Jedna z pierwszych faz procesu tworzenia migawki to "Inicjalizacja kopii zapasowej". W trakcie tej fazy aplikacja do tworzenia kopii zapasowych (żądająca) wykonuje następujące czynności, aby upewnić się, że wszystkie składniki w procesie tworzenia migawki są gotowe:
  • Aplikacja kopia zapasowa tworzy powiązanie z interfejsem IVssBackupComponents .
  • Aplikacja kopia zapasowa inicjuje Interfejs IVssBackupComponents.
  • Aplikacja kopia zapasowa wywołuje interfejs API IVssGatherWriterMetadata w celu wykonania wyliczania metadanych.
System VSS poinformuje, że wszyscy autorzy zbierają metadane. Dotyczy to również domyślnego składnika zapisywania dostępnego w programie SQL Server. Być może jest to MSDEWriter lub SqlServerWriter na podstawie bieżących ustawień serwera. Ten domyślny moduł zapisu dla programu SQL Server łączy się ze wszystkimi wystąpieniami programu SQL Server uruchomionymi w systemie lokalnym, uzyskuje wymagane informacje o bazach danych w wystąpieniu programu SQL Server, a następnie tworzy dokument metadanych. Dokument metadanych jest następnie zwracany do aplikacji do tworzenia kopii zapasowych.

Identyfikowanie autora

MSDEWriter lub SqlServerWriter wykona wyliczanie metadanych. MSDEWriter lub SqlServerWriter będzie musiał połączyć się z wystąpieniem programu SQL Server. Aby określić, który składnik zapisywania jest domyślnie konfigurowany jako moduł zapisujący dla wystąpienia programu SQL Server, należy użyć poniższych informacji.
Wersja programu SQL ServerKlucz rejestru MSDEVersionChecking = 0 [lub Brak]Klucz rejestru MSDEVersionChecking > 0
7.0Wyliczanie metadanych jest realizowane przez MSDEWriterWyliczanie metadanych jest realizowane przez MSDEWriter
2000Wyliczanie metadanych jest realizowane przez MSDEWriterWyliczanie metadanych jest realizowane przez MSDEWriter
2005Wyliczanie metadanych jest realizowane przez MSDEWriterWyliczanie metadanych jest realizowane przez SqlServerWriter
Wartość MSDEVersionChecking znajduje się w kluczu rejestru \system\currentcontrolset\services\vss\settings HKEY_LOCAL_MACHINE . Jest to wartość DWORD, która może być nieobecna, jeśli nie utworzysz jej ręcznie. Mimo że SqlServerWriter jest zainstalowany z programem SQL Server 2005, nie jest skonfigurowany jako domyślny moduł zapisujący dla programu SQL Server 2005. Musisz ręcznie skonfigurować SqlServerWriter jako domyślny moduł zapisujący. Aby uzyskać więcej informacji, odwiedź następującą witrynę firmy Microsoft w sieci Web: Podczas rozwiązywania problemów z połączeniem od autora danych do wystąpienia programu SQL Server należy pamiętać o następujących ważnych informacjach:
  • Gdy MSDEWriter próbuje nawiązać połączenie, usługa VSS działa jako klient programu SQL Server w celu uzyskania konkretnej próby połączenia.
  • Gdy SqlServerWriter próbuje nawiązać połączenie, usługa składnika zapisywania VSS programu SQL Server działa jako klient programu SQL Server dla tej konkretnej próby połączenia.

Problemy, gdy składnik zapisywania próbuje połączyć się z programem SQL Server

W sytuacji, gdy domyślny moduł zapisujący próbuje połączyć się z wystąpieniami programu SQL Server na komputerze, mogą wystąpić następujące dwa problemy:
  • Moduł zapisujący nie może przeprowadzić prawidłowego uwierzytelniania w wystąpieniu programu SQL Server.
  • Moduł zapisujący nie może nawiązać połączenia z wystąpieniem programu SQL Server.
Objawy, które zauważysz podczas używania aplikacji do tworzenia kopii zapasowej, różnią się w zależności od problemu. W przypadku problemów z uwierzytelnianiem moduł zapisujący nie może wykonać wyliczania metadanych i tworzy natychmiastowy błąd w dzienniku zdarzeń systemu Windows i w skonfigurowanym dzienniku śledzenia dla tego modułu. W przypadku problemów z połączeniem aplikacja kopia zapasowa przestaje odpowiadać przez dłuższy czas podczas fazy inicjalizacji. Gdy aplikacja przestanie odpowiadać, wpisy zostaną zarejestrowane w dzienniku zdarzeń systemu Windows i w skonfigurowanym dzienniku śledzenia dla tego modułu.

Problemy z uwierzytelnianiem

Gdy usługa VSS i usługa sqlwritename są zainstalowane, konto uruchamiania usługi jest skonfigurowane jako system lokalny [NT NT\SYSTEM]. Gdy składnik zapisywania próbuje nawiązać połączenie z wystąpieniami programu SQL Server, w składniku zapisywania są używane poświadczenia konta System lokalny [NT NT\SYSTEM] Start. Musisz upewnić się, że wystąpienia programu SQL Server udzieliły uprawnień dostępu do tego konta systemu Windows w sposób jawny lub w ramach członkostwa w grupie w celu uwierzytelnienia BUILTIN\Administrators.If, następujące komunikaty są rejestrowane w dzienniku zdarzeń systemu Windows.
Wiadomość 1
Typ zdarzenia: Źródło ErrorEvent: SQLWRITEREvent Category: NoneEvent ID: 24583Date: 4/30/2006Time: 11:38:44 AMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80040e4d. SQLSTATE: 28000, błąd macierzysty: 18456Error State: 1; ważność: 14Source: Microsoft SQL Native ClientError komunikat: Logowanie użytkownika "NT NT\SYSTEM" nie powiodło się. DBPROP_INIT_DATASOURCE: nazwakomputeraDBPROP_INIT_CATALOG: MASTERDBPROP_AUTH_INTEGRATED: SSPI
Wiadomość 2
Typ zdarzenia: Źródło ErrorEvent: SQLWRITEREvent Category: NoneEvent ID: 24583Date: 4/30/2006Time: 11:38:44 AMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80040e4d. SQLSTATE: 28000, błąd macierzysty: 18456Error State: 1; ważność: 14Source: Microsoft SQL Native ClientError komunikat: Logowanie użytkownika "NT NT\SYSTEM" nie powiodło się. DBPROP_INIT_DATASOURCE: nazwakomputeraDBPROP_INIT_CATALOG: MASTERDBPROP_AUTH_INTEGRATED: SSPI
Wiadomość 3
Podczas korzystania z kopii zapasowej programu SQL Server VSS może wystąpić następujący komunikat o błędzie:
Nazwa dziennika: ApplicationSource: SQLWRITEREvent identyfikator: 24581Task Category: NoneLevel: ErrorDescription: Błąd Sqllib: tabela systemowa sys. sysdatabases w wystąpieniu programu SQL Server <Nazwa programu SQL Server> jest pusta. Jeśli lokalne konto systemowe nie ma żadnych zmian w żadnej bazie danych ani nie wyświetla żadnych uprawnień na poziomie serwera bazy danych, ani nie będzie mieć uprawnień do tworzenia bazy danych w głównej bazie danych, to wystąpi błąd, ponieważ nie będzie mógł wykonać kwerendy w widoku wykazu sys. databases. Brak wystarczających uprawnień db_datareader, aby ta operacja powiodła się.
Ta operacja wymaga, aby na koncie System lokalny (władza NT/SYSTEM) była wymagana jedna z następujących opcji:
  • Zmienianie wszelkich uprawnień na poziomie serwera bazy danych
  • Wyświetlanie wszelkich uprawnień na poziomie serwera bazy danych
  • Uprawnienie Tworzenie bazy danych w głównej bazie danych
Wiadomość 4
Typ zdarzenia: Źródło ErrorEvent: VSSEvent Category: NoneEvent ID: 6013Date: 4/30/2006Time: 11:38:44 AMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80040e4d. SQLSTATE: 42000, błąd macierzysty: 18456Error State: 1; ważność: 14Source: Microsoft OLE DB Provider for SQL ServerError, operacja logowania dla użytkownika "NT NT\SYSTEM" nie powiodła się.
Możesz jasno zidentyfikować składnik zapisywania, który napotkał problem, korzystając ze źródła zdarzeń. Pierwszy błąd pochodzi z SqlServerWriter. Drugi błąd pochodzi z MSDEWriter. Jeśli korzystasz z funkcji śledzenia programu SQL Profiler, a w śledzeniu jest uwzględnione zdarzenie nieudanego logowania , w przypadku tego zdarzenia są przechwytywane następujące informacje.
Program SQL Server 2005
SQL Server 2000
Możesz jasno zidentyfikować składnik zapisywania, który próbuje ustanowić połączenie, korzystając z identyfikatora procesu klienta. Z powodu rygorystycznych wymagań dotyczących zabezpieczeń instalacje programu SQL Server mogły usunąć grupę BUILTIN\Administrators ze identyfikatorów logowania programu SQL Server. Jeśli wystąpi ten problem, należy upewnić się, że konto usługi NT NT\SYSTEM ma udzielony dostęp do programu SQL Server. Aby to zrobić, musisz dodać go jako jawną nazwę użytkownika. Ponadto ze względu na typy operacji, które składnik zapisywania musi wykonać, zalecamy, aby nie usuwać logowania NT NT\SYSTEM z roli serwera sysadmin. Nawet jeśli program MSDEWriter i zapisywarka SqlServerWriter mogą pomyślnie logować się do programu SQL Server, mogą napotkać następujący komunikat o błędzie, jeśli nie masz wystarczających uprawnień do zbadania tabel systemowych lub widoków wykazu zawierających informacje o bazach danych i plikach należących do bazy danych:
Typ zdarzenia: Źródło ErrorEvent: VSSEvent Category: NoneEvent ID: 6013Date: 9/4/2006Time: 9:09:43 PMUser: N/AComputer: nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania ICommandText:: Execute. HR = 0x80040e09. SQLSTATE: 42000, błąd macierzysty: 229 stan błędu: 5; ważność: 14Source: Microsoft OLE DB Provider for SQL ServerError, komunikat "odmowa uprawnień na obiekcie" sysaltfiles ", baza danych Master, właściciel" dbo ".
Aby uniknąć tego komunikatu o błędzie, upewnij się, że przypisano odpowiednie uprawnienia do konta w programie SQL Server. Na przykład Dodaj to konto do roli bazy danych db_datareader w głównej bazie danych.

Problemy z połączeniem

Ten rodzaj problemu występuje, gdy moduł zapisujący nie może nawiązać połączenia SQL z wystąpieniami programu SQL Server. Przydzielonego autora próbuje nawiązać połączenie z określonym wystąpieniem programu SQL Server, które jest obecnie uruchomione. W przypadku wystąpienia problemu z nawiązaniem połączenia w dzienniku zdarzeń systemu Windows są rejestrowane następujące komunikaty o błędach.
Wiadomość 1
Typ zdarzenia: Źródło ErrorEvent: SQLWRITEREvent Category: NoneEvent ID: 24583Date: 4/30/2006Time: 12:11:06 PMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80004005. SQLSTATE: HYT00, błąd macierzysty: 0Source: Microsoft SQL Native ClientError komunikat: limit czasu logowania wygasł SQLSTATE: 08001, błąd macierzysty: 2Source: Microsoft SQL Native ClientError komunikat: Wystąpił błąd podczas nawiązywania połączenia z serwerem. Podczas łączenia się z programem SQL Server 2005 ten błąd może być spowodowany tym, że w ustawieniach domyślnych program SQL Server nie zezwala na połączenia zdalne. SQLSTATE: 08001, błąd macierzysty: 2 stan błędu: 1; ważność: 16Source: Microsoft SQL Native ClientError komunikat: Dostawca nazwanych potoków: nie można otworzyć połączenia z programem SQL Server [2]. DBPROP_INIT_DATASOURCE: nazwakomputeraDBPROP_INIT_CATALOG: MASTERDBPROP_AUTH_INTEGRATED: SSPI
Wiadomość 2
Typ zdarzenia: Źródło ErrorEvent: SQLWRITEREvent Category: NoneEvent ID: 24583Date: 4/30/2006Time: 12:52:40 PMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80004005. SQLSTATE: HYT00, błąd macierzysty: 0Source: Microsoft SQL Native ClientError komunikat: limit czasu logowania wygasł SQLSTATE: 08001, błąd macierzysty: 10061Source: Microsoft SQL Native ClientError komunikat: Wystąpił błąd podczas nawiązywania połączenia z serwerem. Podczas łączenia się z programem SQL Server 2005 ten błąd może być spowodowany tym, że w ustawieniach domyślnych program SQL Server nie zezwala na połączenia zdalne. SQLSTATE: 08001, błąd macierzysty: 10061 stan błędu: 1; ważność: 16Source: Microsoft SQL Native ClientError komunikat: dostawca protokołu TCP: nie można nawiązać połączenia, ponieważ komputer docelowy aktywnie go odmawia. DBPROP_INIT_DATASOURCE: nazwakomputeraDBPROP_INIT_CATALOG: MASTERDBPROP_AUTH_INTEGRATED: SSPI
Wiadomość 3
Typ zdarzenia: Źródło ErrorEvent: SQLWRITEREvent Category: NoneEvent: 24583Date: 4/30/2006Time: 4:52:34 PMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80004005. SQLSTATE: HYT00, błąd macierzysty: 0Source: Microsoft SQL Native ClientError komunikat: limit czasu logowania wygasł SQLSTATE: 08001, błąd macierzysty: 2Source: Microsoft SQL Native ClientError komunikat: Wystąpił błąd podczas nawiązywania połączenia z serwerem. Podczas łączenia się z programem SQL Server 2005 ten błąd może być spowodowany tym, że w ustawieniach domyślnych program SQL Server nie zezwala na połączenia zdalne. SQLSTATE: 08001, błąd macierzysty: 2 stan błędu: 1; ważność: 16Source: Microsoft SQL Native ClientError komunikat: Dostawca pamięci współdzielonej: nie można otworzyć połączenia z programem SQL Server [2]. DBPROP_INIT_DATASOURCE: nazwakomputeraDBPROP_INIT_CATALOG: MASTERDBPROP_AUTH_INTEGRATED: SSPI
Wiadomość 4
Typ zdarzenia: Źródło ErrorEvent: VSSEvent Category: NoneEvent ID: 6013Date: 4/30/2006Time: 12:11:06 PMUser: N/AComputer:nazwa_komputeraopis: Błąd Sqllib: Napotkano błąd OLEDB podczas wywoływania IDBInitialize:: Initialize. HR = 0x80004005. SQLSTATE: 08001, błąd: 17 stan błędu: 1; ważność: 16Source: Microsoft OLE DB Provider for SQL ServerError Message: [DBNETLIB] [ConnectionOpen (Connect ()).] Program SQL Server nie istnieje lub odmówiono do niego dostępu.
W poprzednich komunikatach o błędach należy zwrócić szczególną uwagę na autora, protokół, który jest wykorzystywany do połączenia, oraz zwracany komunikat o błędzie. Te błędy nie są rejestrowane w śledzeniu programu SQL Profiler dla zdarzeń logowania inspekcji . Przyczyny problemów z połączeniem mogą być następujące:
  • Aliasy na komputerze są skonfigurowane z nieprawidłowymi informacjami.
  • Brak wspólnego protokołu używanego przez klienta do łączenia się z serwerem i nasłuchiwania go.
  • Konfiguracja składników Microsoft Data Access Components (MDAC) lub Konfiguracja klienta SQL Native Access Client (SNAC) na komputerze została zmieniona.
  • Na określonych platformach lub w niektórych wersjach programu SQL Server występują problemy z protokołem.
Aby uzyskać więcej informacji na temat połączeń proglems, odwiedź następującą witrynę sieci Web:

Izolowanie problemów z połączeniem

Jeśli wystąpi którykolwiek z tych problemów i chcesz uzyskać więcej informacji, nie musisz wielokrotnie uruchamiać aplikacji kopia zapasowa. Możesz użyć narzędzia wiersza polecenia administracyjnego usługi VSS (vssadmin. exe). Aby upewnić się, że używasz tych samych poświadczeń i ustawień, które są używane przez program VSS, wykonaj poniższe czynności w celu uruchomienia ćwiczeń symulacyjnych. Uwaga Poniższe czynności pozwalają na otwarcie wiersza polecenia przy użyciu poświadczeń konta usługi NT NT\SYSTEM. Moduły te będą również korzystać z konta usługi NT NT\SYSTEM.
  1. Upewnij się, że jest uruchomiona usługa Harmonogram zadań.
  2. Jeśli korzystasz z połączenia usług terminalowych lub połączenia z pulpitem zdalnym, upewnij się, że logujesz się do sesji konsoli.
  3. W wierszu polecenia wpisz następujące polecenie:
    at 14:05/Interactive cmd. exe
    Uwaga Upewnij się, że godzina określona w tym poleceniu jest przed aktualnym czasem systemowym na komputerze. Po przekroczeniu określonego czasu zostanie wyświetlony nowy wiersz polecenia. Jest podobna do następującej:
    C:\Windows\System32\svchost.exe
  4. W nowym wierszu polecenia wpisz następujące polecenie:
    Vssadmin List Writers
  5. Przejrzyj wyniki w celu określenia, które moduły zapisujące są na liście, oraz stan tych autorów, szczególnie MSDEWriter i SqlServerWriter.Uwaga Jeśli wystąpił problem z wyliczaniem metadanych, moduły zapisujące nie będą wyświetlane na liście. Należy upewnić się, że w danych wyjściowych narzędzia vssadmin nie ma odpowiedniego składnika zapisywania. To musi nastąpić, zanim aplikacja do tworzenia kopii zapasowych będzie mogła użyć składnika zapisywania w trakcie tworzenia migawki.
W przypadku każdego wystąpienia programu SQL Server musisz sprawdzić dziennik błędów programu SQL Server, aby zrozumieć, które protokoły obecnie nasłuchują tego wystąpienia programu SQL Server. Poniżej wymieniono typowe wpisy, które należy zwrócić poniżej.
Program SQL Server 2005
2006-04-29 13:00:59.31 spid4s Server Name to "nazwa_komputera". Jest to tylko komunikat informacyjny. Nie jest wymagane wykonanie jakiejkolwiek czynności przez użytkownika. 2006 – 04 – 29 13:01: serwer 00.57 Server nasłuchuje na ["any" <IPv4> 1433]. 2006-04-29 13:01: dostawca połączeń lokalnych serwera 00.59 jest gotowy do akceptowania połączenia w dniu [\\.\pipe\SQLLocal\MSSQLSERVER]. 2006-04-29 13:01: dostawca połączeń lokalnych serwera 00.59 Server jest gotowy do akceptowania połączenia z [\\.\pipe\sql\query]. 2006-04-29 13:01:00.60 serwer SQL Server jest już gotowy do obsługi połączeń z klientami.> < Jest to komunikat informacyjny; nie jest wymagane wykonanie jakiejkolwiek czynności przez użytkownika.
SQL Server 2000
2006-04-30 11:23:08.18 spid3 Server Name to "ComputerName\SQL2000". 2006 – 04-30 11:23:08.18 Server SQL Server nasłuchiwanie na 172.30.137.50:2012.2006-04-30 11:23:08.18 Server SQL Server nasłuchiwanie na adres 127.0.0.1:2012.2006, program SQL Server w wersji, z serwerem SQL Server w wersji 23:08.37 serwer SQL Server jest gotowy do połączeń klientów
Po przejrzeniu poprzednich przykładów należy zauważyć, że wystąpienia programu SQL Server nasłuchują na następujących trzech protokołach:
  • PROTOKOŁ
  • Nazwane potoki
  • Pamięć współużytkowana
Jeśli skonfigurowano określone protokoły, mogą wystąpić sytuacje, w których serwer nie nasłuchuje. Czasami nawet jeśli skonfigurowano określony zestaw protokołów do nasłuchiwania na serwerze, serwer może nie być w stanie nasłuchiwać wszystkich z nich. Może to być spowodowane problemami z środowiskiem na serwerze. Trzeba więc zapoznać się z protokołami, które zostały skonfigurowane dla tego konkretnego wystąpienia programu SQL Server, aby nasłuchiwać. W przypadku programu SQL Server 2005 konieczne będzie użycie Menedżera konfiguracji programu SQL Server. W przypadku programu SQL Server 2000 musisz użyć narzędzia sieciowego serwera. teraz przejdziesz do części klient konfiguracji protokołu. Należy pamiętać o dwóch punktach konfiguracji klienta. Pierwszą z nich jest lista włączonych protokołów klienta. Drugi jest to kolejność, w jakiej protokoły klienta są używane do nawiązywania połączeń. Ustawienia domyślne różnią się w zależności od systemów operacyjnych i różnych wersji programu SQL Server. Zobacz odpowiednie tematy dotyczące książki online, aby uzyskać szczegółowe informacje na temat konfiguracji domyślnej. Najważniejszym punktem, w którym należy rozumieć, jest włączenie co najmniej jednego włączonego protokołu klienckiego zgodnego z protokołem serwera. Jedynym sposobem wymuszenia połączeń z modułu zapisującego do przechodzenia przez określony protokół jest skonfigurowanie aliasu na serwerze. Ani struktura VSS, ani autorzy nie mają żadnych ustawień konfiguracji, w których można dostarczać informacje specyficzne dla połączenia lub specyficzne dla uwierzytelniania na potrzeby korzystania z komputera klienckiego. Możesz uruchomić następujący prosty test, aby ustalić, który protokół jest używany w przypadku połączeń domyślnych z określonym wystąpieniem programu SQL Server:
  1. Upewnij się, że jest uruchomiona usługa Harmonogram zadań.
  2. Jeśli korzystasz z połączenia usług terminalowych lub połączenia z pulpitem zdalnym, upewnij się, że zalogowano się do sesji konsoli
  3. W wierszu polecenia wpisz następujące polecenie:
    at 14:05/Interactive cmd. exe
    Upewnij się, że czas określony w tym poleceniu jest przed czasem obecnej na komputerze klienckim.
  4. Po przekroczeniu określonego czasu zostanie otwarte nowe okno wiersza polecenia zawierające następującą nazwę:
    C:\Windows\System32\svchost.exe
    .
  5. W tym oknie Uruchom zapytanie dotyczące używanej wersji programu SQL Server:
    • W przypadku programu SQL Server 2005 Uruchom następujące zapytanie:
      sqlcmd -E –S<server> -Q"SELECT net_transport FROM sys.dm_exec_connections WHERE session_id = @@spid"
    • W przypadku programu SQL Server 2000 uruchom następujące zapytanie:
      osql -E –S<server> -Q"SELECT net_library FROM sysprocesses WHERE spid = @@spid"
  6. Dane wyjściowe tego zapytania będą przedstawiać informacje o tym, jaki protokół działa na komputerze klienckim. Zawsze może się zdarzyć, że kwerenda w kroku 5 nie powiedzie się i pojawi się komunikat o błędzie. Musisz rozwiązać ten błąd i rozwiązać ten problem, aby upewnić się, że wystąpienia klienta programu SQL Server na komputerze lokalnym mogą pomyślnie połączyć się z wystąpieniem programu SQL Server.
  7. Po uruchomieniu polecenia sqlcmd lub polecenia osql możesz wymusić nawiązywanie połączeń przy użyciu określonego protokołu, a następnie obserwować wynik. Aby to zrobić, należy nadać nazwę serwerowi parametrowi -S oraz protokół, który Cię interesuje. Na przykład trzy możliwości są następujące:
    • –Stcp:servername
    • –Snp:servername
    • –Slpc:servername
    Uwaga W tych przykładach nazwa serwera jest nazwą serwera.
Aby uzyskać więcej informacji na temat problemu występującego na komputerach z systemem Windows Server 2003 x64, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
913100 Poprawka: moduł zapisujący aparat MSDE nie jest uwzględniany podczas próby użycia narzędzia vssadmin. exe w celu wyszukania listy subskrybowanych modułów zapisujących kopii woluminów w tle
Aby uzyskać więcej informacji o tym, jak SqlServerWriter współdziała z usługą VSS i wystąpieniami programu SQL Server, odwiedź następującą witrynę firmy Microsoft w sieci Web: Aby uzyskać więcej informacji na temat usługi VSS i architektury programu VSS, odwiedź następującą witrynę Microsoft Developer Network (MSDN) w sieci Web:Aby uzyskać więcej informacji na temat zarządzania dostępem do programu SQL Server dla kont i grup systemu Windows, zobacz następujące tematy w programie SQL Server 2005 — książki internetowe:
  • Tworzenie logowania (Transact-SQL)
  • sp_grantlogin (informacje o języku Transact-SQL (program SQL Server)
Aby uzyskać więcej informacji na temat zarządzania protokołami, na których nasłuchuje program SQL Server w programie SQL Server 2005, odwiedź następującą witrynę MSDN w sieci Web: Aby uzyskać więcej informacji na temat zarządzania protokołami, na których nasłuchuje program SQL Server w programie SQL Server 2000, odwiedź następującą witrynę MSDN w sieci Web: Aby uzyskać więcej informacji na temat zarządzania kolejnością protokołu i listą protokołów, które mogą być używane w połączeniach klienckich w programie SQL Server 2005, odwiedź następującą witrynę MSDN w sieci Web: Aby uzyskać więcej informacji na temat zarządzania kolejnością protokołu i listą protokołów, które mogą być używane w połączeniach klienckich w programie SQL Server 2000, odwiedź następującą witrynę MSDN w sieci Web: Aby uzyskać więcej informacji na temat problemów z łącznością, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
827422 Jak rozwiązywać problemy z łącznością w programie SQL Server 2000
812817 Emisja internetowa pomocy technicznej: Microsoft SQL Server 2000: Rozwiązywanie problemów z łącznością
Aby upewnić się, że instalacja składników MDAC działa poprawnie i że biblioteki sieciowe są poprawnie zainstalowane, odwiedź następującą witrynę firmy Microsoft w sieci Web, aby pobrać narzędzie sprawdzania składników: Chcemy poSureshć na temat tego artykułu. Ma on dogłębny komfort korzystania z kilku produktów systemu Microsoft Windows Server i obsługuje klientów i problemy z debugowaniem. Mam nadzieję, że przysługuje Ci temat na ten miesiąc! Dziękujemy za czytanie! Jak zawsze, możesz przesłać pomysły dotyczące tematów, które mają być adresowane w następnych kolumnach lub w bazie wiedzy, przy użyciu formularza Zapytaj IT .