none
Migration einer Datenbank von SQL Server 2000 zu SQL Server 2008 RC Express RRS feed

  • Frage

  • Hallo,

    Auf meinem lokalen PC laufen SQL Server 2000 und SQL Server 2008 RC Express.

    Ich habe die gesicherte Datenbank von SS 2000 in 2008 Express wiederhergestellt.

    Den Data Source meines ConnectionStrings mit der neuen Instanz <servername>/SQLEXPRESS versehen.

    Die Remoteverbindung und TCP/IP ist aktiviert

    So weit so gut doch irgendetwas scheine ich zu übersehen… denn diese Fehlermeldung

    Microsoft OLE DB Provider for SQL Server (0x80040E4D)

    Fehler bei der Anmeldung für den Benutzer 'testuser'.

    ist äußerst hartnäckig und ich habe keine Plan mehr was ich noch konfigurieren könnte:

    Auf SQL Server 2000 funktioniert es wunderbar (seit Jahren). Also vielleicht kann mir jemand auf die Sprünge helfen.

    Im Voraus schon einmal vielen Dank
    Kai


    Dienstag, 17. Juli 2012 14:16

Antworten

  • OK, dann weiter im Ratespiel.

    Der Fehlermeldung (diese mal bitte vollständig posten mit allen Fehlercode!) nach willst Du Dich mit einem SQL Login anmelden.

    • Läuft der SQL Server im Mixed Mode, also das sowohl Windows als auch SQL Logins zugelassen sind?
    • Ist der SQL Login angelegt und hat Rechte für die Datenbank?

    Ansonsten wie gesagt bitte einmal die vollständige Fehlermeldung posten.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert kai-QuinCunx Dienstag, 17. Juli 2012 15:05
    Dienstag, 17. Juli 2012 14:57

Alle Antworten

  • Hallo Kai,

    der Instanzename wird durch eine Backslash getrennt, nicht durch Slash =>
    <servername>\SQLEXPRESS


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort vorgeschlagen Elmar Boye Dienstag, 17. Juli 2012 14:38
    Dienstag, 17. Juli 2012 14:21
  • Schon mal vielen dank, aber das war nur ein schreibfehler :-(

    Nur die Arbeit ist lang, die man nicht zu beginnen wagt. E.A. Poe

    Dienstag, 17. Juli 2012 14:32
  • OK, dann weiter im Ratespiel.

    Der Fehlermeldung (diese mal bitte vollständig posten mit allen Fehlercode!) nach willst Du Dich mit einem SQL Login anmelden.

    • Läuft der SQL Server im Mixed Mode, also das sowohl Windows als auch SQL Logins zugelassen sind?
    • Ist der SQL Login angelegt und hat Rechte für die Datenbank?

    Ansonsten wie gesagt bitte einmal die vollständige Fehlermeldung posten.


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    • Als Antwort markiert kai-QuinCunx Dienstag, 17. Juli 2012 15:05
    Dienstag, 17. Juli 2012 14:57
  • Hallo Olaf,

    genau das war der Punkt den ich übersehen hatte.

    Noch mal tausend Dank für die schnelle Antwort.

    lg kai

    Nachtrag

    In einem anderen Blog fand ich noch diesen Artikel: SQL Logins umziehen. Auf einem anderen Rechner hatte ich den Mixed-Mode schon eingeschaltet, ohne Erfolg, erst als ich auch einen neuen Benutzer angelegt hatte, konnte ich vom localhost aus, darauf zugreifen. Bei einem Restore muss auch der Benutzer, obwohl er in der db aufgelistet wird, aktualisiert werden.


    Nur die Arbeit ist lang, die man nicht zu beginnen wagt. E.A. Poe


    • Bearbeitet kai-QuinCunx Mittwoch, 18. Juli 2012 08:18 Ergänzung der Lösung
    Dienstag, 17. Juli 2012 15:04
  • Am 17.07.2012 17:04, schrieb kai-QuinCunx:

    Hallo Olaf,

    genau das war der Punkt den ich übersehen hatte.

    Was denn genau, Olaf hat schliesslich zwei Punkte genannt ;)

    Nachtrag

    In einem anderen Blog fand ich noch diesen Artikel: SQL Logins umziehen <http://blog.fumus.de/sql-server/2012/03/sql-logins-umziehen/>. Auf einem anderen Rechner hatte ich den Mixed-Mode schon eingeschaltet, ohne Erfolg, erst als ich auch einen neuen Benutzer angelegt hatte, konnte ich vom localhost aus, darauf zugreifen. Bei einem Restore muss auch der Benutzer, obwohl er in der db aufgelistet wird, aktualisiert werden.

    Nach einem Restore musst du immer die Verbindung zwischen SQL-Login und DB-Nutzer wiederherstellen
    Das geht am schnellsten per Skript. Siehe auch die Hilfe zu sp_change_users_login

    EXEC sp_change_users_login 'Report'
    GO

    EXEC sp_change_users_login 'Auto_Fix', 'DbNutzer'
    GO

    Donnerstag, 19. Juli 2012 06:31
  • erst als ich auch einen neuen Benutzer angelegt hatte, konnte ich vom localhost aus, darauf zugreifen. Bei einem Restore muss auch der Benutzer, obwohl er in der db aufgelistet wird, aktualisiert werden

    Naturlich müssen die Windows + SQL Logins angelegt werden, die fallen nich vom Himmerl. Wenn Du sie von Hand anlegst, haben die Login zwar den gleichen Namen, aber eine andere SID (Security ID), die nicht mit der in den Datenbanken gespeicherten SID zusammenpassen; man spricht dann von verwaisten Benutzern (orphaned users), siehe auch Troubleshoot Orphaned Users (SQL Server).

    Lutz hat ja schon geschrieben, mit welcher SP man den Verweis alter/neuer Login wieder herstellen kann. Aber Vorsicht, die SP ist etwas "gefährlich", den wenn es den Datenbank-User nicht als Server Login vorhanden ist (z.B. Vertipper bei der Anlage oder schlicht vergessen), wird dieser neu ohne Passwort angelegt.

    Ich hatte mir dafür mal ein Script erstellt, das nur für vorhandene User den Link korrigiert, kannst Du im TechNet ScriptCenter finden: Secure Orphaned User AutoFix


    Olaf Helper
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich
    Blog Xing

    Donnerstag, 19. Juli 2012 06:45