Im Laufe der Zeit wachsen die meisten Datenbankanwendungen, werden komplexer und müssen mehr Benutzer unterstützen. Zu einem bestimmten Zeitpunkt im Leben Ihrer Microsoft Office Access-Anwendung sollten Sie ein Upsizing auf eine Microsoft SQL Server-Datenbank in Betracht ziehen, um Leistung, Skalierbarkeit, Verfügbarkeit, Sicherheit, Zuverlässigkeit und Wiederherstellbarkeit zu optimieren.
In diesem Artikel
Informationen zum Upsizing einer Microsoft Office Access-Datenbank
Upsizing ist der Prozess der Migration einiger oder aller Datenbankobjekte von einer Access-Datenbank zu einer neuen oder vorhandenen SQL Server-Datenbank oder einem neuen Access-Projekt (ADP).
Vorteile des Upsizing einer Datenbank auf SQL Server
-
Hohe Leistung und Skalierbarkeit In vielen Situationen bietet SQL Server eine bessere Leistung als eine Access-Datenbank. SQL Server bietet auch Unterstützung für sehr große Datenbanken im Terabyteformat, die viel größer als der aktuelle Grenzwert für eine Access-Datenbank von zwei Gigabyte ist. Schließlich funktioniert SQL Server sehr effizient, indem Abfragen parallel verarbeitet werden (indem mehrere native Threads innerhalb eines einzigen Prozesses zur Verarbeitung von Benutzeranforderungen verwendet werden) und der zusätzliche Arbeitsspeicherbedarf minimiert wird, wenn mehr Benutzer hinzugefügt werden.
-
Erhöhte Verfügbarkeit mit SQL Server können Sie eine dynamische Sicherung der Datenbank durchführen, die entweder inkrementell oder vollständig ist, während sie verwendet wird. Demzufolge müssen Sie die Benutzer nicht zum Beenden der Datenbank zwingen, um Daten zu sichern.
-
Verbesserte Sicherheit Mithilfe einer vertrauenswürdigen Verbindung können SQL Server in die Windows-Systemsicherheit integriert werden, um einen einzigen integrierten Zugriff auf das Netzwerk und die Datenbank bereitzustellen, wobei das Beste aus beiden Sicherheitssystemen verwendet wird. Dies erleichtert die Verwaltung komplexer Sicherheitsschemas.
-
Sofortige Wiederherstellbarkeit Im Falle eines Systemausfalls (z. B. ein Betriebssystemabsturz oder Stromausfall) verfügt SQL Server über einen automatischen Wiederherstellungsmechanismus, mit dem eine Datenbank innerhalb weniger Minuten ohne Eingriff des Datenbankadministrators auf den letzten Konsistenzzustand wiederhergestellt wird.
-
Serverbasierte Verarbeitung Die Verwendung von SQL Server in einer Client-/Serverkonfiguration reduziert den Netzwerkdatenverkehr, indem Datenbankabfragen auf dem Server verarbeitet werden, bevor Ergebnisse an den Client gesendet werden. Die Verarbeitung durch den Server ist in der Regel viel effizienter, insbesondere bei der Arbeit mit großen Datasets.
Ihre Anwendung kann auch benutzerdefinierte Funktionen, gespeicherte Prozeduren und Trigger verwenden, um Anwendungslogik, Geschäftsregeln und Richtlinien, komplexe Abfragen, Datenüberprüfung und Referenzintegritätscode auf dem Server und nicht auf dem Client zu zentralisieren und gemeinsam zu nutzen.
Möglichkeiten zum Upsize
Der Upsizing-Assistent verschiebt Datenbankobjekte und die darin enthaltenen Daten aus einer Access-Datenbank in eine neue oder vorhandene SQL Server-Datenbank.
Es gibt drei Möglichkeiten, den Upsizing-Assistenten zu verwenden:
-
Upsize all database objects from an Access database to an Access project, sodass Sie eine Client-/Serveranwendung erstellen können. Dieser Ansatz erfordert einige zusätzliche Anwendungsänderungen und Änderungen an Code und komplexen Abfragen.
-
Upsize only data or data definitions from an Access database to a SQL Server database.
-
Erstellen Sie ein Access-Datenbank-Front-End für ein SQL Server Datenbank-Back-End, damit Sie eine Front-End-/Back-End-Anwendung erstellen können. Dieser Ansatz erfordert nur sehr wenige Anwendungsänderungen, da der Code weiterhin die Access-Datenbank-Engine (ACE) verwendet.
Vor dem Upsizen einer Access-Datenbank
Bevor Sie ihre Access-Datenbank auf eine SQL Server-Datenbank oder ein Access-Projekt upsizen, sollten Sie Folgendes in Betracht ziehen:
-
Sichern der Datenbank Obwohl der Upsizing-Assistent keine Daten oder Datenbankobjekte aus Ihrer Access-Datenbank entfernt, ist es eine gute Idee, eine Sicherungskopie Ihrer Access-Datenbank zu erstellen, bevor Sie sie upsizen.
-
Stellen Sie sicher, dass Sie über ausreichend Speicherplatz verfügen. Auf dem Gerät, das die upsisierte Datenbank enthalten soll, muss ausreichend Speicherplatz vorhanden sein. Der Upsizing-Assistent funktioniert am besten, wenn genügend Speicherplatz verfügbar ist.
-
Erstellen eindeutiger Indizes Eine verknüpfte Tabelle muss über einen eindeutigen Index verfügen, um in Access aktualisierbar zu sein. Der Upsizing-Assistent kann einen vorhandenen eindeutigen Index upsizen, aber keinen index erstellen, bei dem keiner vorhanden ist. Wenn Sie Ihre Tabellen aktualisieren möchten, stellen Sie sicher, dass Sie jeder Access-Tabelle vor dem Upsizing einen eindeutigen Index hinzufügen.
-
Weisen Sie sich die entsprechenden Berechtigungen für die SQL Server-Datenbank zu.
-
Zum Upsizen auf eine vorhandene Datenbank benötigen Sie create table- und CREATE DEFAULT-Berechtigungen.
-
Zum Erstellen einer neuen Datenbank benötigen Sie die CREATE DATABASE-Berechtigung und select-Berechtigungen für die Systemtabellen in der Masterdatenbank.
-
Der Access 2007-Upsizing-Assistent ist für die Verwendung mit Microsoft SQL Server 2000 und SQL Server 2005 optimiert.
Verwenden des Upsizing-Assistenten
-
Klicken Sie auf der Registerkarte Datenbanktools in der Gruppe Daten verschieben auf SQL Server.
Der Upsizing-Assistent wird gestartet.
Schritt 1: Auswählen der Upsize für eine vorhandene Datenbank oder eine neue Datenbank
Auf der ersten Seite des Assistenten geben Sie an, ob Sie die Access-Datenbank auf eine vorhandene SQL Server-Datenbank upsizen oder eine neue SQL Server-Datenbank erstellen möchten.
-
Verwenden einer vorhandenen Datenbank Wenn Sie diese Option auswählen und dann auf Weiter klicken, zeigt Access das Dialogfeld Datenquelle auswählen an, damit Sie eine ODBC-Verbindung mit der vorhandenen SQL Server-Datenbank erstellen können.
Informationen zu ODBC-Datenquellen
Eine Datenquelle ist eine Datenquelle, die mit den Verbindungsinformationen kombiniert wird, die für den Zugriff auf diese Daten erforderlich sind. Beispiele für Datenquellen sind Access, SQL Server, Oracle RDBMS, ein Arbeitsblatt und eine Textdatei. Beispiele für Verbindungsinformationen sind der Serverspeicherort, der Datenbankname, die Anmelde-ID, das Kennwort und verschiedene ODBC-Treiberoptionen, die beschreiben, wie die Verbindung mit der Datenquelle hergestellt wird.
In der ODBC-Architektur stellt eine Anwendung (z. B. Access oder ein Microsoft Visual Basic-Programm) eine Verbindung mit dem ODBC-Treiber-Manager her, der wiederum einen bestimmten ODBC-Treiber (z. B. Microsoft SQL ODBC-Treiber) verwendet, um eine Verbindung mit einer Datenquelle (in diesem Fall eine SQL Server-Datenbank) herzustellen. In Access verwenden Sie ODBC-Datenquellen, um Verbindungen mit zu Access externen Datenquellen herzustellen, die keine integrierten Treiber aufweisen.
Sie müssen wie folgt vorgehen, um Verbindungen zu diesen Datenquellen herzustellen:
-
Installieren Sie den passenden ODBC-Treiber auf dem Computer, der die Datenquelle enthält.
-
Definieren Sie einen Datenquellennamen (Data Source Name, DSN), indem Sie die Verbindungsinformationen entweder mithilfe des ODBC-Datenquellenadministrators in der Microsoft Windows-Registrierung oder einer DSN-Datei speichern, oder eine Verbindungszeichenfolge in Visual Basic-Code verwenden, um die Verbindungsinformationen direkt an den ODBC-Treiber-Manager zu übergeben.
Computerdatenquellen
Computerdatenquellen speichern Verbindungsinformationen in der Windows-Registrierung auf einem bestimmten Computer mit einem benutzerdefinierten Namen. Computerdatenquellen können nur auf dem Computer verwendet werden, auf dem sie definiert sind. Es gibt zwei Arten von Computerdatenquellen – Benutzer und System. Benutzerdatenquellen können nur vom aktuellen Benutzer verwendet werden und sind auch nur für diesen Benutzer sichtbar. Systemdatenquellen können von allen Benutzern eines Computers verwendet werden und sind für alle Benutzer dieses Computers und seine systemweiten Dienste sichtbar. Eine Computerdatenquelle ist besonders nützlich, wenn Sie zusätzliche Sicherheit bereitstellen wollen, da nur angemeldete Benutzer eine Computerdatenquelle sehen können und sie nicht von Remotebenutzern auf einen anderen Computer kopiert werden kann.
Dateidatenquellen
Bei Dateidatenquellen (auch als DSN-Dateien bezeichnet) sind Verbindungsinformationen in einer Textdatei statt in der Windows-Registrierung gespeichert, daher sind sie im Allgemeinen flexibler zu verwenden als Computerdatenquellen. Sie können z. B. eine Dateidatenquelle auf einen beliebigen Computer mit dem richtigen ODBC-Treiber kopieren, damit Ihre Anwendung auf konsistente und genaue Verbindungsinformationen zu allen von ihr genutzten Computern zurückgreifen kann. Alternativ können Sie die Dateidatenquelle auf einem einzelnen Server platzieren, sie auf mehreren Computern im Netzwerk gemeinsam verwenden und die Verbindungsinformationen komfortabel an einem Ort verwalten.
Eine Dateidatenquelle kann auch nicht freigegeben werden können. Eine nicht freigegebene Dateidatenquelle befindet sich auf einem einzelnen Computer und verweist auf eine Computerdatenquelle. Sie können nicht teilbare Dateidatenquellen verwenden, um von Dateidatenquellen aus auf vorhandene Computerdatenquellen zuzugreifen.
Verbindungszeichenfolgen
In einem Modul können Sie eine formatierte Verbindungszeichenfolge definieren, die Verbindungsinformationen angibt. Eine Verbindungszeichenfolge übergibt die Verbindungsinformationen direkt an den ODBC-Treiber-Manager und vereinfacht Ihre Anwendung, da die Anforderung, dass ein Systemadministrator oder Benutzer vor der Verwendung der Datenbank zuerst einen DSN erstellt, beseitigt wird.
-
-
Erstellen einer neuen Datenbank Wenn Sie diese Option auswählen und dann auf Weiter klicken, zeigt Access eine Seite an, auf der Sie Informationen zur neuen SQL Server Datenbank eingeben.
-
Welche SQL Server möchten Sie für diese Datenbank verwenden? Geben Sie den Namen des Servers ein, den Sie verwenden möchten.
-
Vertrauenswürdige Verbindung Sie können eine vertrauenswürdige Verbindung verwenden, d. h. SQL Server kann in die Windows-Betriebssystemsicherheit integriert werden, um eine einzelne Anmeldung beim Netzwerk und der Datenbank bereitzustellen.
-
Anmelde-ID und Kennwort Wenn Sie keine vertrauenswürdige Verbindung verwenden, geben Sie die Anmelde-ID und das Kennwort eines Kontos mit CREATE DATABASE-Berechtigungen auf dem Server ein.
-
Wie möchten Sie Ihre neue SQL Server Datenbank benennen? Geben Sie den Namen der neuen SQL Server-Datenbank ein. Access ändert den Namen, wenn er mit einem vorhandenen Datenbanknamen in Konflikt kommt, und fügt ein nummeriertes Suffix hinzu (z. B. mydatabase 1).
-
Schritt 2: Auswählen der Tabellen für die Upsize
In diesem Schritt wählen Sie die Access-Tabellen aus, die Sie auf die SQL Server-Datenbank aktualisieren möchten. Wählen Sie die Tabellen aus, die Sie upsizen möchten, und verschieben Sie sie dann mithilfe der Pfeilschaltflächen in die Liste Exportieren in SQL Server. Alternativ können Sie auf eine Tabelle doppelklicken, um sie von einer Liste in die andere zu verschieben.
Die Liste Verfügbare Tabellen enthält alle verknüpften Tabellen mit Ausnahme von SQL Server Tabellen, die sich bereits in einer SQL Server-Datenbank befinden. Verknüpfte Tabellen, die auf eine SQL Server Datenbank verweisen, die für das Upsizing ausgewählt wurde, werden automatisch im Listenfeld In SQL Server exportieren angezeigt und können nicht entfernt werden. Tabellen, die derzeit nicht im Navigationsbereich sichtbar sind, werden ebenfalls ausgeschlossen, einschließlich ausgeblendeter Tabellen und Systemtabellen.
Tipp: Jede Tabelle mit einem Namen, der auf "_local" endet, wird aus der Liste der verfügbaren Tabellen ausgeschlossen, um das Upsizing von Tabellen zu verhindern, die bereits upsisiert wurden. Wenn Sie diese Tabellen erneut upsizen möchten, benennen Sie sie um, bevor Sie den Upsizing-Assistenten ausführen, indem Sie das Suffix "_local" entfernen.
Schritt 3: Angeben der Attribute und Optionen, die upsisiert werden sollen
In diesem Schritt wählen Sie aus, welche Tabellenattribute in Ihre SQL Server Datenbank upsizen möchten. Standardmäßig sind alle Attribute für das Upsizing ausgewählt.
Hinweis: Standardmäßig konvertiert der Upsizing-Assistent Access-Feldnamen in zulässige SQL Server Feldnamen und Access-Datentypen in die entsprechenden SQL Server Datentypen.
Welche Tabellenattribute möchten Sie upsizen?
In der folgenden Tabelle sind die Attribute aufgeführt, die Sie upsizen können, und es wird beschrieben, wie der Upsizing-Assistent die einzelnen Attribute behandelt:
Attribut |
Aktion, falls ausgewählt |
|||||||||||||||
Indizes |
Der Upsizing-Assistent upsizes alle Indizes. Der Upsizing-Assistent konvertiert Access-Primärschlüssel in SQL Server Indizes und markiert sie als SQL Server Primärschlüssel. Wenn Sie die upsized SQL Server Tabelle mit Ihrer Access-Datenbank verknüpfen möchten, fügt der Upsizing-Assistent dem Indexnamen auch das Präfix "aaaaa" hinzu. Dies liegt daran, dass Access den Index, der sich zuerst alphabetisch in der Liste der verfügbaren Indizes befindet, als Primärschlüssel auswählt und das Präfix "aaaaa" sicherstellt, dass der richtige Index ausgewählt wird. Alle anderen Indizes behalten ihre Namen bei, außer wenn unzulässige Zeichen durch das Zeichen "_" ersetzt werden. Eindeutige und nicht eindeutige Access-Indizes werden zu eindeutigen und nicht eindeutigen SQL Server Indizes. Eine verknüpfte Tabelle muss über einen eindeutigen Index verfügen, um in Access aktualisierbar zu sein. Der Upsizing-Assistent kann einen vorhandenen eindeutigen Index upsizen, aber keinen index erstellen, bei dem keiner vorhanden ist. Wenn Sie in der Lage sein möchten, die Daten in Ihren Tabellen nach dem Upsizing zu aktualisieren, stellen Sie sicher, dass Sie jeder Access-Tabelle vor dem Upsizing einen eindeutigen Index hinzufügen. |
|||||||||||||||
Validierungsregeln |
Der Upsizing-Assistent aktualisiert Folgendes als Update- und Einfügetrigger:
Ein Trigger ist eine Reihe von Transact-SQL-Anweisungen, die einer SQL Server Tabelle zugeordnet sind. Eine Tabelle kann drei Trigger enthalten, einen für jeden der Befehle, die Daten in einer Tabelle ändern können: die Befehle UPDATE, INSERT und DELETE. Der Trigger wird automatisch ausgeführt, wenn der Befehl ausgeführt wird. Der Upsizing-Assistent verwendet Trigger anstelle von SQL Server Regeln, um die Überprüfung auf Feldebene zu erzwingen, da SQL Server Regeln das Anzeigen benutzerdefinierter Fehlermeldungen nicht zulassen. Jede Validierungsregel weist nicht unbedingt eine 1:1-Entsprechung mit einem Trigger auf. Jede Validierungsregel kann Teil mehrerer Trigger werden, und jeder Trigger kann Code enthalten, um die Funktionalität mehrerer Validierungsregeln zu emulieren. Wenn Sie die Required-Eigenschaft eines Access-Felds auf true festlegen, kann ein Benutzer keinen Datensatz einfügen und das erforderliche Feld null lassen (wenn kein Standard an das Feld gebunden ist) oder das Feld beim Aktualisieren eines Datensatzes null machen. Pflichtfelder werden auf Felder upsisiert, die keine NULL-Werte auf SQL Server zulassen. Gültigkeitsprüfungsmeldung Die Access-Datenbankvalidierungstext-Eigenschaft wird in die Eigenschaft Validierungstext des Access-Projekts konvertiert. Dadurch können die access-freundlichen Fehlermeldungen im Falle eines Einschränkungsverstoßes zur Laufzeit angezeigt werden. |
|||||||||||||||
Standardwerte |
Der Upsizing-Assistent upsizes alle Standardwerteigenschaften auf Standardobjekte des American National Standards Institute (ANSI). |
|||||||||||||||
Tabellenbeziehungen |
Der Upsizing-Assistent upsizes alle Tabellenbeziehungen. Sie können entscheiden, wie Tabellenbeziehungen und referenzielle Integrität mithilfe von Update-, Einfüge- oder Löschtriggern oder deklarierter referenzieller Integrität (DRI) upsizen. DRI funktioniert auf die gleiche Weise wie die referenzielle Integrität von Access, indem Primärschlüsseleinschränkungen für Basistabellen (die "1"-Seite einer 1:n-Beziehung) und Fremdschlüsseleinschränkungen für Fremdtabellen (in der Regel die "n"-Seite einer 1:n-Beziehung) definiert werden.
|
Welche Datenoptionen möchten Sie einschließen?
-
Hinzufügen von Zeitstempelfeldern zu Tabellen SQL Server verwendet ein Zeitstempelfeld, um anzugeben, dass ein Datensatz geändert wurde (aber nicht, als er geändert wurde), indem ein eindeutiges Wertfeld erstellt und dieses Feld dann aktualisiert wird, wenn ein Datensatz aktualisiert wird. Für eine verknüpfte Tabelle verwendet Access den Wert in Zeitstempelfeldern, um zu bestimmen, ob ein Datensatz vor der Aktualisierung geändert wurde. Im Allgemeinen bietet ein Zeitstempelfeld die beste Leistung und Zuverlässigkeit. Ohne Zeitstempelfeld müssen SQL Server alle Felder im Datensatz überprüfen, um festzustellen, ob sich der Datensatz geändert hat, wodurch die Leistung beeinträchtigt wird.
In der folgenden Tabelle werden die in dieser Liste verfügbaren Einstellungen beschrieben:
Einstellung |
Beschreibung |
Ja, lassen Sie den Assistenten entscheiden |
Wenn die ursprünglichen Access-Tabellen Gleitkommafelder (Single oder Double), Memo- oder OLE-Objekt-Felder enthalten, erstellt der Upsizing-Assistent neue Zeitstempelfelder in den resultierenden SQL Server Tabellen für diese Felder. |
Ja, immer |
Der Upsizing-Assistent erstellt ein Zeitstempelfeld für alle upsized-Tabellen, unabhängig davon, welche Feldtypen sie enthalten. Dadurch wird die Leistung von Access-Tabellen mit upsized verbessert, die möglicherweise keine Memo-, OLE-Objekt- oder Gleitkommafelder enthalten, aber Felder anderer Typen aufweisen. |
Nein, niemals |
Der Upsizing-Assistent fügt Tabellen keine Zeitstempelfelder hinzu. |
Wichtig: In verknüpften SQL Server Tabellen überprüft Access nicht, ob sich Memo- oder OLE-Objektfelder geändert haben, da diese Felder viele Megabyte groß sein könnten und der Vergleich möglicherweise zu netzwerkintensiv und zeitaufwändig sein könnte. Wenn sich daher nur ein Text- oder Bildfeld geändert hat und kein Zeitstempelfeld vorhanden ist, überschreibt Access die Änderung. Auch der Wert eines Gleitkommafelds scheint sich geändert zu haben, wenn dies nicht der Fall ist. Wenn kein Zeitstempelfeld vorhanden ist, kann Access also feststellen, dass der Datensatz geändert wurde, wenn dies nicht der Fall ist.
-
Erstellen Sie nur die Tabellenstruktur, keine Datenupsize. Der Upsizing-Assistent upsizes alle Daten standardmäßig auf SQL Server. Wenn Sie das Kontrollkästchen Nur Tabellenstruktur erstellen, keine Daten upsizen aktivieren, wird nur die Datenstruktur upsisiert.
Schritt 4: Auswählen der Upsize Ihrer Anwendung
Auf der nächsten Seite des Assistenten können Sie eine von drei verschiedenen Möglichkeiten zum Upsizen Ihrer Access-Datenbankanwendung auswählen. Wählen Sie unter Welche Anwendungsänderungen möchten Sie vornehmen? eine der folgenden Optionen aus:
-
Erstellen einer neuen Access-Client-/Serveranwendung Wenn Sie diese Option auswählen, erstellt der Upsizing-Assistent ein neues Access-Projekt. Der Upsizing-Assistent fordert Sie zur Eingabe eines Namens auf, der standardmäßig auf den aktuellen Access-Datenbanknamen festgelegt ist, fügt das Suffix "CS" hinzu und speichert das Projekt dann am selben Speicherort wie die vorhandene Access-Datenbank.
Der Upsizing-Assistent erstellt die Access-Projektdatei und erstellt dann alle Datenbankobjekte aus der Access-Datenbank in das Access-Projekt. Wenn Sie das Kennwort und die Benutzer-ID nicht speichern, zeigt Access beim ersten Öffnen des Access-Projekts das Dialogfeld Datenlinkeigenschaften an, damit Sie eine Verbindung mit einer SQL Server Datenbank herstellen können.
-
Verknüpfen SQL Server Tabellen mit einer vorhandenen Anwendung Wenn Sie diese Option auswählen, ändert der Upsizing-Assistent Ihre Access-Datenbank, sodass ihre Abfragen, Formulare, Berichte und Datenzugriffsseiten die Daten in der neuen SQL Server Datenbank anstelle der Daten in Ihrer Access-Datenbank verwenden. Der Upsizing-Assistent benennt die Access-Tabellen, die Sie upsizen, mit dem Suffix "_local" um. Wenn Sie z. B. eine Tabelle mit dem Namen Employees upsizen, wird die Tabelle in Ihrer Access-Datenbank Employees_local umbenannt. Anschließend erstellt der Upsizing-Assistent eine verknüpfte SQL Server Tabelle mit dem Namen Employees.
Hinweis: Nach Abschluss des Upsizing-Vorgangs werden die Tabellen, die mit dem Suffix "_local" umbenannt wurden, nicht mehr verwendet. Es empfiehlt sich jedoch, die lokalen Tabellen beizubehalten, bis Sie überprüfen, ob das Upsizing erfolgreich war. Zu einem späteren Zeitpunkt können Sie die lokalen Tabellen löschen, um die Größe Ihrer Access-Datenbank zu verringern. Stellen Sie sicher, dass Sie Ihre Datenbank sichern, bevor Sie Tabellen löschen.
Abfragen, Formulare, Berichte und Datenzugriffsseiten, die auf den ursprünglichen Employees-Tabellen basieren, verwenden jetzt die verknüpfte SQL Server Employees-Tabelle. Viele der Eigenschaften der Felder in der ursprünglichen lokalen Tabelle werden von der neuen lokalen Tabelle geerbt, einschließlich Description, Caption, Format, InputMask und DecimalPlaces.
-
Keine Anwendungsänderungen Wählen Sie diese Option aus, wenn Sie Ihre Daten nur in die SQL Server-Datenbank kopieren und keine weiteren Änderungen an Ihrer vorhandenen Access-Datenbankanwendung vornehmen möchten.
Kennwort und Benutzer-ID speichern Standardmäßig erstellt der Upsizing-Assistent verknüpfte Tabellen in der vorhandenen Anwendung oder ein Access-Projekt, ohne den Benutzernamen und das Kennwort zu speichern. Dies bedeutet, dass Benutzer bei jeder Anmeldung bei einer SQL Server Datenbank zur Eingabe eines Benutzernamens und Kennworts aufgefordert werden.
Wenn Sie Kennwort und Benutzer-ID speichern auswählen, können Benutzer ohne Anmeldung eine Verbindung mit einer SQL Server-Datenbank herstellen. Wenn Sie Neue Access-Client-/Serveranwendung erstellen auswählen, speichert das Access-Projekt das Kennwort für den Benutzernamen im OLE DB-Verbindungszeichenfolge.
Hinweis: Diese Option ist für die Option Keine Anwendungsänderungen deaktiviert, wenn eine verknüpfte SQL Server Tabelle mit einer MSysConf-Tabelle konfiguriert ist, um das Speichern von Kennwörtern zu verweigern.
Bericht des Upsizing-Assistenten
Wenn Sie auf Fertig stellen klicken, erstellt der Upsizing-Assistent einen Bericht, der eine detaillierte Beschreibung aller erstellten Objekte enthält und alle fehler meldet, die während des Vorgangs aufgetreten sind. Der Upsizing-Assistent zeigt den Bericht in der Seitenansicht an, und Sie können den Bericht dann drucken oder speichern, z. B. als XPS- oder PDF-Datei. Der Bericht wird nicht als Access-Objekt gespeichert, wenn Sie das Fenster Seitenansicht schließen.
Der Bericht des Upsizing-Assistenten enthält Informationen zu den folgenden Themen:
-
Upsizing-Parameter, einschließlich der Tabellenattribute, die Sie für die Upsize ausgewählt haben und wie Sie upsized haben.
-
Tabelleninformationen, einschließlich eines Vergleichs von Access- und SQL Server Werten für Namen, Datentypen, Indizes, Validierungsregeln, Standardwerte, Trigger und ob Zeitstempel hinzugefügt wurden oder nicht.
-
Alle aufgetretenen Fehler, z. B. datenbank- oder Transaktionsprotokoll vollständig, unzureichende Berechtigungen, Nicht erstelltes Gerät oder Datenbank, Tabelle, Standard oder Validierungsregel übersprungen, Beziehung nicht erzwungen, Abfrage übersprungen (da sie nicht in SQL Server Syntax übersetzt werden kann) und Steuerelement und Datenherkunft Konvertierungsfehler in Formularen und Berichten.
Wie Datenbankobjekte upsisiert werden
Die folgenden Daten- und Datenbankobjekte werden upsisiert:
-
Daten und Datentypen Alle Access-Datenbankdatentypen werden in SQL Server in ihre Entsprechung konvertiert. Der Assistent konvertiert Access-Datenbanktext in Unicode, indem er allen Zeichenfolgenwerten den Unicode-Zeichenfolgenbezeichner hinzufügt und allen Datentypen das Unicode-Präfix n hinzufügt.
-
Abfragen
-
Ausgewählte Abfragen ohne ORDER BY-Klausel oder Parameter werden in Ansichten konvertiert.
-
Aktionsabfragen werden in Aktionsabfragen für gespeicherte Prozeduren konvertiert. Access fügt SET NOCOUNT ON nach dem Parameterdeklarationscode hinzu, um sicherzustellen, dass die gespeicherte Prozedur ausgeführt wird.
-
Ausgewählte Abfragen, die nur auf Tabellen verweisen (auch als Basisabfragen bezeichnet), die parameter oder eine ORDER BY-Klausel verwenden, werden in benutzerdefinierte Funktionen konvertiert. Bei Bedarf wird die TOP 100 PERCENT-Klausel einer Abfrage hinzugefügt, die eine ORDER BY-Klausel enthält.
-
Parameterabfragen, die benannte Parameter verwenden, behalten den ursprünglichen Textnamen bei, der in der Access-Datenbank verwendet wird, und werden entweder in gespeicherte Prozeduren oder in benutzerdefinierte Inlinefunktionen konvertiert.
Hinweis: Möglicherweise müssen Sie Abfragen, die keine Upsize durchgeführt haben, manuell konvertieren, z. B. SQL-Passthrough-Abfragen, Datendefinitionsabfragen und Kreuztabellenabfragen. Möglicherweise müssen Sie auch abfragen, die zu tief geschachtelt waren, manuell hochzuizen.
-
-
Forms, Berichte und Steuerelemente SQL-Anweisungen in den Eigenschaften RecordSource, ControlsSource und RowSource für Formulare, Berichte oder Steuerelemente werden beibehalten und nicht in gespeicherte Prozeduren oder benutzerdefinierte Funktionen konvertiert.
-
Starteigenschaften Der Upsizing-Assistent upsizes die folgenden Starteigenschaften:
StartUpShowDBWindow
StartUpShowStatusBar AllowShortcutMenus AllowFullMenus AllowBuiltInToolbars AllowToolbarChanges AllowSpecialKeys UseAppIconForFrmRpt AppIcon AppTitle StartUpForm StartUpMenuBar StartupShortcutMenuBar -
Module und Makros Der Upsizing-Assistent nimmt keine Änderungen an Modulen oder Makros vor. Möglicherweise müssen Sie Ihre Anwendung ändern, um die Features von SQL Server in vollem Umfang nutzen zu können. Weitere Informationen finden Sie im MSDN-Artikel Optimieren von Microsoft Office Access-Anwendungen, die mit SQL Server verknüpft sind.