Avatar billede -l_jogge_l- Nybegynder
22. januar 2004 - 08:25 Der er 14 kommentarer og
2 løsninger

Et par spørgsmål ang. SQL 2000

Jeg har den lille Gratis udgave af SQL til at kører, og har fået at vide at den max kan klarer 5 forspøgsler på engang. Men hvad menes der med det???

Jeg vil osse gerne have det sådan at man kan kontake selve SQL serveren kan kontaktes over internettet altså online... kan jeg det? Eller skal jeg kører MySQL for at det kan virke???
Avatar billede arne_v Ekspert
22. januar 2004 - 08:35 #1
Så vidt jeg ved er den optimeret til ikke begrænset til 5 connections.

Med brug af connection pool kan du serve betydeligt flere end
5 samtidige brugere med 5 connections.
Avatar billede arne_v Ekspert
22. januar 2004 - 08:36 #2
SQLServer kan ligesom MySQL connectes til direkte fra internettet (det er bare
en anden driver og en anden port).

Det frarådes for både SQLServer og MySQL af sikkerheds hensyn.
Avatar billede -l_jogge_l- Nybegynder
22. januar 2004 - 08:51 #3
Nej det er ikke smart både at køre SQL derver & MySQL???
Avatar billede trer Nybegynder
22. januar 2004 - 08:57 #4
MSDE'en skruer simpelthen ned for performance når der er mere end 5 samtidige queries der afvikles.

Hvis du vælger at åbne en port mod SQL Serveren så man kan tilgå den direkte - så er det MEGET vigtigt at du sætter DENY EXECUTE ON xp_xxxxx TO PUBLIC i MASTER databasen (dvs. nægter public (everyone) at udføre extended stored procedures) samt til alle job-relaterede stored procedures (sp_job_start, sp_job_add etc).

Da en SQL Server p.t. skal køre med administrative privs på serveren, så kan man, hvis man tiltvinger sig adgang, bruge xp_xxxx procedurerne til at kontrollere operativsystemet. Og via job-procedurene kan man faktisk overskrive operativsystemets filer. 

Sørg også for, at dine administrative konto (fx SA) ikke kan bruges til at forbinde med. Det klares nemt ved at indsætte et semikolon (;) i adgangskoden. Du må heller ikke lade DBO konti være tilgængelige - du skal lave separate brugerkonti der kun kan udføre de mest nødvendige operationer på så få objekter (tabeller/stored procedures) som muligt. Bedst er, at brugerkonti kun kan afvikle dine egne definerede procedurer.

Gør du de ting, så er der gode chancer for, at din server ikke hackes indenfor de første 24 timer... Derefter, heh... held og lykke.
Avatar billede -l_jogge_l- Nybegynder
22. januar 2004 - 09:05 #5
Ok....

Men jeg skal slet ikke bruge min SQL server til andet end at have data, den skal ikke have nogen Stored Procedures.... så vil den osse "død" når jeg sender mere en 5 queries afsted med måske 10 forskellige VB programmer???
Avatar billede trer Nybegynder
22. januar 2004 - 09:14 #6
Sikkerhedsmæssigt bør du tilgå data via stored procedures, ikke via sql statements. Det sikrer, at kun de operationer du har planlagt kan udføres, og forhindrer SQL Injection.

Mht forbindelser - Om det er et program der har 5 databaseforbindelser eller 5 programmer der har 1, det er ligegyldigt. Hvis du starter mere end 5 samtidige queries, så får du dårligere performance. De er kun samtidige hvis de kører på samme tid, er der fx blot 1 ms mellem dem, så er de ikke samtidige. Bemærk at det er queries der er tale om, ikke forbindelser!
Avatar billede -l_jogge_l- Nybegynder
22. januar 2004 - 09:25 #7
Ok... så er jeg ikke så bange for det med Queries.

MEN jeg bruger iøjeblikket ADO til at koble op og udfører Queries med SQL statements så som:
_____________________________________________________________________________________
Set rsSQLKundeGEM = New ADODB.Recordset
rsSQLKundeGEM.LockType = adLockOptimistic
sql = "SELECT * FROM kunder"
rsSQLKundeGEM.Open sql, "PROVIDER=SQLOLEDB; SERVER=DOMINO; DATABASE=master; USER ID=XXX; PASSWORD=XXX;"
rsSQLKundeGEM.Fields("kundenavn").Value = txtNavn.Text
rsSQLKundeGEM.Update
rsSQLKundeGEM.Close
UpdateSQLliste
__________________________________________________________________________________

Hvis jeg skal lave SP'er, hvordan gør jeg så det???

Jeg har jo ikke nogen manager til min SQL database... kan man hente en fra et eller andet sted???
Avatar billede -l_jogge_l- Nybegynder
22. januar 2004 - 09:39 #8
Ok.. nu har jeg oprettet en NY Database, men der er OSSE to tabeller, jeg IKKE selv har lavet??
dbo.sysconstraints
dbo.syssegments

Må de godt være der???
Avatar billede arne_v Ekspert
22. januar 2004 - 09:49 #9
Jge menet at det ikke var smart at tillade direkte adgang til hverken SQLServer
eller MySQL.
Avatar billede -l_jogge_l- Nybegynder
22. januar 2004 - 09:50 #10
Hvis man ikke har direkte adgang til en SQL server, hvad skal der så stå imellem VB programmet og serveren?????
Avatar billede -l_jogge_l- Nybegynder
27. januar 2004 - 11:19 #11
Nogen der skal have point????
Avatar billede trer Nybegynder
27. januar 2004 - 13:03 #12
arne_v har da faktisk givet svaret - og jeg har uddybet en smule...

I øvrigt : hvis du virkelig har behov for at lave en direkte forbindelse mellem et vb program og en server henover internettet - så bør du benytte en VPN tunnel. Det er den eneste måde man kan opnå til tilstrækkelig grad af sikkerhed på.

En anden mulighed er at lave en webfrontend til databasen og så kommunikere med den fra vb programmet.
Avatar billede -l_jogge_l- Nybegynder
27. januar 2004 - 13:44 #13
trer: Jow takker... men har ikke en SKID forstand på det med asp og php!! he he he
Avatar billede arne_v Ekspert
27. januar 2004 - 14:01 #14
Medmindre du har mulighed for VPN kan du lave:
  client CV app----noget----database

enten simpelt HTTP til ASP/PHP eller et web service kald (SOAP over HTTP).
Avatar billede arne_v Ekspert
27. januar 2004 - 14:01 #15
svar
Avatar billede trer Nybegynder
27. januar 2004 - 14:25 #16
thja, jeg vil da også gerne være med på et del-svar :-)
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
Computerworld tilbyder specialiserede kurser i database-management

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