There are several options for creating a login on the server, creating logins is a step that must be done carefully, well thought out, this is because you must protect your data - both internal and external users. br>
Otherwise, if you run the code below, the login and user will be created on your server / database.
using Microsoft.SqlServer.Management.Smo;
using Microsoft.SqlServer.Management.Common;
var nomeUsuario = "seu_login";
//Realiza uma conexão com o servidor
ServerConnection sc = new ServerConnection(@"<seu_servidor>\<sua_instância>", "<login_sa>", "senha_sa");
//Após a conexão, essa será sua instância do SQL Server
Server svr = new Server(sc);
//Se existir o banco de dados, então iniciará a criação do usuário
var db = svr.Databases["<seu_banco>"];
if (db != null) {
//Cria um login no servidor
Login login = new Login(svr, nomeUsuario);
login.DefaultDatabase = "<seu_banco>"; //Banco padrão para cada nova conexão
login.LoginType = LoginType.SqlLogin;
login.Create("<senha_seu_login>", LoginCreateOptions.None); //Senha para seu novo login
login.Enable();
//Cria um usuário local no seu banco de dados a partir do login criado no servidor
User user = new User(db, nomeUsuario);
user.UserType = UserType.SqlLogin;
user.Login = login.Name;
user.Create();
user.AddToRole("db_owner"); //Dá permissão geral ao usuário
}
Do not forget to add references