Abschluss des SQL Server-Upsizing-Prozesses
Sie können jetzt noch einige weitere Schritte sowohl auf Ihrem Server als auch in Ihrer Visual FoxPro-Anwendung durchführen, um zu gewährleisten, dass Anwendung und Daten stabil sind und korrekt funktionieren.
Die Informationen dieses Abschnitts sind auch dann hilfreich, wenn Sie eine Anwendung anhand von Remoteansichten erstellen. Unabhängig davon, wie Sie die jeweiligen Remotetabellen erstellt haben, sorgen Sie mit bestimmten Schritten dafür, dass der Server und der Client darauf vorbereitet sind, in Ihrer Client/Server-Anwendung zusammenzuarbeiten.
Abschließende Schritte in SQL Server
Sie schließen das Übertragen Ihrer lokalen Anwendung in eine Client/Server-Anwendung ab, indem Sie auf dem Server folgende Schritte ausführen:
- Stellen Sie sicher, dass alle Tabellen, die Sie aus Visual FoxPro bearbeiten möchten, aktualisierbar sind.
- Stellen Sie die Berechtigungen für die Datenbank so ein, dass die Benutzer auf die Objekte zugreifen können, die sie benötigen.
- Schützen Sie Ihre Arbeit, indem Sie die neue Datenbank wiederherstellbar machen für den Fall, dass sie beschädigt oder gelöscht wird.
Hinzufügen eindeutiger Indizes wegen Aktualisierbarkeit
Eine Remotetabelle sollte, damit sie mit Visual FoxPro aktualisiert werden kann, einen eindeutigen Index haben. Der SQL Server-Upsizing-Assistent kann einen bestehenden eindeutigen Index zwar exportieren, er erstellt aber keinen Index, wenn noch keiner besteht. Stellen Sie sicher, dass alle Tabellen, die Sie aus Visual FoxPro bearbeiten möchten, aktualisierbar sind.
Festlegen der Berechtigungen
Die neue SQL Server-Datenbank und deren Objekte erhalten von SQL Server eine Reihe von Standardberechtigungen. Stellen Sie die Berechtigungen für die Remotedatenbank so ein, dass die Benutzer auf die Objekte zugreifen können, die sie benötigen.
Datenbank-Anmeldeberechtigungen
Die Standardberechtigungen einer neuen Datenbank bewirken, dass lediglich Systemadministratoren und der Besitzer der Datenbank auf sie zugreifen dürfen.
Mit dem SQL Server Security Manager sowie den Systemprozeduren sp_adduser
und sp_addgroup
können Sie weitere Benutzer und Benutzergruppen hinzufügen.
Weitere Informationen über das Hinzufügen von Benutzern und Gruppen finden Sie in der Hilfe des SQL Server Security Managers und im Microsoft SQL Server Transact-SQL-Referenzhandbuch in der Beschreibung der Systemprozeduren sp_adduser
und sp_addgroup
.
Objekbezogene Berechtigungen
Alle vom SQL Server-Upsizing-Assistenten erstellten Objekte, also auch Tabellen, Trigger und Standardwertausdrücke, stehen zunächst nur dem Datenbankeigentümer sowie der Systemadministration zur Verfügung. Dies gilt unabhängig davon, ob Sie die lokale Datenbank in eine neue oder eine bestehende Datenbank übertragen haben. Wenn Sie bestehende Objekte überschreiben, werden auch alle objektbezogenen Berechtigungen überschrieben.
Gewährleisten der Wiederherstellbarkeit
Schützen Sie Ihre Arbeit, indem Sie die neue Datenbank wiederherstellbar machen für den Fall, dass sie beschädigt oder gelöscht wird.
Sichern der Master-Datenbank mit einem DUMP DATABASE-Befehl
Wenn auf einem SQL Server eine Datenbank erstellt wird, werden zu den Systemtabellen der Master-Datenbank Datensätze hinzugefügt. Wenn Sie die Master-Datenbank mit einem DUMP DATABASE-Befehl sichern, erhalten Sie auch eine Sicherungskopie, die sämtliche zuletzt vorgenommenen Änderungen enthält.
Planen von Sicherungskopien
Sie sollten Ihre Datenbank regelmäßig sichern, damit Sie die Datenbank für den Fall, dass ein ernstes Problem auftritt, anhand der Sicherungskopie wiederherstellen können.
Mediumspiegelung
Wird ein Medium gespiegelt, werden die auf diesem Medium befindlichen Informationen ständig auf ein anderes SQL Server-Medium kopiert. Für den Fall, dass ein Medium ausfällt, befindet sich auf dem anderen Medium eine aktuelle Kopie aller Transaktionen.
Das Spiegeln eines Mediums sollten Sie dann in Betracht ziehen, wenn Sie davon ausgehen müssen, dass zwischen zwei Sicherungskopien viele Änderungen vorgenommen werden, die auf keinen Fall verloren gehen dürfen. Eine Mediumspiegelung ist dann am effektivsten, wenn sich die beiden Medien auf unterschiedlichen Datenträgern befinden, da eventuell beide Medien verloren gehen, wenn sie sich auf demselben Datenträger befinden und dieser ausfällt.
Abschließende Schritte für den Visual FoxPro-Client
Nachdem Sie Objekte aus Visual FoxPro auf einen SQL Server übertragen haben, müssen Sie wahrscheinlich einige Änderungen am Code der ursprünglichen Visual FoxPro-Datenbank vornehmen, damit sie fehlerfrei mit der neuen SQL Server-Datenbank zusammenarbeitet.
Optimieren von Ansichten
Ansichten, die der SQL Server-Upsizing-Assistent erstellt hat, sind nicht parametrisiert und daher nicht optimiert. Die effektivste Verarbeitung erreichen Sie, indem Sie Parameter zu den Ansichten hinzufügen, die der SQL Server-Upsizing-Assistent erstellt hat, so dass nur die Daten vom Server abgerufen werden, die tatsächlich benötigt werden. Informationen zum Hinzufügen eines Parameters zu einer Ansicht finden Sie unter Erstellung von Ansichten.
Einige Visual FoxPro-Funktionen werden von SQL Server nicht unterstützt. Werden in der Remoteansicht, die der SQL Server-Upsizing-Assistent erstellt hat, Funktionen verwendet, die nicht auf Transact-SQL-Funktionen abgebildet werden konnten, ist die Ansicht nicht funktionsfähig. Weitere Informationen zum Zuordnen von Visual FoxPro-Ausdrücken zu Transact-SQL-Ausdrücken finden unter Abbilden von Ausdrücken.
Erstellen von gespeicherten Prozeduren und Triggern
Der SQL Server-Upsizing-Assistent exportiert weder gespeicherte Visual FoxPro-Prozeduren noch Visual FoxPro-Trigger. Wenn Sie gespeicherte SQL Server-Prozeduren oder SQL Server-Trigger erstellen möchten, können Sie auf einem Server Transact-SQL oder in Visual FoxPro SQL Pass-Through einsetzen. Weitere Informationen über die Verwendung von Transact-SQL finden Sie in der SQL Server-Dokumentation. Informationen zur Verwendung von SQL Pass-Through finden Sie unter Implementieren einer Client/Server-Anwendung.
Vergleichen der Ereignisreihenfolge
In Visual FoxPro treten einige Ereignisse abhängig davon, ob Ihre Anwendung SQL Server-Daten oder Visual FoxPro-Daten verwendet, in unterschiedlicher Reihenfolge auf. Diese Unterschiede bedingen eventuell Änderungen an Ihren Programmen.
Standardwerte
In Visual FoxPro werden die Standardwerte von Feldern angezeigt, sobald Sie damit begonnen haben, einen neuen Datensatz zu bearbeiten. Dagegen werden Standardwerte, die von entsprechenden SQL Server-Ausdrücken erstellt wurden, erst angezeigt, nachdem ein Datensatz eingefügt wurde. Sie müssen alle Programmzeilen ändern, für die Werte benötigt werden, bevor der jeweilige Datensatz übergeben wird; wie z. B. den Code für Verweise.
Gültigkeitsregeln
In Visual FoxPro wird eine feldbezogene Gültigkeitsregel ausgewertet, sobald zu einem anderen Feld gewechselt werden soll. Wenn Sie SQL Server-Daten in eingebundenen Tabellen bearbeiten, werden Trigger und Gültigkeitsregeln erst beim Verlassen des Datensatzes aktiv. Eventuell müssen Sie die datensatzbezogenen Gültigkeitsregeln, die auf feldbezogenen Gültigkeitsregeln basieren, ändern. Feldbezogene Gültigkeitsregeln werden immer dann ausgewertet, wenn ein Feld verlassen wird.
Handhaben nichtumgewandelter Ausdrücke
Im Upsizing-Bericht ist festgehalten, welche Visual FoxPro-Gültigkeitsregeln (datensatz- und feldbezogene) sowie -Standardwertausdrücke erfolgreich umgewandelt (abgebildet) wurden. Alle nichtumgewandelten Standardwertausdrücke und Gültigkeitsregeln müssen Sie in Transact-SQL formulieren.
In Visual FoxPro können Sie Gültigkeitsprüfungen auch auf Formularebene vornehmen. Werden aber die auf dem Server befindlichen Daten ohne das entsprechende Formular bearbeitet, unterbleibt die Gültigkeitsprüfung, so dass eventuell unzulässige Daten übernommen werden.
Weitere Informationen zum Umwandeln von Ausdrücken finden Sie unter Abbilden von Ausdrücken. Weitere Informationen über Transact-SQL-Funktionen finden Sie in der SQL Server-Dokumentation.
Sperren von Datensätzen
Visual FoxPro arbeitet intern mit optimistischem Sperren, wenn es auf Tabellen zugreift, die sich auf einem SQL Server befinden. Optimistisches Sperren bedeutet, dass die jeweilige Zeile nur dann gesperrt ist, wenn der bearbeitete Wert übergeben und der Aktualisierungsvorgang ausgeführt wird, was normalerweise innerhalb eines sehr kurzen Zeitraums geschieht.
Für SQL Server wird nicht mit pessimistischem, sondern mit optimistischem Sperren gearbeitet, da pessimistisches Sperren unter SQL Server durch seitenweises Sperren umgesetzt wird. Damit werden andere Benutzer nicht nur daran gehindert, den Datensatz zu ändern, den Sie momentan bearbeiten, sondern können eventuell auch auf viele andere Datensätze nicht zugreifen, die zu derselben (gesperrten) Seite gehören. Optimistisches Sperren ermöglicht für eine Visual FoxPro Client/Server-Anwendung das bestmögliche Zugriffsverhalten für mehrere Benutzer.
Die SQL-Eigenschaft WhereType ermöglicht es Ihnen, Aktualisierungsvorgänge zu optimieren sowie festzulegen, wie auf Aktualisierungskonflikte reagiert werden soll. Weitere Informationen zum Steuern von Aktualisierungskonflikten finden Sie unter Erstellung von Ansichten.
Siehe auch
Abschluss des SQL Server-Upsizing-Prozesses | Upsizing von Visual FoxPro-Datenbanken | Implementieren einer Client/Server-Anwendung | Vorbereitung des SQL Server-Upsizing-Assistenten