Avatar billede torotune Nybegynder
20. oktober 2006 - 13:38 Der er 11 kommentarer og
1 løsning

SQL Server og login/security

Hej,

Jeg er ved at prøve at lægge en MSSql-database op på en server. Men som jeg har kørt den nu lokalt har jeg ikke haft noget UserID og Password på databasen. Hvordan add’er jeg det i SQL Server Management Studio og lægger det i connnectionstring’en?

Lige nu ser den således ud i web.config:

<add name="CSMsSql" connectionString="Data Source=TT\SQLEXPRESS;Initial Catalog=MSSQLdatabase;Integrated Security=True"
providerName="System.Data.SqlClient" />

Venlig hilsen.
Avatar billede sneakraid Nybegynder
20. oktober 2006 - 13:43 #1
Sådan her:

<add name="CSMsSql" connectionString="Data Source=TT\SQLEXPRESS;Initial Catalog=MSSQLdatabase;User ID=DitUserId;Password=DitPassword;" providerName="System.Data.SqlClient" />
Avatar billede torotune Nybegynder
20. oktober 2006 - 13:50 #2
Ok - hvordan tilføjer jeg så permissions så min SQL Server Database kun kan tilgåes når jeg indtaser userId og password?
Avatar billede sneakraid Nybegynder
20. oktober 2006 - 14:00 #3
How, jeg var vist lige lidt for hurtig. Glemte helt at skrive hvordan du sætter brugernavn og password på databasen.

Når du er conncted til din mssql server med SQL Server Management Studio, ser du en træ-struktur hvor der blandt andet står Databases, Security osv. Så skal du ind under Security og hefter Logins. Højreklik og vælg New Login. Ved Login Name skriver du dit User ID/Brugernavn, vælger SQL Server Authentication, skriver dit Password lige efter.

Lidt under Password-feltet skulle der gerne være 3 checkboxe, her skal du unchecke "Enforce Password Expiration"

Og så kan du evt. vælge Default Database og Default Language, men det mener jeg ik betyder så meget. Tryk Ok og så er det login lavet. Så mangler du bare lige at tilføje den bruger/det login, til din database.

Det gør du ved at finde frem til din database i træ-struktur-menuen. Herefter Security og til sidt Users. Højreklik og tryk New User. Ved Login Name tryk på knappen med de 3 "..." og vælg så det Login som vi lavede lige før. En sidte ting er at vinge db_datareader og db_datawriter af under Database role membership. :)
Avatar billede torotune Nybegynder
20. oktober 2006 - 14:12 #4
Hey, fantastisk forklaring! :-) Skal jeg vinge noget af under Owned Schemas liger over Database role membership?
Avatar billede sneakraid Nybegynder
20. oktober 2006 - 14:19 #5
Mener ikke der skal vinges mere af. Det burde faktisk virke nu, men du kan jo lige teste det og give en tilbagemelding ;)
Avatar billede torotune Nybegynder
20. oktober 2006 - 14:35 #6
OK, jeg prøver det lige. Jeg melder tilbage lidt senere :-)
Avatar billede websam Nybegynder
20. oktober 2006 - 16:55 #7
Husk for øvrigt at det er en god idee at kryptere din db connection streng i config filen for at forhindre folk i at kunne se dit brugernavn og password. Se mere herom på denne side :

http://www.codersource.net/asp_net_security_connection_string.aspx

/Websam
Avatar billede torotune Nybegynder
23. oktober 2006 - 09:08 #8
Hej igen,

Jeg synes ellers jeg gør som du beskriver der, men jeg får nu en exception når jeg kører sitet der bruger databasen:

System.Data.SqlClient.SqlException: Login failed for user 'TestUser'. The user is not associated with a trusted SQL Server connection. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) at System.Data.SqlClient.SqlConnection.Open()

Skal brugeren tildeles yderligere rettigheder?

Websam -> tak for linket, det skal jeg også lige have kigget på :-)

Venlig hilsen.
Avatar billede sneakraid Nybegynder
23. oktober 2006 - 10:15 #9
Prøv lige at starte dit SQL Management Studio Express op, connect til din sql server, højre klik på server navnet og vælg Properties. Under "Select a Page" vælg Security og vælg "Sql server and Windows Authentication mode" under Server authentication, tryk "Ok" og så skulle det virke :)
Avatar billede torotune Nybegynder
23. oktober 2006 - 14:28 #10
Hej, ahh... nu tror jeg det virker :-) Fantastisch!

Du må gerne lægge et svar. - Ved du forresten hvordan man scripter databasen så den også tager data med, altså genererer INSERTS og ikke kun CREATE statements?
Avatar billede sneakraid Nybegynder
23. oktober 2006 - 15:22 #11
Lækkert :)

Hm, ikke umiddelbart, desværre. Til hverdag bruger jeg selv SQL Manager 2005, hvilket jeg synes er meget bedre end Sql management studio. Det kan være du skal tage et kig på det:

http://www.sqlmanager.net/en/products/mssql/manager

Der findes både en Lite og en Full version, men det er desværre kun i Full at man kan extracte databaser. Lite kan downloades gratis. Ellers ligger priserne omkring 800 kr. for non-commercial (Full) og 1700 kr. for Business version (Full). Men det er jo efter behov, hvis du f.eks. ikke freelancer, eller sælger nogle af de ting du laver, er det nok ikke så fedt at skulle give 1700 kr. for en business version, med mindre du har for mange penge :)
Avatar billede torotune Nybegynder
23. oktober 2006 - 16:03 #12
Okay - men tak for det! Jeg prøver mig lige i et nyt spørgsmål mht. til det at få flyttet data, ellers må jeg jo give det et forsøg med du nævner der :-)
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester