SORU
4 EYLÜL 2009, Cuma


SQL Server oturum açma, denetimi zaten var

Eğer belirli bir oturum açma zaten SQL Sunucusu üzerinde olup olmadığını kontrol etmek istiyorum, ve eğer doğru değilse, o zaman değil eğer bunu eklemek istiyorum.

Aslında veritabanına giriş eklemek için aşağıdaki kodu buldum ama bir if ifadesi (nedense) ilk giriş olup olmadığını kontrol etmek için, bu işi yapmak istiyorum.

CREATE LOGIN [myUsername] WITH PASSWORD=N'myPassword', 
DEFAULT_LANGUAGE=[us_english], 
CHECK_EXPIRATION=OFF, 
CHECK_POLICY=OFF 
GO

Bir sistem veritabanı, ama nereden başlayacağınızı emin değil sorgulamak istiyorum.

CEVAP
22 Aralık 2009, Salı


İşte itiraz syslogins görüntülemek kullanmadan SQL Server 2005 ve daha sonra bunu yapmak için bir yol

IF NOT EXISTS 
    (SELECT name  
     FROM master.sys.server_principals
     WHERE name = 'LoginName')
BEGIN
    CREATE LOGIN [LoginName] WITH PASSWORD = N'password'
END

Server_principals görünümü ikincisi Windows oturumları liste yok çünkü sql_logins yerine kullanılır.

Eğer onları oluşturmadan önce belirli bir veritabanında bir kullanıcı varlığını kontrol etmek gerekiyorsa, o zaman bunu yapabilirsiniz:

USE your_db_name

IF NOT EXISTS
    (SELECT name
     FROM sys.database_principals
     WHERE name = 'Bob')
BEGIN
    CREATE USER [Bob] FOR LOGIN [Bob] 
END

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Elly

    Elly

    3 EKİM 2005
  • Rugiagialia

    Rugiagialia

    1 Ocak 2008
  • Vladimir Jenko

    Vladimir Jen

    1 Mart 2010