Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Podsumowanie
W farmie programu SharePoint może być konieczne przeprowadzenie migracji baz danych z jednego serwera z systemem SQL Server na inny. Jeśli nie używasz aliasu klienta SQL Server podczas instalacji programu SharePoint lub jeśli musisz zmienić nazwę serwera bazy danych z różnych powodów (na przykład po naruszeniu zabezpieczeń), wykonaj kroki opisane w tym artykule, aby zmienić serwer bazy danych.
Poprzez dobre planowanie i wysoką dostępność można wykonać te kroki w środowisku produkcyjnym bez konieczności zatrzymywania wszystkich usług.
Zmienianie serwera bazy danych
W tym artykule przyjęto założenie, że wszystkie bazy danych programu SharePoint są hostowane w jednym wystąpieniu SQL Server. Dostosuj parametry w tych krokach w razie potrzeby dla środowiska.
Przed rozpoczęciem utwórz kopię zapasową bazy danych konfiguracji na potrzeby rozwiązywania problemów w przypadku, gdy farma programu SharePoint stanie się niedostępna podczas wykonywania kroków.
Ważna
Przed rozpoczęciem upewnij się, że rozumiesz ten plan działania. Jeśli farma programu SharePoint stanie się całkowicie niedostępna lub baza danych konfiguracji zostanie uszkodzona, będzie trzeba przywrócić funkcjonalność z najnowszej kopii zapasowej farmy.
Krok 1. Tworzenie nowego aliasu SQL na wszystkich serwerach programu SharePoint w farmie
Aby to zrobić, wykonaj następujące kroki.
- Upewnij się, że używasz konta użytkownika należącego do następujących elementów:
- Grupa Administratorzy
- Rola db_owner stałej bazy danych
- Uruchom narzędzie sieciowe klienta SQL Server (cliconfg.exe). To narzędzie zwykle znajduje się w folderze C:\Windows\SysWOW64 (32-bitowy) lub C:\Windows\System32 (64-bitowy).
- Na karcie Ogólne sprawdź, czy protokół TCP/IP jest włączony.
- Na karcie Alias kliknij pozycję Dodaj.
Uwaga Zostanie wyświetlone okno Dodawanie konfiguracji biblioteki sieciowej . - W polu Alias serwera wprowadź nazwę nowego aliasu SQL Server.
- W obszarze Biblioteki sieciowe kliknij pozycję TCP/IP.
- W polu Nazwa serwera w obszarze Parametry połączenia wprowadź w pełni kwalifikowaną nazwę domeny nowego serwera, na SQL Server, a następnie kliknij przycisk OK.
- Powtórz kroki od 2 do 7 na wszystkich serwerach programu SharePoint, które łączą się z wystąpieniem SQL Server hostującym bazy danych.
Krok 2. Wskaż bazy danych programu SharePoint na nowy alias SQL
Ten krok zmienia wskaźnik wystąpienia SQL Server we wszystkich bazach danych programu SharePoint. Jeśli chcesz przechowywać bazy danych w różnych wystąpieniach SQL Server, odpowiednio zmodyfikuj skrypt.
Ważna
Baza danych konfiguracji programu SharePoint i baza danych zawartości administracji centralnej muszą znajdować się w tym samym wystąpieniu SQL Server.
Aby zmienić wskaźnik wystąpienia SQL Server, uruchom następujący skrypt programu PowerShell w oknie powłoki zarządzania programu SharePoint z podwyższonym poziomem uprawnień:
$SPDBs = Get-SPDatabase
ForEach ($DB in $SPDBs)
{
$DB.ChangeDatabaseInstance('SPSQLRenamed')
}
Aby zweryfikować zmianę, uruchom następujące polecenie cmdlet programu PowerShell w oknie powłoki zarządzania programu SharePoint z podwyższonym poziomem uprawnień:
Get-SPDatabase | Select Name,Server
Powinien zostać wyświetlony wynik podobny do następującego przykładu:
Krok 3. Wskaż domyślne wystąpienie bazy danych dla aplikacji internetowych na nowe wystąpienie SQL Server
Ten krok jest wymagany, aby podczas tworzenia baz danych bez określania serwera bazy danych nie łączyły się one ze starym wystąpieniem SQL Server.
Poniższy plan akcji wskazuje wszystkie bazy danych na to samo wystąpienie SQL Server (to, które obsługuje bazę danych konfiguracji). Zmodyfikuj ten skrypt, aby był zgodny z wymaganiami.
Uruchom następujący skrypt programu PowerShell w oknie powłoki zarządzania programu SharePoint z podwyższonym poziomem uprawnień:
$ConfigDB = Get-SPDatabase | ?{$_.Name -eq 'SharePoint_Config'}
$WebApps = Get-SPWebApplication -IncludeCentralAdministration
ForEach ($WebApp in $WebApps)
{
$WebApp.Parent.DefaultDatabaseInstance = $ConfigDB.ServiceInstance
$webapp.Parent.Update()
$webapp.Update()
}
Aby zweryfikować zmianę, uruchom następujące polecenie cmdlet programu PowerShell w oknie powłoki zarządzania programu SharePoint z podwyższonym poziomem uprawnień:
$webapps = Get-SPWebApplication -IncludeCentralAdministration
foreach ($webapp in $webapps)
{
Write-host "WebAppUrl: $($webapp.DisplayName)`tDefaultDatabaseInstance: $($webapp.Parent.DefaultDatabaseInstance.DisplayName)"
}
Powinien zostać wyświetlony wynik podobny do następującego przykładu:
Krok 4. Zmiana konfiguracji klastra rozproszonej pamięci podręcznej
Ważna
W tym kroku opisano sposób bezpośredniego modyfikowania bazy danych konfiguracji programu SharePoint. Bezpośrednie modyfikowanie bazy danych zwykle nie jest obsługiwane w przypadku większości baz danych związanych z programem SharePoint. Akcje określone w tym miejscu są dozwolone tylko w tym konkretnym celu. Nie udzielamy uprawnień do korzystania z tych kroków w celu wprowadzania innych zmian.
Aby to zrobić, wykonaj następujące kroki.
Pobierz bieżący obiekt konfiguracji z serwera uruchomionego SQL Server przy użyciu następującego zapytania SQL:
SELECT [ID],[Properties] FROM [SharePoint_Config].[dbo].[Objects] WITH (NOLOCK) WHERE Properties like '%_cacheConfigStorageLocation%'
Zapytanie zwraca pojedynczy wiersz z dwiema kolumnami. Jedna kolumna jest dla identyfikatora GUID elementu konfiguracji, a druga dotyczy zawartości elementu konfiguracji, jak w poniższym przykładzie:
<object type="Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterInfo, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=Token"><fld type="Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterConfigStorageLocation, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=Token" name="_cacheConfigStorageLocation"><object type="Microsoft.SharePoint.DistributedCaching.Utilities.SPDistributedCacheClusterConfigStorageLocation, Microsoft.SharePoint, Version=16.0.0.0, Culture=neutral, PublicKeyToken=Token"><sFld type="String" name="_provider">SPDistributedCacheClusterProvider</sFld><sFld type="String" name="_connectionString">Data Source=SPSQLRenamed;Initial Catalog=SharePoint_Config;Integrated Security=True;Persist Security Info=False;Enlist=False;Pooling=True;Min Pool Size=0;Max Pool Size=100;PoolBlockingPeriod=Auto;Asynchronous Processing=False;Connection Reset=True;MultipleActiveResultSets=False;Replication=False;Connect Timeout=15;Encrypt=False;TrustServerCertificate=False;Load Balance Timeout=0;Packet Size=8000;Type System Version=Latest;Application Name=".Net SqlClient Data Provider";User Instance=False;Context Connection=False;Transaction Binding="Implicit Unbind";ApplicationIntent=ReadWrite;MultiSubnetFailover=False;TransparentNetworkIPResolution=True;ConnectRetryCount=1;ConnectRetryInterval=10;Column Encryption Setting=Disabled</sFld></object></fld><sFld type="String" name="_clusterSize">medium</sFld><sFld type="Boolean" name="_enableHA">False</sFld><sFld type="Boolean" name="_isInitialized">True</sFld><sFld type="Boolean" name="_isDataCacheSecurityEnabled">False</sFld><sFld type="Boolean" name="m_DeploymentLocked">False</sFld><fld type="System.Collections.Hashtable, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=Token" name="m_UpgradedPersistedFields" /><fld name="m_Properties" type="null" /><sFld type="String" name="m_LastUpdatedUser">SP2016\Administrator</sFld><sFld type="String" name="m_LastUpdatedProcess">psconfigui (3536)</sFld><sFld type="String" name="m_LastUpdatedMachine">SP16APP1</sFld><sFld type="DateTime" name="m_LastUpdatedTime">Time</sFld><fld name="m_LastUpdatedStackTrace" type="null" /><sFld type="Int32" name="m_LastUpdatedThreadId">31</sFld><sFld type="Guid" name="m_LastUpdatedCorrelationId">CorrelationId</sFld></object>.
Skopiuj wynik do Notatnika, a następnie zastąp następujące polecenie nowym wystąpieniem SQL Server:
Data Source=SPSQLRenamed;Initial Catalog=SharePoint_Config;
Uruchom następujące polecenie SQL, aby zaktualizować obiekt konfiguracji:
UPDATE Objects SET Properties = '[content in Notepad]' WHERE ID = '[GUID of the configuration object in the query result]'
Krok 5. Ponowne aprowizowanie usługi rozproszonej pamięci podręcznej na wszystkich serwerach rozproszonej pamięci podręcznej
Aby to zrobić, wykonaj następujące kroki.
Na jednym z serwerów rozproszonej pamięci podręcznej bezpiecznie zamknij usługę, uruchamiając następujące polecenie cmdlet programu PowerShell w wierszu polecenia programu PowerShell z podwyższonym poziomem uprawnień:
Use-CacheCluster Stop-CacheHost -Graceful -CachePort 22233 -ComputerName $env:COMPUTERNAME
Poczekaj, aż usługa zostanie zatrzymana. Stan można monitorować przy użyciu następującego polecenia cmdlet programu PowerShell:
Get-CacheHost
Po zatrzymaniu usługi powinien zostać wyświetlony wynik podobny do następującego przykładu:
Usuń serwer lokalny z klastra rozproszonej pamięci podręcznej, uruchamiając następujące polecenie cmdlet programu PowerShell:
Remove-SPDistributedCacheServiceInstance
Przywróć serwer lokalny do klastra rozproszonej pamięci podręcznej, uruchamiając następujące polecenie cmdlet programu PowerShell:
Add-SPDistributedCacheServiceInstance
Otwórz Redaktor rejestru, a następnie sprawdź, czy wartość ConnectionString klucza HKLM\SOFTWARE\Microsoft\AppFabric\V1.0\Configuration została zaktualizowana. Oto przykład:
Powtórz krok od 1 do 5 na każdym z pozostałych serwerów w klastrze rozproszonej pamięci podręcznej.
Krok 6. Usuwanie odwołania do starego serwera
W tym celu uruchom następujące polecenie cmdlet programu PowerShell w oknie powłoki zarządzania programu SharePoint z podwyższonym poziomem uprawnień:
$OldServer = Get-SPServer | ?{$_.Address -eq '<The name of the SQL Server to be removed>'}
$OldServer.Delete()
Krok 7. Weryfikowanie zmiany
Aby sprawdzić, czy serwer bazy danych został pomyślnie zmieniony, uruchom następujące polecenie cmdlet:
Get-SPServer
Powinien zostać wyświetlony wynik podobny do następującego przykładu:
Więcej informacji
Nadal potrzebujesz pomocy? Przejdź do witryny SharePoint Community.