20. oktober 2006 - 13:38Der 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?
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. :)
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 :
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å :-)
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 :)
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?
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:
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 :)
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 :-)
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.