Představte si, že máte existující databázi s hromadou dat která chcete převést do sady insert scriptů. Chcete třeba přenést data z MS SQL 2005 na starší verzi (takže nemůžete použít obnovu ze zálohy) nebo by se vám hodně hodilo kdybyste uměli na požádání dostat databázi do definovaného stavu (kvůli pouštění unittestů na buildserveru). Strukturu databáze vyskriptujete snadno, ale co s obsahem tabulek?
V takové chvíli se hodí uložená procedura sp_generate_insert (verze pro SQL 2000, verze pro SQL 2005) kterou má na svědomí Narayana Vyas Kondreddi.
Postará se o tabulky i views, umí správně pracovat s NULLy i tabulkami s mezerami v názvu, nerozhodí ji ani identity sloupce nebo přání omezení výstupu jen na některé řádky.
Příklad použití:
EXEC sp_generate_inserts 'titles'
V SQL Management Studiu (Tools/Options/Query Results/SQL Server/Results to text) se pak hodí nastavit "Maximum number of characters displayed in each column" na co nejvetsi hodnotu (SSMS dovoluje maximum 8192).
Jednoduché, ověřené, funkční a navíc zadarmo. Dneska mi tahle procedura zase ušetřila hromadu práce. Třeba se hodí i někomu dalšímu.