Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL Server 2000: Konflikte beim Zugriff auf Datensätze

Frage Entwicklung Datenbanken

Mitglied: tschroeder

tschroeder (Level 1) - Jetzt verbinden

15.03.2006, aktualisiert 05.04.2006, 4764 Aufrufe, 2 Kommentare

Hallo,

ich habe eine Frage zum DB-Zugriff (speziell beim SQL Server 2000 Enterprise).

Sowohl bei Schreib- als auch bei Lesezugriffen gibt es immer wieder Konflikte.
Heißt: sowohl Schreib- als auch Lese-Operationen können nicht durchgeführt werden.

Bei den Schreibzugriffen kommt es zu Konflikten.
Bei den Lesezugriffen zu häufigen Timeouts.

Die Tabellen stehen im Zugriff sowohl von "außen" (Webserver IIS/FTP-Server WS_FTP) als auch von "innen" (VB-Anwendungen, ADO/DAO bzw. OLE DB/ODBC).
Es ist, was die Anzahl der gleichzeitigen Zugriffe betrifft, praktisch kaum eine verlässliche Obergrenze vorhanden.

Heißt: ich muss mit allem rechnen, also, dass x Zugriffe (Lese- und Schreiboperationen) gleichzeitig durchgeführt (besser: angestoßen) werden.
Das gilt nicht nur für Tabellen, sondern auch für einzelne Datensätze.

Was sollte ich bei der Anwendungsentwicklung (ASP "alt", also mit VBScript, ASP.NET, VB, Access VBA usw. usw.) unbedingt beachten, um Schreibkonflikte bzw. Timeouts zu verhindern?

Was sollte ich auf jeden Fall VERMEIDEN?

In welchen Bereichen gibt es grundsätzlich Optimierungspotenzial, was die Performance von SQL-Statements angeht
(Dinge, an die man bei der Entwicklung vielleicht aus Zeitmangel oder aus Nachlässigkeit nicht denkt, bspw. im Bereich Gestaltung von Tabellen/Ausführen von Abfragen aus dem Programmcode)?

Gruß

Thomas
Mitglied: 25768
01.04.2006 um 15:27 Uhr
Hi,

frag mich nicht über MS SQL, aber allgemein kann ich dir folgendes raten:

1. Benutze eine transaktionsfähige Datenbank, also eben z.B. MS SQL. Setze dich mit BEGIN/COMMIT/ROLLBACK auseinander.
2. Setze dich mit Tabellen und Row LvL Locking auseinander, so verhinderst du z.B. gleichzeitigen Schreibzugriff

Vermeiden ?
Einfach so drauf los zu arbeiten. Du hast gesagt du kannst nicht sagen, wieviele Benutzer gleichzeitig auf der Datenbank sind. Du solltest dir darüber aber im klaren werden, zumindest einen ca. Wert annehmen und dann 20-30% Performance draufrechnen als Sicherheit. Es helfen die optimiertesten Queries nichts, wenn der Server mit der Benutzeranzahl nicht klarkommt. Mach dir dann evtl. Gedanken über Cluster etc. Über Performanceoptimierung der Queries solltest du normalerweise etwas in der Dokumentation finden. Leg mich da nicht fest, wie gesagt, habs mit MS SQL ned so.

Ansonsten eben Standardoptimierungen nutzen wie z.B, Joins anstatt Subqueries etc.

Hoffe ich konnte dir ein bißchen helfen.
Gruß
Andi
Bitte warten ..
Mitglied: tschroeder
05.04.2006 um 07:02 Uhr
Hi Andi,

alles klar. Vielen Dank.

Der MS SQL wird bereits geclustert, allerdings nur in einer Failover-Lösung (bringt also nix in Sachen Lastenverteilung).

Ich suche übrigens auch noch nach Tools, um die Performance/Belastung auf Dauer zu protokollieren.

Gruß

Thomas
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
RedHat, CentOS, Fedora

Fedora, RedHat, Centos: DNS-Search Domain setzen

(13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...

Drucker und Scanner

Samsung SL-M4025ND, firmware update und (kompatible) Tonerkassetten

(1)

Erfahrungsbericht von markus-1969 zum Thema Drucker und Scanner ...

Heiß diskutierte Inhalte
Windows 10
Windows für Privatanwender "nicht mehr handhabbar" (32)

Frage von FA-jka zum Thema Windows 10 ...

LAN, WAN, Wireless
Komplett neues Netzwerk, Ubiquiti WLAN, Router, Switch (15)

Frage von Freak-On-Silicon zum Thema LAN, WAN, Wireless ...

Backup
Backup Wochen- Monats- Jahressicherung (13)

Frage von Meterpeter zum Thema Backup ...

RedHat, CentOS, Fedora
Fedora, RedHat, Centos: DNS-Search Domain setzen (13)

Tipp von Frank zum Thema RedHat, CentOS, Fedora ...