Vím, že můžete použít pouze dva režimy:Windows nebo SQL Server Authentication. To znamená, že máte pouze dvě možnosti:Buď použijete účet Windows, nebo si vytvoříte přihlašovací údaje k serveru SQL, které můžete použít k ověření.
EDIT:
Chcete-li programově vytvořit přihlášení k serveru SQL, můžete použít objekty Sql Server Management. Všiml jsem si, že jste neřekli, zda to chcete provést z Windows (desktop) nebo webové aplikace. Chcete-li použít Sql Server Management k vytvoření přihlášení (nebo k jakékoli "správě"), kód by musel běžet s vyššími oprávněními - řekněme místní nebo doménový účet s dostatečnými oprávněními pro správu instance SQL serveru.
Budete muset přidat odkazy na (můžete použít verzi 9.0 sestavení):
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SqlEnum
S tím, že následující kód stačí k vytvoření SQL přihlášení a také přidání uživatele do vaší cílové databáze
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");
}
Budete muset přidat:
using Microsoft.SqlServer.Management.Smo;
Můžete přidat try{} catch{} bloky a instalatérský kód, aby byl robustnější a v případě selhání byste jej mohli bez problémů obnovit