Ausführen eines Langen dynamischen SQL Statements.
Problem: Sie haben eine dynamische Anweisung die länger als 8000 Zeichen wird und wollen nicht prüfen wie lang das Statement wird. Sie können die ExecQueue verneden. Hierfür werden 2 Proceduren benötigt:
1. Procedur sp_fillQueue
2. Procedur sp_ExecuteQueue
Erste Procedur füllt die Queue und zweite führt die Queue aus.
Folgendes Script liefert die Berechtigungen und Rollen inkl. Windows Gruppen und Ihrer Mitglieder auf.
SELECT DB_NAME() AS [DatenbankName]
,SCHEMA_NAME(so.schema_id) AS [Schema]
, so.name AS [ObjektName]
, so.type_desc AS [ObjektTyp]
, sp.parameter_id AS [ParameterID]
, sp.name AS [ParameterName]
, TYPE_NAME(sp.user_type_id) AS [ParameterDatenTyp]
, sp.max_length AS [ParameterMaxBytes]
, CONVERT(NVARCHAR(10)
, CASE
WHEN sp.parameter_id = 0 THEN 'AUS'
WHEN sp.is_output = 1 THEN 'EINAUS'
ELSE 'EIN' END) AS [ParameterMode]
, CONVERT(NVARCHAR(10)
, CASE
WHEN sp.parameter_id = 0 THEN 'JA' ELSE 'NEIN' END) AS [IstErgebnis]
FROM sys.objects AS so INNER JOIN
sys.parameters AS sp ON so.object_id = sp.object_id
ORDER BY [Schema], [ObjektName], [ParameterID]
Folgendes Script findet verwaiste SQL-Server Konten von allen Datenbanken auf dem lokalen Server. Es wird untersucht ob zu einem Datenbankbenutzer auch eine Anmeldeinformation auf Server-Ebene vorhanden ist.