Announcement

Collapse
No announcement yet.

MS SQL Server Migration Assistant

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • MS SQL Server Migration Assistant

    Hallo liebes Forum,

    ich habe den Entschluss gefasst meine MS Access Datenbanken mit dem Microsoft SQL Server Migration Assistant in SQL Server 2005 (Express) zu wandeln ...
    Leider hat der Assistant etwas mehr Meldungen und Informationen auf Lager als mir lieb ist und deshalb glaube ich dass ich bloss gedacht habe , dass ich den Entschluss gefaßt habe ...

    Besonders irritieren mich Informationen wie:
    A2SS0016: SQL Server Migration Assistant for Access Warning message: Primary key column is nullable (1) Estimated manual conversion time: 0.5 hr(s)1 tbl2100GuidJagdgebiet(1), Estimated manual conversion time: 0.5 hr(s)

    A2SS0023: SQL Server Migration Assistant for Access Warning message: Default value '0' added to target column (2)2 tbl2100GuidJagdgebiet(2)

    A2SS0005: SQL Server Migration Assistant for Access Info message: Zero-length-not-allowed flag converted (3)3
    A2SS0020: SQL Server Migration Assistant for Access Info message: New timestamp column created (1)4
    A2SS0029: SQL Server Migration Assistant for Access Info message: Identifier name was changed (5)5

    Dazu kann ich mir im Moment noch keinen Reim machen!?

    Meine Bitte - Hat sich schon irgendjemand mit diesem Thema auseinandergesetzt - und Erfolg gehabt?

    Über Anregungen würde ich mich sehr freuen!
    Danke
    Christian

  • #2
    Ja, ich habe schon mit dem Tool meine Freude gehabt :-)

    Die erste Warnung ist etwas ernsthafter Natur. In Access kannst du eine Spalte als Primary Key definieren, die Null-Werte enthalten darf. Das ist im SQL Server nicht möglich. Hast du keine Null-Werte enthalten, und das Flag ist nur aus "Schludrigkeit" gesetzt, kannst du sie ignorieren. Ansonsten musst du dafür sorgen, dass in dieser Spalte keine Null-Werte sind.

    Die zweite Warnung, dass ein Default-Wert gesetzt wurde, ist eigentlich nur eine Information. Welchen Datentyp hat denn die Quellspalte?

    Die Info-Message mit dem Zero-length-not-allowed Flag ist nur eine Info. Der SQL-Server hat kein Flag, mit dem festgelegt werden kann, dass eine (n)varchar-Spalte einen Wert enthalten muss mit einer Länge größer 0. Das bildet der SSMA mit einem Constraint ab. Über das Anlegen des Constraint wird hier nur informiert.

    Ähnlich bei der Timestamp-Spalte. Ich habe es nie ganz begriffen, warum der SSMA das macht, das kann jemand anders erklären. Ich habe die betreffende Spalte nach der Migration gelöscht, da meine Datenbank sie nicht braucht.

    Die Info wegen dem Identifier name bedeutet, dass ein Spaltenname geändert wurde. Der Name der Quellspalte entspricht nicht den Regeln für Namen, die beim SQL Server gelten, und musste daher bei der Migration geändert werden. Du solltest deine Abfragen entsprechend ändern.

    Gruß,
    Martin

    Comment


    • #3
      Wegen der Timestamp-Spalte siehe auch:
      http://technet.microsoft.com/en-us/l.../bb188204.aspx

      Der Typ wurde ursprünglich für die Unterstützung der Wiederherstellung eingeführt, da sie ja die Reihenfolge der Aktualisierung des Datensatzes darstellt (Rowversion).
      Sie wird dann genutzt, um festzustellen, ob der aktuelle Datensatz seit dem Laden von einem anderen Prozess verändert wurde; dann hat sich der Timestamp Wert verändert (siehe oben unter "Supporting Concurrency Checks")

      Olaf
      Olaf Helper

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

      Comment


      • #4
        Ja, so kenne ich den timestamp-Typ auch, dass er als Alternative für eine Concurrency-ID dient. Dafür habe ich in auch mal in einem anderen Projekt benutzt. Aber wieso der SSMA in manchen Tabellen automatisch eine Spalte SSMA_Timestamp einfügt, und bei anderen nicht, ist mir schleierhaft. Ich gebe auch zu, dass ich mich nicht so sehr damit beschäftigt habe, der Fortschritt des Migrationsprojektes war mir wichtiger.

        Gruß,
        Martin

        Comment


        • #5
          Lieber Olaf, Lieber Martin
          Danke für Eure Antwort!

          A2SS0016: SQL Server Migration Assistant for Access Warning message: Primary key column is nullable (1) Estimated manual conversion time: 0.5 hr(s)1 tbl2100GuidJagdgebiet(1), Estimated manual conversion time: 0.5 hr(s)
          Für die Primary key column wurde der Datentyp: "Autowert Replikations-ID " vereinbart; Indizierung: Ja (Ohne Duplikate) - darum verstehe ich diese Warnung nicht!

          A2SS0023: SQL Server Migration Assistant for Access Warning message: Default value '0' added to target column (2)2 tbl2100GuidJagdgebiet(2)
          Für die Werte dieser Quellspalte wurde der Datentyp: "Long Integer" mit einem Default-Wert 0 vereinbart.
          Allgemeine Verständnisfrage:
          Default Wert 0: ist nicht notwendig, nicht zweckmäßig, oder ...?

          A2SS0020: SQL Server Migration Assistant for Access Info message: New timestamp column created (1)4
          Wie sind eigentlich die Hinweise : ... (1)4 zu interpretieren?

          Gruß Christian

          Comment

          Working...
          X