Wie, um eine Liste aller Tabellen & Spalten-Namen von einem verknüpften server-Datenbank in SQL Server?

Wenn die reguläre Datenbank, ich kann einfach verwenden diese Abfrage, um eine Liste mit allen Tabellennamen und deren Spaltennamen der Datenbank.

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

aber jetzt muss ich verbinden, um einen verknüpften server-Datenbank daher die 'verwenden' kann nicht verwendet werden.
Gibt es einen anderen Weg?

  • Voll qualifizieren den Tabellen in der select-Anweisung. [linkedserver].[databasename].[dbo].[tablename]
  • Aber Sie sollten die alias-Ihre Tabellen. 3 (und 4) Teil Benennung in der select-Liste ist veraltet.
  • Der Zweck ist es, aus JEDER Spalte die Namen aller Tabellen einer verknüpften server-Datenbank auf einmal. WEI_DBA könnten Sie etwas konkreter über Ihre Antwort?
  • Was @WEI_DBA besagt, ist, dass Sie brauchen, um vollständig zu qualifizieren, die sys-Tabellen für Ihre Verbindungsserver so gerne.... FROM [SERVER].[DATABASE].[sys].[tables] as ls
  • Vielen Dank für die Unterstützung aus.
InformationsquelleAutor user3486647 | 2016-12-01
Schreibe einen Kommentar