12. januar 2004 - 22:50Der er
13 kommentarer og 1 løsning
Kan kun logge på MSDE som win admin?
Jeg kan ikke komme ind til MSDE som SA.
Jeg har installeret XP pro, og har installeret MSDE med følgende. setup.exe BLANKSAPWD=1 for at kunne komme ind med sa som brugernavn og blankt password. Men dette kan ikke lade sig gøre. Jeg har prøvet at indstille adgengen under regedit til både 1 og 2 uden held.
Kan i hjælpe mig.. Jeg kan desværre ikke give point af en eller anden grund men vil gerne give dem når dette er muligt igen.
I øvrigt bør man aldrig bruge sa til at tilgå en db når den først er "i drift". Sikkerhedsmæssigt er det al for stor en risiko. Med SA adgang til en sql server kan man overtage boksen og gøre hvad man lyster i hele operativsystemet!
Det kan være jeg har forklaret mig dårlig, så omformulere mig lige.
Ved installation skrev jeg(denne gang) setup sapwd="xxxx" security=sql. Men jeg kan stadig kun komme i kontakt med sql serveren med windows NT adgang, eksempelvis når jeg skal lave MSDE query for oprettelse af database.
Adgangen skal jeg bl.a. også bruge under C# programmering...
Eneste årsag jeg umiddelbart kan se til at du ikke kan komme på via SA er, at du ikke har fået sat pwd korrekt. Microsoft har meddelt at SA ikke vil være understøttet i fremtiden, men har svjv ikke implementeret det endnu...
Bruger du SQL Server API'et? (Det tillader kun SQL Server 6.5 kompatible ting).
Muligvis skal du også lige sikre dig, at du logger på via TCP/IP fremfor named pipes.
du kan også prøve at oprette en ny sql server authenticeret konto på sa-niveau:
Hvor vil du have at jeg skal eksekvere(uhh det kommer til at koste point det her) dine overstående linier. Det eneste jeg har at gøre godt med er prompt jeg installere fra. Den MSDE jeg bruger er en man kan hente fra http://go.microsoft.com/fwlink/?linkid=13962 man kan bruge når man programmere fra .NET. Som de skriver -MSDE 2000 for Developers Using Visual Studio .NET-
Ved installationen skriver de at følgende skal bruges når man vil have MSDE til at fungere: Setup.exe /qb+ INSTANCENAME=VSDOTNET DISABLENETWORKPROTOCOLS=1 SAPWD=<YOUR SA PASSWORD> hvis jeg gør dette er der intet der virker.
Er det mig der ikke fatter en bønne :-( eller læser jeg ikke om MSDE'en de rigtige steder....
Brug OSQL.EXE - den er installeret sammen med MSDE'en.
OSQL -S server -d database -U sa -P password
eller
OSQL -S server -d database -E
OBS: Hver sql udtryk du afvikler skal afsluttes med GO for at blive fyret af.
Den setupstring du angiver ovenfor opretter en SQL Server instans ved navn VSDOTNET på pc'en. Servernavnet bliver så "mincomputer\vsdotnet".
DISABLENETWORKPROTOCOLS lyder som om den slår TCP/IP og NAMED PIPES protokollerne fra - og så er der kun memory shared protocol tilbage, den er absolut lokal og kan kun bruges sammen med aliaset "local" for servernavn. Det sikrer så, at man ikke kan tilgå databasen over et LAN, men kun lokalt fra den aktuelle maskine.
På arbejde har udviklerne ikke det store problem med at tilgå databaser via .NET platformen selvom de er installeret som "normale" databaser.
Klart den sidste lange smørre jeg skrev er desværre ikke kommet på selvfølgelig...men jeg prøver igen.
Jeg kan godt oprette en database med MSDE Query hvis jeg bruger Windows NT Autorisation. Men ikke hvis jeg prøver at logge ind som sa.
Lige netop dette er det jeg tror der er galt. Jeg kan godt komme i kontakt med databasen anonym login i IIS og jeg bruger Windows NT Autorisation i C#. Men jeg kan ikke hente informationer derfra(hvilket dog undre mig lidt da jeg godt kan i MSDE Query).
Fejlen der kommer er følgende: Retrieving the schema for xxxxxxx failed. SQL Server does not exist or ascess denied.
Der bør kun være én record med SA - 2 records lyder som et seriøst problem - og kan sagtens være forklaringen. P.t. må du nok lige anse SA som ubrugelig. Man *kan* rette i systemdata - men det er absolut ikke rart at foreslå til folk som ikke kender MsSQL seriøst godt...
Mht oprettelse af database - nej, hvem der opretter en given database er ligegyldig. Det der har betydning er, om du har husket at give den bruger du benytter adgang til databasen og rettigheder til at læse og skrive de enkelte tabeller samt afvikle funktioner og stored procedures...
Rettigheder styrer du således:
use [mydatabase] go exec sp_adduser 'username' go exec sp_addrolemember db_datareader, 'username' go exec sp_addrolemember db_datawriter, 'username' go grant execute on spXXXX to 'username' go
Forresten så har jeg glemt at skrive at jeg bruger osql -S -E for at komme ind.....
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.