How do I list all the databases for a given sql server 08 instance using sqlcmd?
4 Answers
sqlcmd -E -S SERVER\INSTANCE -Q "sp_databases"
Notes:
-E: Use a trusted connection ("Windows authentication"). Replace by-U username -P passwordfor SQL Server authentication.-S SERVER\INSTANCE: The instance of SQL Server to which to connect. If you don't know the name of your instance, you can usesqlcmd -Lto get a list.-Q: The query to execute. The uppercaseQcauses sqlcmd to exit after executing the query.
Comments
To elaborate with more detail for the sqlcmd newbie:
C:\> sqlcmd -S <the_server_name>
1> select name from sys.databases
2> go
2 Comments
Felix Eve
Where do I find out what the server name is? Is there a command to list all the servers?
Heinzi
@FelixEve: stackoverflow.com/q/141154/87698
EXEC sp_databases
or
SELECT NAME FROM sys.sysdatabases
or
EXEC sp_msForEachDB 'PRINT ''?''';
2 Comments
Dane O'Connor
Up voted for options but accepted Heinzi because it includes the sqlcmd aspect. Thanks!
barlop
I'm a newb and may be stating the obvious here, but I had to do 'go' after the EXEC line like this
1>EXEC sp_databases<ENTER>2>go<ENTER>