How can I dump the schema of a SQL server database on Linux?


mysqldump --no-data somedatabasename dump_schema_mysql.out 

On Postgres:

pg_dump -s somedatabasename > dump_schema_postgres.out 

I can’t seem to find an equivalent for SQL server on Linux, though surely such a common task must be easily done?

I have the sqlcmd utility running ok:

ubuntu@ubuntu:~$   sqlcmd -? Microsoft (R) SQL Server Command Line Tool Version 17.6.0001.1 Linux Copyright (C) 2017 Microsoft Corporation. All rights reserved.  usage: sqlcmd            [-U login id]          [-P password]   [-S server or Dsn if -D is provided]   [-H hostname]          [-E trusted connection]   [-N Encrypt Connection][-C Trust Server Certificate]   [-d use database name] [-l login timeout]     [-t query timeout]   [-h headers]           [-s colseparator]      [-w screen width]   [-a packetsize]        [-e echo input]        [-I Enable Quoted Identifiers]   [-c cmdend]   [-q "cmdline query"]   [-Q "cmdline query" and exit]   [-m errorlevel]        [-V severitylevel]     [-W remove trailing spaces]   [-u unicode output]    [-r[0|1] msgs to stderr]   [-i inputfile]         [-o outputfile]   [-k[1|2] remove[replace] control characters]   [-y variable length type display width]   [-Y fixed length type display width]   [-p[1] print statistics[colon format]]   [-R use client regional setting]   [-K application intent]   [-M multisubnet failover]   [-b On error batch abort]   [-D Dsn flag, indicate -S is Dsn]   [-X[1] disable commands, startup script, environment variables [and exit]]   [-x disable variable substitution]   [-g enable column encryption]   [-G use Azure Active Directory for authentication]   [-? show syntax summary] ubuntu@ubuntu:~$   sqlcmd -?