2010-01-07 7 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 Server에 알리는 것입니다. 이것은 다양한 캐릭터 세트로 작업하는 사람들의 문제를 예방할 수 있습니다. –

1

설정 한 사용자 테이블에 Dropped/Deleted 플래그가 있어야하므로 해당 사용자에 대한 로깅 정보를 유지하려는 경우 참조 무결성을 유지해야합니다.

그렇지 않으면 현재 삭제하지 못하는 외래 키 제약 조건을 제거해야하는 것처럼 들리지만이 방법은 권장하지 않습니다.

관련 문제