2012-10-28 65 views
-1

我爲SQL Server 2008 R2上的數據庫製作了C#前端。從C#程序創建新的SQL Server 2008 R2登錄

有沒有辦法從前端程序創建一個sql server登錄或者他們需要在sql管理工作室中創建?

謝謝

+0

爲了在SQL Server中創建一個新用戶,您的應用程序必須使用sa帳戶,這是一個主要的安全風險。 –

回答

2

是的,你可以用SQL代碼來做到這一點。查看CREATE LOGIN文檔。

這裏是例如SQL代碼:

CREATE LOGIN <login_name> WITH PASSWORD = '<password>' MUST_CHANGE

0

您可以使用TSQL或SMO。我用我的最後一個項目smo:

public void CreateLogin(string name, string password, string defaultDatabase, string[] roles) 
    { 
     Login login = new Login(_server, name); 
     login.LoginType = LoginType.SqlLogin; 
     login.DefaultDatabase = defaultDatabase; 

     login.PasswordExpirationEnabled = false; 
     login.PasswordPolicyEnforced = false; 

     login.Create(password, LoginCreateOptions.None); 


     for (int i = 0; i < roles.Length; i++) 
      login.AddToRole(roles[i]); 

     login.Alter(); 

     login.Enable(); 

     login.Alter(); 
    } 
+0

也許你可以詳細說明爲什麼我們必須多次打電話給Alter? – EKS

相關問題