Ci sono solo due modalità che so che puoi usare:Windows o Autenticazione SQL Server. Ciò significa che sei limitato a due sole scelte:puoi utilizzare un account Windows o creare un account di accesso di SQL Server che puoi utilizzare per autenticarti.
MODIFICA:
Per creare a livello di codice un accesso al server SQL, è possibile utilizzare gli oggetti Gestione server SQL. Ho notato che non hai detto se vuoi farlo da un'applicazione Windows (desktop) o Web. Per utilizzare Sql Server Management per creare un accesso (o eseguire qualsiasi tipo di "gestione"), il codice dovrebbe essere eseguito con privilegi più elevati, ad esempio un account locale o di dominio con privilegi sufficienti per amministrare l'istanza del server SQL.
Dovrai aggiungere riferimenti a (potresti usare la versione 9.0 degli assembly):
Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SqlEnum
Con ciò, il codice seguente è sufficiente per creare un login SQL e anche aggiungere l'utente al database di destinazione
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");
}
Dovrai aggiungere:
using Microsoft.SqlServer.Management.Smo;
Puoi aggiungere blocchi try{} catch{} e codice idraulico per renderlo più robusto e ripristinarlo senza problemi in caso di errore