19

Bir SQL Server komut dosyasına kullanıcı eklemek istiyorum ancak önce varlığı test etmem gerekiyor veya komut dosyası hataları alıyorum. tablolar veya depolanan procs bırakarak, ben şöyle Sysobjects tabloyu kontrol:SQL Server'da bir kullanıcının varlığını nasıl test edersiniz?

IF EXISTS (
    SELECT * 
    FROM sysobjects 
    WHERE id = object_id(N'[dbo].[up_SetMedOptions]') 
    AND OBJECTPROPERTY(id, N'IsProcedure') = 1 
) 
Drop Procedure up_SetMedOptions; 
GO 

Bir kullanıcı için kontrol etmek için doğal sonucu nedir? Sunucuya bir veritabanı girişi hakkında soru sormadığımı unutmayın! Soru, belirli bir veritabanındaki bir Kullanıcı ile ilgilidir. SQL 2005'te

cevap

32

SSMS komut it: SQL 2005/2008 için

:

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

SQL 2000 için:

IF EXISTS (SELECT * FROM dbo.sysusers WHERE name = N'username') 
EXEC dbo.sp_revokedbaccess N'username' 
2

:

SQL 2000'de
select * from sys.sysusers 

: Aşağıdaki şekilde

select * from sysusers 
-1

Aşağıdaki kod benim için çalıştı.

IF EXISTS (SELECT * FROM sys.syslogins WHERE name = N'MyUserName') 
DROP LOGIN [MyUserName] 
+3

Soru özellikle "Ben ** bir veritabanını soruyorum ** sunucuya ** giriş soruyorum". Çözümünüz bir ** login ** 'i kaldıracak ve artık bir veritabanı ** kullanıcısı ** bırakacaktır. –