Ich möchte einen Benutzer in einem SQL Server-Skript löschen, aber ich muss zuerst Existenz testen oder ich werde Skriptfehler erhalten. Wenn Tabellen oder gespeicherte Procs fallen, überprüfe ich die sysobjects Tabelle wie folgt:Wie testen Sie auf die Existenz eines Benutzers in SQL Server?
IF EXISTS (
SELECT *
FROM sysobjects
WHERE id = object_id(N'[dbo].[up_SetMedOptions]')
AND OBJECTPROPERTY(id, N'IsProcedure') = 1
)
Drop Procedure up_SetMedOptions;
GO
Was die logische Folge für einen Benutzer zur Überprüfung ist? Beachten Sie, dass ich NICHT nach einer Datenbankanmeldung auf dem Server frage! Die Frage bezieht sich auf einen Benutzer in einer bestimmten Datenbank.
Die Frage speziell sagt "Ich bin ** NOT ** fragt nach einer Datenbank ** Login ** auf dem Server". Ihre Lösung wird eine ** Anmeldung ** entfernen und eine verwaiste Datenbank ** Benutzer ** hinterlassen. –