Има само два режима, които знам, че можете да използвате:Windows или SQL Server удостоверяване. Това означава, че сте ограничени само до два избора:или използвате акаунт в Windows, или създавате данни за вход в SQL Server, които можете да използвате за удостоверяване.
РЕДАКТИРАНЕ:
За да създадете програмно влизане в sql сървър, можете да използвате обекти за управление на Sql сървър. Забелязвам, че не сте казали дали искате да направите това от Windows (десктоп) или уеб приложение. За да използвате Sql Server Management за създаване на влизане (или за извършване на каквото и да е „управление“), кодът трябва да се изпълнява с по-високи привилегии – да речем локален или домейн акаунт с достатъчно привилегии за администриране на екземпляра на SQL сървъра.
Ще трябва да добавите препратки към (можете да използвате версия 9.0 на сглобките):
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SqlEnum
С това следният код е достатъчен, за да създадете SQL вход и също така да добавите потребителя към вашата целева база данни
var serverName = "."; // Your SQL Server Instance name
var databaseName = "Test"; // Your database name
var loginName = "testuserY"; // Your login name (should not exist - or you should add code to check if the login exists)
Server svr = new Server(serverName);
var db = svr.Databases[databaseName];
if (db != null)
{
// You probably want to create a login and add as a user to your database
Login login = new Login(svr, loginName);
login.DefaultDatabase = "master"; // Logins typically have master as default database
login.LoginType = LoginType.SqlLogin;
login.Create("foobar", LoginCreateOptions.None); // Enter a suitable password
login.Enable();
User user = new User(db, loginName);
user.UserType = UserType.SqlLogin;
user.Login = login.Name;
user.Create();
// add a role
user.AddToRole("db_owner");
}
Ще трябва да добавите:
using Microsoft.SqlServer.Management.Smo;
Можете да добавите блокове try{} catch{} и водопроводен код, за да го направите по-стабилен, ще се възстановите елегантно в случай на повреда