Det finns inget stöd i Transact-SQL-språket. Klientbiblioteken (SMO) kan göra det med en Scripter objekt, se exempel på https://msdn.microsoft.com/en- us/library/ms162153.aspx . Du kan använda SMO från PowerShell som en skriptlösning.
SQL Management Studio har också ett alternativ (högerklicka på en databas, gå till Tasks, välj Generate Scripts), den använder en SMO Scripter under täcket.