Non c'è supporto nel linguaggio Transact-SQL. Le librerie client (SMO) possono farlo utilizzando un Scripter oggetto, vedere l'esempio in http://msdn.microsoft.com/en- us/library/ms162153.aspx . Puoi utilizzare SMO da PowerShell come soluzione con script.
SQL Management Studio ha anche un'opzione (fai clic con il pulsante destro del mouse su un database, vai su Attività, seleziona Genera script), utilizza uno scripter SMO sotto le coperte.