Gibt es in SQL Server 2000 eine Sysobjects-Abfrage, die Benutzeransichten und keine Systemansichten abruft?
-
09-06-2019 - |
Frage
Vorausgesetzt, dass es eine solche Anfrage gibt, wäre ich für Hilfe sehr dankbar.
Ich versuche, ein Berechtigungsskript zu entwickeln, das „Auswahl“- und „Referenz“-Berechtigungen für die Benutzertabellen und -ansichten in einer Datenbank gewährt.Ich hoffe, dass die Ausführung der „Grant“-Befehle für jedes Element in einem solchen Satz es einfacher macht, die Berechtigungen aktuell zu halten, wenn neue Tabellen und Ansichten zur Datenbank hinzugefügt werden.
Lösung
select * from information_schema.tables
WHERE OBJECTPROPERTY(OBJECT_ID(table_name),'IsMSShipped') =0
Schließt dt_properties und Systemtabellen aus
hinzufügen
where table_type = 'view'
wenn Sie nur die Aussicht wollen
Andere Tipps
SELECT
*
FROM
sysobjects
WHERE
xtype = 'V' AND
type = 'V' AND
category = 0
Hier ist eine Liste der möglichen Werte für xtype:
- C = CHECK-Einschränkung
- D = Standard- oder DEFAULT-Einschränkung
- F = FOREIGN KEY-Einschränkung
- L = Protokoll
- P = Gespeicherte Prozedur
- PK = PRIMARY KEY-Einschränkung (Typ ist K)
- RF = Gespeicherte Replikationsfilterprozedur
- S = Systemtabelle
- TR = Auslöser
- U = Benutzertabelle
- UQ = UNIQUE-Einschränkung (Typ ist K)
- V = Ansicht
- X = Erweiterte gespeicherte Prozedur
Hier sind die möglichen Werte für Typ:
- C = CHECK-Einschränkung
- D = Standard- oder DEFAULT-Einschränkung
- F = FOREIGN KEY-Einschränkung
- FN = Skalarfunktion
- IF = Inline-Tabellenfunktion
- K = PRIMARY KEY oder UNIQUE-Einschränkung
- L = Protokoll
- P = Gespeicherte Prozedur
- R = Regel
- RF = Gespeicherte Replikationsfilterprozedur
- S = Systemtabelle
- TF = Tabellenfunktion
- TR = Auslöser
- U = Benutzertabelle
- V = Ansicht
- X = Erweiterte gespeicherte Prozedur
Endlich, das Kategorie Das Feld sieht so aus, als würde es nach verschiedenen Objekttypen gruppieren.Nach der Analyse des zurückgegebenen Ergebnissatzes scheinen die Systemansichten eine zu haben Kategorie = 2, während alle Benutzeransichten a haben Kategorie = 0.Hoffe das hilft.
Für weitere Informationen besuchen Sie http://msdn.microsoft.com/en-us/library/aa260447(SQL.80).aspx
select * from information_schema.tables
where table_type = 'view'