04. juni 2008 - 14:53Der er
9 kommentarer og 2 løsninger
Opret tom database og dertil hørende user i sql server express
- Skal i c# oprette en tom database på en sql server 2005 express.
- Derefter skal der oprettes en bruger på sql serveren ud fra en allerede eksisterende active directory bruger.
- Brugeren skal have adgang til den tomme database.
Kan dette laves i LINQ eller på en anden måde?
Eller som sidste ud vej - Kan jeg så få understående "kørt" som en query?
CREATE DATABASE Test; GO USE Master GO CREATE LOGIN [GRATIS\TEST] FROM WINDOWS WITH DEFAULT_DATABASE=[Test]; GO USE [Test] GO EXEC sp_addrolemember N'db_owner', [GRATIS\test] GO EXEC sp_addrolemember N'db_datareader', [GRATIS\test] GO EXEC sp_addrolemember N'db_datawriter', [GRATIS\test] GO
Tilføj følgende referencer: Microsoft.SqlServer.ConnectionInfo.dll Microsoft.SqlServer.Smo.dll
tilføj følgende usings: using Microsoft.SqlServer.Management.Smo; using Microsoft.SqlServer.Management.Common;
følgende kode kører dit script på serveren:
string script = "CREATE DATABASE Test; GO USE Master GO osv... Load eventuelt dette fra en fil eller embedded resource!";
SqlConnection conn = new SqlConnection("connectionstring"); Server server = new Server(new ServerConnection(conn)); server.ConnectionContext.ExecuteNonQuery(script);
Det boer ikke engang vaere noedvendig at bruge Microsoft.SqlServer stuff.
Helt normal SqlConnection som connecter til master databasen med et brugernavn med administrator privs, en helt normal SqlCommand og bare ExecuteNoNQuery paa den.
Login, Database og rettigheder bliver sat fint med scriptet, men Login virker bare ikke. Får en login failed (lige meget om det er en bruger fra AD eller en lokal bruger).
Det virker fint, hvis jeg opretter en databasebruger, som ikke er integreret med windows/ad.
Får en "Error: 18456" "state 6" ved login - State 6 er: login fra Windows/domain konto.
AD brugere er oprettet som 'normal' user. Kan det være fordi brugeren skal tilføjes nogle bestemte rettigheder.
aaberg80: synes også, at du skulle have lidt point for den hurtigere respons.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.