sql >> Database teknologi >  >> RDS >> Sqlserver

Opret SQL Server Authentication Account?

Der er kun to tilstande, som jeg ved, du kan bruge:Windows eller SQL Server Authentication. Det betyder, at du kun er begrænset til to valgmuligheder:Du bruger enten en Windows-konto, eller du opretter et SQL Server-login, som du kan bruge til at godkende.

EDIT:

For at oprette et sql-serverlogin programmæssigt kan du bruge SQL Server Management-objekter. Jeg har bemærket, at du ikke sagde, om du vil gøre dette fra en Windows (desktop) eller webapplikation. For at bruge SQL Server Management til at oprette et login (eller udføre nogen form for "administration"), skal koden køre med højere privilegier - f.eks. lokal- eller domænekonto med tilstrækkelige privilegier til at administrere SQL-serverforekomsten.

Du skal tilføje referencer til (du kan bruge version 9.0 af samlingerne):

Microsoft.SqlServer.ConnectionInfo
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SqlEnum

Med det er følgende kode nok til at oprette et SQL-login og også tilføje brugeren til din måldatabase

        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");
        }

Du skal tilføje:

using Microsoft.SqlServer.Management.Smo;

Du kan tilføje prøve{} catch{}-blokke og VVS-kode for at gøre det mere robust, og du vil gendanne elegant i tilfælde af fejl




  1. Hvordan henter man tabelnavne i en mysql-database med Python og MySQLdb?

  2. Ændring af heltal til flydende komma og tilføjelse af decimalkomma

  3. Har nogen fundet ud af, at REGEX \b ikke virker i MYSQL?

  4. Parameteriseret forespørgsel:Tjek, om feltet er i en række værdier i SELECT-sætningen