2010-01-07 3 views
17

Как я могу удалить пользователя из базы данных, не отбросив его?Удалить пользователя из базы данных SQL Server?

Сценарий должен проверить, существует ли пользователь в базе данных, если он отбрасывает пользователя.

+0

Возможный дубликат [Как вы проверяете наличие пользователя на SQL Server?] (Http://stackoverflow.com/questions/356000/how-do-you-test-for-the-existence-of -a-user-in-sql-server) – IMSoP

ответ

35

Это то, что вы пытаетесь сделать?

IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'username') 
DROP USER [username] 

Если вы используете SQL Server Management Studio, вы можете перейти к пользователю и щелкнуть правой кнопкой мыши по выбору удаления.

+0

Что такое N здесь N'username '? – zer0w1dthspace

+2

«n» просто сообщает серверу sql, что строковое значение является unicode. Это может предотвратить проблемы для людей, работающих в разных наборах символов. –

1

Возможно, у вас должен быть только флаг Dropped/Deleted в пользовательской таблице, поддерживающий ссылочную целостность, если вы хотите сохранить информацию о регистрации для этого пользователя.

В противном случае вам будет необходимо удалить ограничение внешнего ключа, которое предотвращает удаление в настоящее время, однако я бы не рекомендовал этого.

Смежные вопросы