我爲SQL Server 2008 R2上的數據庫製作了C#前端。從C#程序創建新的SQL Server 2008 R2登錄
有沒有辦法從前端程序創建一個sql server登錄或者他們需要在sql管理工作室中創建?
謝謝
我爲SQL Server 2008 R2上的數據庫製作了C#前端。從C#程序創建新的SQL Server 2008 R2登錄
有沒有辦法從前端程序創建一個sql server登錄或者他們需要在sql管理工作室中創建?
謝謝
是的,你可以用SQL代碼來做到這一點。查看CREATE LOGIN文檔。
這裏是例如SQL代碼:
CREATE LOGIN <login_name> WITH PASSWORD = '<password>' MUST_CHANGE
是的,你可以在你的C#應用程序創建登錄。
這可以通過在應用程序中執行必需的SQL語句或使用SQL Server管理對象(SMO)來完成。
for SQL MSDN, CREATE LOGIN。
爲SMO MSDN, Managing Users, Roles, and Logins Using SMO examples
您可以使用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();
}
也許你可以詳細說明爲什麼我們必須多次打電話給Alter? – EKS
爲了在SQL Server中創建一個新用戶,您的應用程序必須使用sa帳戶,這是一個主要的安全風險。 –