title: How to list all tables & columns names of a linked-server database in SQL Server?
body: <p>If it's a regular database, i can simply use this query to get a list of all table names and their column names of the database.</p>
  
  <pre><code>use [my_database_name]
  GO
  
  SELECT sys.tables.name AS Table_Name, 
         sys.columns.name AS Column_Name, 
         sys.columns.max_length, 
         (schema_id) As Schema_name
  
  FROM sys.tables
      INNER JOIN sys.columns 
          ON sys.tables.OBJECT_ID=sys.columns.object_id
  
  ORDER BY schema_name, sys.tables.name, sys.columns.name
  </code></pre>
  
  <p>but right now I need to connect to a linked-server database therefore the 'use' can't be used.
  Is there another way?</p>