Ruční zálohování Azure DevOps Server
Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019
Data pro Azure DevOps Server můžete ručně zálohovat pomocí nástrojů, které SQL Server poskytují. Pokud ale vaše nasazení má bezpečnostní omezení, která brání použití těchto nástrojů, může být nutné nakonfigurovat zálohování ručně.
Pokud chcete ručně zálohovat Azure DevOps, zálohujte všechny databáze, které nasazení používá, a také synchronizujte zálohy do stejného bodu v čase. Tuto synchronizaci můžete spravovat nejúčeněji, pokud používáte označené transakce. Pokud pravidelně označíte související transakce v každé databázi, kterou Azure DevOps používá, vytvoříte v těchto databázích řadu běžných bodů obnovení. Pokud tyto databáze pravidelně zálohujete, snížíte riziko ztráty produktivity nebo dat kvůli selhání zařízení nebo jiným neočekávaným událostem.
Upozornění
Žádnou z databází Azure DevOps Server byste neměli upravovat ručně, pokud k tomu nebudete vyzváni podpora Microsoftu nebo pokud nedodržujete postupy popsané v tomto dokumentu. Jakékoli jiné úpravy můžou zneplatnit platnost vaší smlouvy o poskytování služeb.
Postupy v tomto článku vysvětlují, jak vytvořit plány údržby, které provádějí úplné nebo přírůstkové zálohování databází, a jak vytvořit tabulky a uložené procedury pro označené transakce. Pro maximální ochranu dat byste měli naplánovat spouštění úplných záloh denně nebo týdně a přírůstkové zálohování tak, aby se spouštěly po hodinách. Můžete také zálohovat protokoly transakcí. Další informace najdete v tématu Zálohování transakčního protokolu (SQL Server).
Poznámka
Mnoho postupů v tomto článku určuje použití SQL Server Management Studio. Pokud jste nainstalovali SQL Server Express Edition, musíte použít SQL Server Management Studio Express. Další informace najdete v tématu Stažení SQL Server Management Studio (SSMS).
Požadavky
Musíte být členem všech následujících skupin:
- Skupina zabezpečení Administrators na serveru, na kterém je spuštěna konzola pro správu pro Azure DevOps Server.
- Skupina zabezpečení správce systému SQL Server. Případně SQL Server oprávnění Provést zálohování a Vytvořit plán údržby musí být nastavená na Povolit pro každou instanci SQL Server, která je hostitelem databází, které chcete zálohovat.
Zálohování šifrovacího klíče služby Reporting Services
Pokud vaše nasazení používá SQL Server Reporting Services, musíte zálohovat nejen databáze, ale také šifrovací klíč.
V případě nasazení Azure DevOps Server s jedním serverem můžete šifrovací klíč pro SQL Server Reporting Services zálohovat dvěma způsoby. Můžete použít konfigurační nástroj služby Reporting Services nebo nástroj příkazového řádku RSKEYMGMT od SQL Server. Pro nasazení na více serverech nebo v clusteru musíte použít RSKEYMGMT. Další informace o nástroji RSKEYMGMT naleznete v tématu Nástroj RSKEYMGMT.
Další informace o zálohování šifrovacího klíče najdete v tématu Správa (Reporting Services). Další informace o obnovení šifrovacího klíče najdete v tématu Obnovení šifrovacího klíče (konfigurace služby Reporting Services).
Požadavky
Chcete-li provést tento postup, musíte být členem skupiny místních správců , která má roli správce obsahu ve službě Reporting Services, nebo musí být vaše oprávnění zabezpečení Spravovat server sestav nastaveno na hodnotu Povolit.
Zálohujte šifrovací klíč.
Postup zálohování šifrovacího klíče pomocí konfiguračního nástroje služby Reporting Services:
Na serveru, na kterém běží služba Reporting Services, vyberte Start, přejděte na Všechny programy, přejděte na Microsoft SQL Server, přejděte na Konfigurační nástroje a pak vyberte Reporting Services Configuration Manager.
Otevře se dialogové okno Výběr instance instalace serveru sestav .
Zadejte název serveru datové vrstvy a instance databáze a pak vyberte Připojit.
Na navigačním panelu na levé straně vyberte Šifrovací klíče a pak vyberte Zálohovat.
Otevře se dialogové okno Informace o šifrovacím klíči .
V části Umístění souboru zadejte umístění, kam chcete uložit kopii tohoto klíče.
Měli byste zvážit uložení tohoto klíče na jiném počítači, než na kterém běží služba Reporting Services.
Do pole Heslo zadejte heslo k souboru.
V části Potvrdit heslo znovu zadejte heslo k souboru.
Vyberte OK.
Identifikace databází
Než začnete, identifikujte všechny databáze, které budete muset zálohovat, aby bylo možné plně obnovit nasazení. To zahrnuje databáze pro SQL Server Reporting Services. Ty můžou být na stejném serveru nebo můžete mít databáze distribuované mezi více serverů. Úplnou tabulku a popis Azure DevOps Server databází včetně výchozích názvů databází najdete v tématu Principy Azure DevOps Server databází, topologií nasazení a zálohování.
Identifikace databází
Otevřete SQL Server Management Studio a připojte se k databázovému stroji.
V SQL Server Management Studio v Průzkumník objektů rozbalte název serveru a pak databáze.
Projděte si seznam databází a identifikujte databáze, které používá vaše nasazení.
Například nasazení Azure DevOps Server společnosti Fabrikam, Inc. je konfigurace s jedním serverem a používá následující databáze:
- konfigurační databáze (Tfs_Configuration)
- databáze kolekce (Tfs_DefaultCollection)
- databáze datového skladu (Tfs_Warehouse)
- databáze sestav (ReportServer a ReportServerTempDB)
Vytváření tabulek v databázích
Pokud chcete zajistit, aby všechny databáze byly obnoveny do stejného bodu, můžete v každé databázi vytvořit tabulku pro označení transakcí. Pomocí funkce Query v SQL Server Management Studio vytvořte v každé databázi odpovídající tabulku.
Vytváření tabulek pro označování souvisejících transakcí
Otevřete SQL Server Management Studio a připojte se k databázovému stroji.
V SQL Server Management Studio zvýrazněte název serveru, otevřete podnabídku a pak vyberte Nový dotaz.
Otevře se okno Editor Power Query databázový stroj.
V nabídce Dotaz vyberte Režim SQLCMD.
Editor Power Query provádí příkazy sqlcmd v kontextu Editor Power Query. Pokud se nabídka Dotaz nezobrazí, vyberte kdekoli v novém dotazu v okně Editor Power Query Databázový stroj.
Na panelu nástrojů sql Editor otevřete seznam Dostupné databáze a pak vyberte TFS_Configuration.
Poznámka
TFS_Configuration je výchozí název konfigurační databáze. Tento název je přizpůsobitelný a může se lišit.
V okně dotazu zadejte následující skript, který vytvoří tabulku v konfigurační databázi:
Use Tfs_Configuration Create Table Tbl_TransactionLogMark ( logmark int ) GO Insert into Tbl_TransactionLogMark (logmark) Values (1) GO
Stisknutím klávesy F5 spusťte skript.
Pokud je skript správný, zobrazí se v Editor Power Query zpráva "(1 řádek)".
(Volitelné) Uložte skript.
Opakujte kroky 4 až 7 pro každou databázi v nasazení Azure DevOps Server. V ukázkovém nasazení společnosti Fabrikam, Inc. byste tento proces zopakovali pro všechny následující databáze:
- Tfs_warehouse
- Tfs_DefaultCollection
- ReportServer
- Reportservertempdb
Vytvoření uložené procedury pro označování tabulek
Po vytvoření tabulek v každé databázi, kterou chcete zálohovat, musíte vytvořit postup pro označení tabulek.
V SQL Server Management Studio otevřete okno dotazu a ujistěte se, že je zapnutý režim SQLCMD.
Na panelu nástrojů sql Editor otevřete seznam Dostupné databáze a pak vyberte TFS_Configuration.
V okně dotazu zadejte následující skript, který vytvoří uloženou proceduru pro označení transakcí v konfigurační databázi:
Create PROCEDURE sp_SetTransactionLogMark @name nvarchar (128) AS BEGIN TRANSACTION @name WITH MARK UPDATE Tfs_Configuration.dbo.Tbl_TransactionLogMark SET logmark = 1 COMMIT TRANSACTION GO
Stisknutím klávesy F5 spusťte proceduru.
Pokud je postup správný, zobrazí se v Editor Power Query zpráva "Příkazy byly úspěšně dokončeny.".
(Volitelné) Uložte postup.
Opakujte kroky 2–5 pro každou databázi Azure DevOps Server. V nasazení společnosti Fabrikam, Inc. byste tento proces zopakovali pro všechny následující databáze:
- Tfs_warehouse
- Tfs_DefaultCollection
- ReportServer
- Reportservertempdb
Tip
Před vytvořením postupu vyberte název přidružené databáze ze seznamu Dostupné databáze v Průzkumník objektů. V opačném případě se při spuštění skriptu zobrazí chyba, že uložená procedura již existuje.
Vytvoření uložené procedury pro označení všech tabulek najednou
Abyste měli jistotu, že jsou všechny databáze označené, můžete vytvořit proceduru, která spustí všechny procedury, které jste právě vytvořili pro označení tabulek. Na rozdíl od předchozích postupů se tento postup spouští pouze v konfigurační databázi.
V SQL Server Management Studio otevřete okno dotazu a ujistěte se, že je zapnutý režim SQLCMD.
Na panelu nástrojů SQL Editor otevřete seznam Dostupné databáze a pak vyberte TFS_Configuration.
V okně dotazu vytvořte uloženou proceduru, která spustí uložené procedury vytvořené v každé databázi, kterou Azure DevOps Server používá. Nahraďte ServerName názvem serveru, na kterém běží SQL Server, a nahraďte Tfs_CollectionName názvem databáze pro každou kolekci projektů.
V ukázkovém nasazení je název serveru FABRIKAMPRIME a v nasazení je pouze jedna kolekce projektů, výchozí kolekce vytvořená při instalaci Azure DevOps Server (DefaultCollection). S ohledem na to byste vytvořili následující skript:
CREATE PROCEDURE sp_SetTransactionLogMarkAll @name nvarchar (128) AS BEGIN TRANSACTION EXEC [FABRIKAMPRIME].Tfs_Configuration.dbo.sp_SetTransactionLogMark @name EXEC [FABRIKAMPRIME].ReportServer.dbo.sp_SetTransactionLogMark @name EXEC [FABRIKAMPRIME].ReportServerTempDB.dbo.sp_SetTransactionLogMark @name EXEC [FABRIKAMPRIME].Tfs_DefaultCollection.dbo.sp_SetTransactionLogMark @name EXEC [FABRIKAMPRIME].Tfs_Warehouse.dbo.sp_SetTransactionLogMark @name COMMIT TRANSACTION GO
Stisknutím klávesy F5 spusťte proceduru.
Poznámka
Pokud jste nerestartovali SQL Server Management Studio od vytvoření uložených procedur pro označování transakcí, může jedna nebo více červených vlnovek podtrhávat název serveru a názvy databází. Postup by však měl stále běžet.
Pokud je postup správný, zobrazí se v Editor Power Query zpráva Příkazy byly úspěšně dokončeny.
(Volitelné) Postup uložte.
Vytvoření uložené procedury pro automatické označování tabulek
Jakmile budete mít proceduru, která spustí všechny uložené procedury pro označení tabulky, můžete vytvořit proceduru, která označí všechny tabulky stejnou značkou transakce. Tuto značku použijete k obnovení všech databází do stejného bodu.
V SQL Server Management Studio otevřete okno dotazu a ujistěte se, že je zapnutý režim SQLCMD.
Na panelu nástrojů SQL Editor otevřete seznam Dostupné databáze a pak vyberte TFS_Configuration.
V okně dotazu zadejte následující skript pro označení tabulek pomocí TFSMark:
EXEC sp_SetTransactionLogMarkAll 'TFSMark' GO
Poznámka
TFSMark je příkladem značky. Ve značce můžete použít libovolnou posloupnost podporovaných písmen a číslic. Pokud máte v databázích více než jednu označenou tabulku, poznamenejte si, kterou značku použijete k obnovení databází. Další informace najdete v tématu Použití označených transakcí.
Stisknutím klávesy F5 spusťte proceduru.
Pokud je postup správný, zobrazí se v Editor Power Query zpráva (1 ovlivněných řádků). Možnost WITH MARK platí pouze pro první příkaz BEGIN TRAN WITH MARK pro každou tabulku, která byla označena.
Postup uložte.
Vytvoření naplánované úlohy pro spuštění procedury označování tabulek
Teď, když jste vytvořili a uložili všechny tyto procedury, naplánujte, aby se postup označování tabulek spustil těsně před plánovanými zálohami databází. Tuto úlohu byste měli naplánovat tak, aby se spustila přibližně minutu před spuštěním plánu údržby pro databáze.
V Průzkumník objektů rozbalte SQL Server Agent, otevřete nabídku Úlohy a pak vyberte Nová úloha.
Otevře se okno Nová úloha .
Do pole Název zadejte název úlohy. Jako název úlohy můžete například zadat MarkTableJob .
(Volitelné) V části Popis zadejte popis úlohy.
V části Vybrat stránku vyberte Kroky a pak vyberte Nový.
Otevře se okno Krok nové úlohy .
V části Název kroku zadejte název kroku.
V části Databáze vyberte název konfigurační databáze. Pokud například vaše nasazení používá pro tuto databázi výchozí název, TFS_Configuration vyberte tuto databázi z rozevíracího seznamu.
Vyberte Otevřít, přejděte k postupu, který jste vytvořili pro označení tabulek, dvakrát vyberte Otevřít a pak vyberte OK.
Poznámka
Postup, který jste vytvořili pro označení tabulek, spustí následující krok:
EXEC sp_SetTransactionLogMarkAll 'TFSMark'
V části Vybrat stránku vyberte Plány a pak vyberte Nový.
Otevře se okno Plán nové úlohy .
Do pole Název zadejte název plánu.
V části Frekvence změňte frekvenci tak, aby odpovídala plánu, který vytvoříte pro zálohování databází. Můžete například spouštět přírůstkové zálohování denně ve 2:00 a úplné zálohování v neděli ve 4:00. Pro označení databází pro přírůstkové zálohování byste změnili hodnotu Occurs na Denní. Když vytvoříte další úlohu, která označí databáze pro týdenní úplné zálohování, ponechte hodnotu Počet výskytůdenně a zaškrtněte políčko Neděle .
V části Denní frekvence změňte výskyt tak, aby se úloha spustila minutu před zálohováním databází, a pak vyberte OK. V ukázkovém nasazení byste v úloze pro přírůstkové zálohování zadali 1:59. V úloze pro úplné zálohování byste zadali 3:59.
V části Nová úloha vyberte OK a dokončete vytváření naplánované úlohy.
Vytvoření plánu údržby pro úplné zálohy
Po vytvoření naplánované úlohy pro označení databází můžete pomocí Průvodce plánem údržby naplánovat úplné zálohy všech databází, které vaše nasazení Azure DevOps Server používá.
Důležité
Pokud vaše nasazení používá edici Enterprise nebo Datacenter SQL Server, ale možná budete muset obnovit databáze na server s edicí Standard, musíte použít sadu záloh, která byla vytvořená s SQL Server zakázána komprese. Pokud kompresi dat nezakážete, nebudete moct obnovit databáze edice Enterprise nebo Datacenter na serveru se spuštěnou edicí Standard. Před vytvořením plánů údržby byste měli kompresi vypnout. Chcete-li vypnout kompresi, postupujte podle kroků v tomto článku znalostní báze Microsoft Knowledge Base.
V SQL Server Management Studio rozbalte uzel Správa, otevřete dílčí nabídku Plány údržby a pak vyberte Průvodce plánem údržby.
Na úvodní stránce Průvodce plánem údržby SQL Server vyberte Další.
Zobrazí se stránka Vybrat vlastnosti plánu .
Do pole Název zadejte název plánu údržby.
Můžete například vytvořit plán pro úplné zálohy s názvem TfsFullDataBackup.
Vyberte Jeden plán pro celý plán nebo žádný plán a pak vyberte Změnit.
V části Frekvence a Denní frekvence zadejte možnosti pro svůj plán. Můžete například zadat týdenní zálohování, které se má provést v neděli, v části Frekvence a zadat 4:00. v denní frekvenci.
V části Doba trvání ponechte výchozí hodnotu Bez koncového data. Vyberte OK a pak vyberte Další.
Na stránce Vybrat úlohy údržby zaškrtněte políčka Zálohovat databázi (úplná),Spustit SQL Server úlohu agenta a Zálohovat databázi (transakční protokol) a pak vyberte Další.
Na stránce Vybrat pořadí úloh údržby změňte pořadí tak, aby se nejprve spustilo úplné zálohování, pak úloha agenta a pak záloha transakčního protokolu a pak vyberte Další.
Další informace o tomto dialogovém okně získáte stisknutím klávesy F1 a také v části Průvodce plánem údržby.
Na stránce Definovat úlohu zálohování databáze (úplné) vyberte šipku dolů, vyberte Všechny databáze a pak vyberte OK.
Zadejte možnosti zálohování pro ukládání souborů na disk nebo pásku podle vašeho nasazení a prostředků a pak vyberte Další.
Na stránce Definovat úlohu spuštění SQL Server agenta zaškrtněte políčko pro naplánovanou úlohu, kterou jste vytvořili pro označení tabulky, a pak vyberte Další.
Na stránce Definovat úlohu Zálohování databáze (transakční protokol) vyberte šipku dolů, vyberte Všechny databáze a pak vyberte OK.
Zadejte možnosti zálohování pro ukládání souborů na disk nebo pásku podle potřeby pro vaše nasazení a prostředky a pak vyberte Další.
Na stránce Vybrat možnosti sestavy zadejte možnosti distribuce sestavy a pak dvakrát vyberte Další .
Na stránce Dokončit průvodce vyberte Dokončit.
SQL Server vytvoří plán údržby a zálohuje databáze, které jste zadali na základě zadané frekvence.
Vytvoření plánu údržby pro rozdílové zálohy
Pomocí Průvodce plánem údržby můžete naplánovat rozdílové zálohy pro všechny databáze, které vaše nasazení Azure DevOps Server používá.
Důležité
SQL Server Express nezahrnuje Průvodce plánem údržby. Plán rozdílových záloh musíte ručně skriptovat. Další informace najdete v tématu Vytvoření rozdílové zálohy databáze (Transact-SQL).
Přihlaste se k serveru, na kterém běží instance SQL Server obsahující databáze, které chcete zálohovat.
Otevřete SQL Server Management Studio.
V seznamu Typ serveru vyberte Databázový stroj.
V seznamech Název serveru a Ověřování vyberte příslušný server a schéma ověřování.
Pokud to vaše instance SQL Server vyžaduje, zadejte do polí Uživatelské jméno a Heslo přihlašovací údaje příslušného účtu.
Vyberte Connect (Připojit).
V SQL Server Management Studio rozbalte uzel Správa, otevřete dílčí nabídku, vyberte Plány údržby a pak vyberte Průvodce plánem údržby.
Na úvodní stránce Průvodce plánem údržby SQL Server vyberte Další.
Na stránce Vybrat vlastnosti plánu zadejte do pole Název název plánu údržby.
Můžete například pojmenovat plán pro rozdílové zálohy TfsDifferentialBackup.
Vyberte Jeden plán pro celý plán nebo žádný plán a pak vyberte Změnit.
V části Frekvence a Denní frekvence zadejte možnosti pro plán zálohování.
V části Doba trvání ponechte výchozí hodnotu Bez koncového data. Vyberte OK a pak vyberte Další.
Na stránce Vybrat úlohy údržby zaškrtněte políčko Zálohovat databázi (rozdílové) a pak vyberte Další.
Na stránce Definovat úlohu zálohování databáze (rozdílové) vyberte šipku dolů, vyberte Všechny databáze a pak vyberte OK.
Zadejte možnosti zálohování pro ukládání souborů na disk nebo pásku podle potřeby pro vaše nasazení a prostředky a pak vyberte Další.
Na stránce Vybrat možnosti sestavy zadejte možnosti distribuce sestavy a pak dvakrát vyberte Další .
Na stránce Dokončit průvodce vyberte Dokončit.
SQL Server vytvoří plán údržby a zálohuje databáze, které jste zadali na základě zadané frekvence.
Vytvoření plánu údržby pro protokoly transakcí
Průvodce plánem údržby můžete použít k naplánování zálohování transakčních protokolů pro všechny databáze, které vaše nasazení Azure DevOps Server používá.
Důležité
SQL Server Express nezahrnuje Průvodce plánem údržby. Plán zálohování transakčních protokolů musíte ručně skriptovat. Další informace najdete v tématu Vytvoření zálohování transakčních protokolů (Transact-SQL).
Přihlaste se k serveru, na kterém běží instance SQL Server obsahující databáze, které chcete zálohovat.
Otevřete SQL Server Management Studio.
V seznamu Typ serveru vyberte Databázový stroj.
V seznamech Název serveru a Ověřování vyberte příslušný server a schéma ověřování.
Pokud to vaše instance SQL Server vyžaduje, zadejte do polí Uživatelské jméno a Heslo přihlašovací údaje příslušného účtu.
Vyberte Connect (Připojit).
V SQL Server Management Studio rozbalte uzel Správa, otevřete podnabídku, vyberte Plány údržby a pak vyberte Průvodce plánem údržby.
Na úvodní stránce Průvodce plánem údržby SQL Server vyberte Další.
Zobrazí se stránka Vybrat vlastnosti plánu .
Do pole Název zadejte název plánu údržby.
Můžete například pojmenovat plán pro zálohování transakčních protokolů TfsTransactionLogBackup.
Vyberte Jeden plán pro celý plán nebo žádný plán a pak vyberte Změnit.
V části Frekvence a Denní frekvence zadejte možnosti pro svůj plán.
V části Doba trvání ponechte výchozí hodnotu Bez koncového data.
Vyberte OK a pak vyberte Další.
Na stránce Vybrat úlohy údržby zaškrtněte políčka Spustit SQL Server úlohu agenta a Zálohovat databázi (transakční protokol) a pak vyberte Další.
Na stránce Vybrat pořadí úloh údržby změňte pořadí tak, aby úloha agenta běžela před zálohováním transakčního protokolu, a pak vyberte Další.
Další informace o tomto dialogovém okně získáte stisknutím klávesy F1 a také v části Průvodce plánem údržby.
Na stránce Definovat úlohu spuštění SQL Server agenta zaškrtněte políčko pro naplánovanou úlohu, kterou jste vytvořili pro označení tabulky, a pak vyberte Další.
Na stránce Definovat úlohu Zálohování databáze (transakční protokol) vyberte šipku dolů, vyberte Všechny databáze a pak vyberte OK.
Zadejte možnosti zálohování pro ukládání souborů na disk nebo pásku podle potřeby pro vaše nasazení a prostředky a pak vyberte Další.
Na stránce Vybrat možnosti sestavy zadejte možnosti distribuce sestavy a pak dvakrát vyberte Další .
Na stránce Dokončit průvodce vyberte Dokončit.
SQL Server vytvoří plán údržby a zálohuje transakční protokoly pro zadané databáze na základě vybrané frekvence.
Zálohování šifrovacího klíče pro službu Reporting Services
V rámci zálohování systému musíte zálohovat šifrovací klíč pro službu Reporting Services. Bez tohoto šifrovacího klíče nebudete moct data sestav obnovit. V případě nasazení Azure DevOps Server na jeden server můžete zálohovat šifrovací klíč pro SQL Server Reporting Services pomocí konfiguračního nástroje služby Reporting Services. Můžete také použít nástroj příkazového řádku RSKEYMGMT , ale konfigurační nástroj je jednodušší. Další informace najdete v tématu o nástroji RSKEYMGMT.
Na serveru se spuštěnou službou Reporting Services otevřete Configuration Manager služby Reporting Services.
Otevře se dialogové okno Výběr instance instalace serveru sestav .
Zadejte název serveru datové vrstvy a instance databáze a pak vyberte Připojit.
V navigačním panelu na levé straně vyberte Šifrovací klíče a pak vyberte Zálohovat.
Otevře se dialogové okno Informace o šifrovacím klíči .
V části Umístění souboru zadejte umístění, kam chcete uložit kopii tohoto klíče.
Měli byste zvážit uložení tohoto klíče do samostatného počítače, než na kterém běží služba Reporting Services.
V části Heslo zadejte heslo k souboru.
V části Potvrdit heslo zadejte znovu heslo k souboru a pak vyberte OK.