Ich möchte eine Liste von Spalten in SQL Server 2005 erstellen, die Identitätsspalten und die entsprechende Tabelle in T-SQL enthalten.
Die Ergebnisse wären ungefähr so:
Tabellenname, Spaltenname
Ich möchte eine Liste von Spalten in SQL Server 2005 erstellen, die Identitätsspalten und die entsprechende Tabelle in T-SQL enthalten.
Die Ergebnisse wären ungefähr so:
Tabellenname, Spaltenname
Eine andere Möglichkeit, dies für SQL Server zu tun, das weniger von den Systemtabellen abhängig ist (Änderungen vorbehalten, Version zu Version), ist die Verwendung der Ansichten INFORMATION_SCHEMA:
select COLUMN_NAME, TABLE_NAME
from INFORMATION_SCHEMA.COLUMNS
where COLUMNPROPERTY(object_id(TABLE_SCHEMA+'.'+TABLE_NAME), COLUMN_NAME, 'IsIdentity') = 1
order by TABLE_NAME
INFORMATION_SCHEMA.COLUMNS
enthält Infos für einfache Tabellen und Ansichten. Ich empfehle, TABLE_TYPE (Joining INFORMATION_SCHEMA.TABLES) hinzuzufügen, um die Lesbarkeit der Ergebnismenge zu gewährleisten.sys.columns.is_identity = 1
z.B,
quelle
Ein anderer Weg (für 2000 / 2005/2012/2014):
HINWEIS:
table_name_here
sollte seinschema.table
, es sei denn, das Schema istdbo
.quelle
In SQL 2005:
quelle
Diese Abfrage scheint den Trick zu tun:
quelle
Hier ist eine Arbeitsversion für MSSQL 2000. Ich habe den 2005 gefundenen Code 2005 geändert: http://sqlfool.com/2011/01/identity-columns-are-you-nearing-the-limits/
quelle
Liste der Tabellen ohne Identitätsspalte basierend auf der Antwort von Guillermo :
quelle
Die folgende Abfrage funktioniert für mich:
quelle
Ich denke, das funktioniert für SQL 2000:
quelle
Dies funktionierte bei mir mit SQL Server 2008:
quelle
Benutze das :
quelle
Dies funktionierte für SQL Server 2005, 2008 und 2012. Ich stellte fest, dass die sys.identity_columns nicht alle meine Tabellen mit Identitätsspalten enthielten.
Auf der Dokumentationsseite kann auch die Statusspalte verwendet werden. Sie können auch die vierteilige Kennung hinzufügen, die auf verschiedenen Servern funktioniert.
Quelle: https://msdn.microsoft.com/en-us/library/ms186816.aspx
quelle
Aus irgendeinem Grund speichert SQL Server einige Identitätsspalten in verschiedenen Tabellen. Der für mich geeignete Code lautet wie folgt:
quelle