38

How do I list all the databases for a given sql server 08 instance using sqlcmd?

4 Answers 4

54
sqlcmd -E -S SERVER\INSTANCE -Q "sp_databases"

Notes:

  • -E: Use a trusted connection ("Windows authentication"). Replace by -U username -P password for 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 use sqlcmd -L to get a list.
  • -Q: The query to execute. The uppercase Q causes sqlcmd to exit after executing the query.
Sign up to request clarification or add additional context in comments.

Comments

39

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

Where do I find out what the server name is? Is there a command to list all the servers?
34
EXEC sp_databases

or

SELECT NAME FROM sys.sysdatabases

or

EXEC sp_msForEachDB 'PRINT ''?''';

2 Comments

Up voted for options but accepted Heinzi because it includes the sqlcmd aspect. Thanks!
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>
3

You can use sp_databases stored procedure.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.