none
Performanceproblem nach Umstieg von SQL Server 2005 auf 2008

    Frage

  • Hallo,

    wir haben als Frontend eine MDB (AccXP unter WinXP), als Backend den SQL-Server 2005 Express. Tabellen und Views sind über ODBC eingebunden.

    Wenn ich das gleiche Programm an einen SQL-Server 2008 Express binde, habe ich beim Öffnen von Formularen mit Comboboxen extreme Performanceprobleme.Die eingebunden Tabellen öffnen sich sofort, die Abfragen, die an die Comboboxen geknüpft sind, ebenfalls . Alles in einer Testumgebung mit wenig Daten (max. 2000 Datensätze).

    Woran kann das liegen?

     

    Gruß Thomas

    Mittwoch, 5. Oktober 2011 14:39

Antworten

  • Thomas Warnke wrote:

    wir haben als Frontend eine MDB (AccXP unter WinXP), als Backend den
    SQL-Server 2005 Express. Tabellen und Views sind über ODBC eingebunden.

    Wenn ich das gleiche Programm an einen SQL-Server 2008 Express binde,
    habe ich beim Öffnen von Formularen mit Comboboxen extreme
    Performanceprobleme.Die eingebunden Tabellen öffnen sich sofort, die
    Abfragen, die an die Comboboxen geknüpft sind, ebenfalls . Alles in einer
    Testumgebung mit wenig Daten (max. 2000 Datensätze).

    Wie bindest Du? Per DSN? Welchen Treiber verwendest Du? Ist der SQL Server lokal?

    Ich hatte soeben ähnliche Probleme. Grund war, dass das TCP/IP Protokoll nicht mehr verwendet werden darf. Der SQL Server Treiber versucht aber trotzdem über TCP/IP ranzukommen (was der Native Treiber nicht macht). Allerdings nur, wenn Du den Servernamen explizit angibst. Wenn ich statt des Servernamens beim lokalen Server die . Notation verwende (also statt des Namens einen . eingebe), dann wird über shared Memory gearbeitet und das geht schnell.
    Den Native Treiber darf ich nicht verwenden, weil dieser NVARCHAR(MAX) in Access als Text(255) einbindet, was zum Abschneiden des Feldinhaltes führt, ein bekanntes Problem. Der Wechsel auf NTEXT kann ich auch nicht machen, weil dann verschiedene String Funktionen auf dem SQL Server nicht mehr laufen. Daher musste ich beim SQL Server Treiber bleiben.

    Gruss
    Henry

    • Als Antwort markiert Thomas Warnke Samstag, 15. Oktober 2011 06:57
    Donnerstag, 13. Oktober 2011 05:25

Alle Antworten

  • Hallo Thomas,

    Passiert irgendwas beim Laden des Formulars (in Private Sub Form_Load())?

    Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Freitag, 7. Oktober 2011 10:35
    Moderator
  • Hallo,

    nein. Zum Test erstelle ich ein Formular, binde es an eine ODBC-Tabelle, ziehe mehrere Comboboxen rein und binde diese asn eine Query. Beim Öffnen dauert es einige Sekunden, bis die Werte in den Combofeldern angezeigt werden. Das Durchskippen durch die Datensätze geht anschließend normal schnell.

    Es kann doch nur ein Konfigurationsproblem sein, oder? Gibt es Probleme mit dem SQL-Server 2008 unter WindowsXP?

     

    Gruß

    Thomas

    Freitag, 7. Oktober 2011 14:21
  • Hallo Thomas,

    Passiert das Problem auch mit einer neu-erstellten SQL Datenbank? Wenn ja, dann braucht man Re-indexing der alten Datenbank zu machen:

    Creating a job to re-index all user databases in an instance of SQL Server 2005/2008 Enterprise Edition

    Hier ist ein Artikel für die optimalen SQL Server Einstellungen: Die korrekten SQL Server-Konfigurationseinstellungen ermitteln , konnte ich aber keine hilfreichen Tipps für dieses Problem finden.

    Grüße,

    Bogdan


    Ich bin gerne bei den Foren. Es kommt von Herzen. Es wird aber keine implizite oder sonstige Garantie für die geposteten Antworte / Informationen gewährt. Hier auch die Forenregeln.
    Montag, 10. Oktober 2011 09:34
    Moderator
  • Thomas Warnke wrote:

    wir haben als Frontend eine MDB (AccXP unter WinXP), als Backend den
    SQL-Server 2005 Express. Tabellen und Views sind über ODBC eingebunden.

    Wenn ich das gleiche Programm an einen SQL-Server 2008 Express binde,
    habe ich beim Öffnen von Formularen mit Comboboxen extreme
    Performanceprobleme.Die eingebunden Tabellen öffnen sich sofort, die
    Abfragen, die an die Comboboxen geknüpft sind, ebenfalls . Alles in einer
    Testumgebung mit wenig Daten (max. 2000 Datensätze).

    Wie bindest Du? Per DSN? Welchen Treiber verwendest Du? Ist der SQL Server lokal?

    Ich hatte soeben ähnliche Probleme. Grund war, dass das TCP/IP Protokoll nicht mehr verwendet werden darf. Der SQL Server Treiber versucht aber trotzdem über TCP/IP ranzukommen (was der Native Treiber nicht macht). Allerdings nur, wenn Du den Servernamen explizit angibst. Wenn ich statt des Servernamens beim lokalen Server die . Notation verwende (also statt des Namens einen . eingebe), dann wird über shared Memory gearbeitet und das geht schnell.
    Den Native Treiber darf ich nicht verwenden, weil dieser NVARCHAR(MAX) in Access als Text(255) einbindet, was zum Abschneiden des Feldinhaltes führt, ein bekanntes Problem. Der Wechsel auf NTEXT kann ich auch nicht machen, weil dann verschiedene String Funktionen auf dem SQL Server nicht mehr laufen. Daher musste ich beim SQL Server Treiber bleiben.

    Gruss
    Henry

    • Als Antwort markiert Thomas Warnke Samstag, 15. Oktober 2011 06:57
    Donnerstag, 13. Oktober 2011 05:25
  • Hallo Henry,

    der Fehler tritt tatsächlich bei Verwendung des "SQL Server" Treibers auf. Allerdings auch, wenn ich mit "." statt dem Servernamen verbinde.

    Bei Verwendung des "SQL Server Native Client 10.0" funktioniert es! Allerdings nur mit der . Notation:
    "ODBC;Description=SQL2008;DRIVER=SQL Server Native Client 10.0;SERVER=.;UID=sa;PWD=xyz;DATABASE=TEST"

    Wenn ich den Servernamen angebe, kommt die Fehlermeldung "Das Microsoft Jet-Datenbankmodul konnte das Objekt "tblTest" nicht finden.". Er kann verbinden aber findet die Tabellen nicht?
    "ODBC;Description=SQL2008;DRIVER=SQL Server Native Client 10.0;SERVER=MeinPC;UID=sa;PWD=xyz;DATABASE=TEST"

    Der SQL-Server ist momentan lokal installiert (unter winXP). Ist die "." Notation dokumentiert?

    Gruß
    Thomas


    Freitag, 14. Oktober 2011 10:21