09.11.2018, Vladimír Klaus, navštíveno 2574x

SQL
SQL Server

Pokud potřebujete přenést tvorbu databáze a tabulek na jiný server pomocí skriptu, je postup jasný a jednoduchý. V SQL Server Management Studiu se klikne pravým tlačítkem na databázi a vyvolá:

Tasks > Generate Scripts

Jak v SQL Server Management Studiu generovat script včetně fulltextového katalogu a indexů, obr. 1

Objeví se průvodce, kde si buď necháte vygenerovat vše nebo jen něco. Jenže často tam chybí informace týkající se fulltextu.

Jak v SQL Server Management Studiu generovat script včetně fulltextového katalogu a indexů, obr. 2

Proto si zkontrolujte nastavení Script full-text catalogs.

Tools > Options - SQL Server Object Explorer > Scripting

Jak v SQL Server Management Studiu generovat script včetně fulltextového katalogu a indexů, obr. 3

Pokud to tedy zapnete, dočkáte se jen velmi nenápadného skriptu, který sice způsobí založení katalogu, ale bez fulltextových indexů je katalog celkem k ničemu.

/****** Object: FullTextCatalog [emaily_catalog] ******/
CREATE FULLTEXT CATALOG [emaily_catalog] WITH ACCENT_SENSITIVITY = OFF
GO

Takže pak ještě nezapomeňte zapnout Script full-text indexes.

Jak v SQL Server Management Studiu generovat script včetně fulltextového katalogu a indexů, obr. 4

Pak už bude ve výsledném skriptu to hlavní - tedy jak jsou indexy nastavené.

/****** Object: FullTextIndex Script ******/
CREATE FULLTEXT INDEX ON [dbo].[Emaily](
[Odesilatel] LANGUAGE 'Czech', 
[OdesilatelJmeno] LANGUAGE 'Czech', 
[PlainText] LANGUAGE 'Czech', 
[Predmet] LANGUAGE 'Czech', 
[Prijemci] LANGUAGE 'Czech')
KEY INDEX [PK_Emaily]ON ([emaily_catalog], FILEGROUP [PRIMARY])
WITH (CHANGE_TRACKING = AUTO, STOPLIST = SYSTEM)

A proč to všechno zmiňuji? Především proto, že z průvodce není patrné, zda tam skript pro indexy je nebo není a pokud si s touto záležitostí hrajete poprvé, můžete si říkat, že SSMS funguje špatně a neumí vytvořit opravdu kompletní skript pro tvorbu databáze a všech objektů.

Jak v SQL Server Management Studiu generovat script včetně fulltextového katalogu a indexů, obr. 5

Dodatek 24.8.2024: V SSMS 20.2 (možná i v jiných verzích) se fulltextové indexy negenerovaly, když se negenerovaly i příslušné tabulky. Pro jistotu je tedy lepší nechat vygenerovat kompletní skript a nevybírat jen fulltext.