There are several options to create a login on the server, the creation of logins is a step that should be done carefully, well thought out, because you must protect your data - both internal and external users.
Other than that, 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
}
Don’t forget to add the references
I don’t understand. This code isn’t working?
– Leonel Sanches da Silva
It does not work, it presents syntax error next to @login, I believe the error is being to pass the parameters once I tested pass direct information as the user name and password straight on the line of eating and worked, ie the error is to pass parameters.
– Ronivaldo Roner