Info: Änderungen an SQLServer 6.5, 6.0 auf, Anwendungen

SPRACHE AUSWÄHLEN SPRACHE AUSWÄHLEN
Artikel-ID: 152032 - Produkte anzeigen, auf die sich dieser Artikel bezieht
Dieser Artikel wurde archiviert. Er wird im vorliegenden Zustand bereitgestellt und nicht mehr aktualisiert.
Alles erweitern | Alles schließen

Auf dieser Seite

Zusammenfassung

Dieser Artikel enthält eine Liste von Änderungen an Microsoft SQL Server, Version 6.5, die Ihre vorhandenen SQL Server 6.0-Anwendungen beeinträchtigen können.

Inhalt:
  1. Änderungen der System-Tabelle
  2. Gespeicherte Prozedur Änderungen und Änderungen im Format
  3. Neue Installation Standard
  4. Schlüsselwörter
  5. FROM-Klausel und Tabellennamen
  6. SELECT DISTINCT mit ORDER BY
  7. REFERENCES-Berechtigung erforderlich, um Fremdschlüssel erstellen
  8. SELECT INTO oder CREATE VIEW ohne Spaltenname
  9. RAISERROR Mengen @@ ERROR auf 0, wenn Schweregrad 10 oder weniger
  10. Start-Prozedur: Sp_sqlregister
  11. Forward-only Cursor Standard, um dynamische Cursor
  12. Pläne für die Cursor auf gespeicherte Prozeduren den
  13. Neuen Dienst: MSDTC
  14. USE-Anweisung in EXECUTE zurückgesetzt bei Abschluss
  15. ODBC-Treibereinstellungen
  16. JOIN-Syntax und Ablaufverfolgungs-Flag 204
  17. Objekte in einer Transaktion erstellt wurden
  18. SELECT INTO ist jetzt einer atomaren Operation
  19. Aufgrund von mehr Paket Größe Reduced ISQL/W-Verbindungen
  20. Globale Variablen in CHECK und DEFAULT-Einschränkungen nicht erlaubt
  21. Onlinedokumentation: Neue Viewer
  22. VBSQL.ocx ersetzt VBSQL.vbx
  23. Grafischer Showplan ist entfernt worden
  24. Erweiterte gespeicherte Prozeduren
  25. Zukünftige Probleme

Weitere Informationen

Änderungen von 1. System-Tabelle

Einige Änderungen an den Systemtabellen vorgenommen wurden: neue Spalten hinzugefügt wurden, den Bedeutung oder den Inhalt einiger Spalten geändert wurden und einige neue Systemtabellen wurden hinzugefügt. Weitere Informationen finden Sie unter SQL Server 6.5 Onlinedokumentation für SQL Server 6.5, Teil 4 Neuigkeiten: "Was ist neu für Transact-SQL."

2. System gespeicherte Prozedur Änderungen und Änderungen im Format

Es wurden mehrere Änderungen an gespeicherten Systemprozeduren. In vielen Fällen wurde die Funktionalität erweitert, um den neuen SQL Server 6.5-Features gehören. In einigen Fällen wurde das Format der Ausgabe geändert, um eine klarere Präsentation der Informationen bereitzustellen. Weitere Informationen finden Sie unter SQL Server 6.5 Onlinedokumentation für SQL Server 6.5, Teil 4 Neuigkeiten: "Was ist neu für Transact-SQL."

3. Neue Installation Standard

Das Standardverzeichnis bei neuen Installationen lautet MSSQL anstatt SQL60 (wie in 6.0) oder SQL (wie in 4.2 X). Wenn Sie eine 4.2 x oder 6.0-Installation aktualisieren, wird der Name des vorhandenen Verzeichnisses beibehalten.

4. Schlüsselwörter

Die folgenden Wörter reservierte in SQL Server 6.0 sind in SQL Server 6.5 Schlüsselwörter:
   AUTHORIZATION     FULL      OUTER          SCHEMA
   CASCADE           INNER     PRIVILEGES     WORK
   CROSS             JOIN      RESTRICT
   ESCAPE            LEFT      RIGHT
				

Das Wort DISTRIBUTED ist auch ein neues Schlüsselwort in SQL Server 6.5.

Alle Datenbankobjekte werden Konflikte mit dieser neuen Schlüsselwörter automatisch überprüft, durch Ausführen von ChkUpg65.exe.

5. FROM-Klausel und Tabellennamen

In SQL Server 6.5 werden Fehler gemeldet, wenn redundante Tabellennamen in der FROM-Klausel angezeigt werden. Z. B. SELECT-Anweisungen unten in früheren Versionen unterstützt wurden, jedoch Fehler in SQL Server 6.5 generieren. Die Tabellen wurden in der ersten SELECT-Anweisung als zwei verschiedene Tabellen behandelt. In der zweiten SELECT-Anweisung wird der zweite Autor Verweis verworfen.
   SELECT * FROM pubs..authors, pubs.dbo.authors
   SELECT * FROM authors, authors
				

Vorher verwendet SQL Server Vergleiche von Zeichenfolgen, allein um festzustellen, ob zwei Tabellennamen in der gleiche Tabelle identifiziert. Beispielsweise pubs.dbo.authors und pubsAutoren wurden verschiedene Tabellen betrachtet. Jetzt Wenn zwei Tabellennamen nicht identisch sind, werden die Datenbank-IDs und Tabelle IDs verglichen um zu bestimmen, ob Sie dieselbe Tabelle sind. Zuvor sollte in einer Update-Anweisung, die SQL Server würde einfach suchen die erste Tabelle in der FROM-Klausel, die einen nicht qualifizierten Spaltennamen verglichen und davon ausgehen, die die Tabelle wurde, der Benutzer. Jetzt verursacht diese Art von Abfrage einen Fehler, da es ungewiss ist der Tabelle aktualisiert werden soll. Das Ablaufverfolgungsflag 110 deaktiviert alle diese Änderungen.

6. SELECT DISTINCT mit ORDER BY

In früheren Versionen von SQL Server zulässig SELECT DISTINCT Abfragen mit sortieren Spalten in der ORDER BY-Klausel, die nicht in der Auswahlliste enthalten waren. Beispiel:
   SELECT DISTINCT au_id FROM authors ORDER BY au_lname
				

SQL Server 6.5, Einhaltung von ANSI Standard, wodurch Fehler 145 ab:
Order by-Elemente müssen in der Select-Liste angezeigt werden, wenn SELECT DISTINCT angegeben wird.

Das Ablaufverfolgungsflag 204 ermöglicht das alte, nicht-ANSI-Verhalten (ebenso wie andere nicht-ANSI-Verhalten im Zusammenhang mit Unterabfragen usw. von SQL Server 6.0).

7. REFERENCES-Berechtigung erforderlich, um Fremdschlüssel erstellen

In SQL Server 6.5 müssen Wenn Sie einen Fremdschlüssel in einer Tabelle, die Sie nicht besitzen, die erstellen, Sie REFERENCES-Berechtigung in der Tabelle; Dies entspricht dem standard ANSI. In SQL Server 6.0 wurde nur SELECT-Berechtigung auf der referenzierten Tabelle erforderlich. Das Ablaufverfolgungsflag 237 ermöglicht des alten Verhaltens.

8. SELECT INTO oder CREATE VIEW ohne Spaltenname

In SQL Server, Version 6.5 tritt ein Fehler Wenn keine Spaltennamen an eine Spalte erstellt, indem eine SELECT INTO oder CREATE VIEW-Anweisung angegeben ist. Beispielsweise führt CREATE VIEW Testview AS SELECT Au_id, FROM Authors upper(au_lname) in Fehlermeldung 4511:
Erstellen Sie Ansicht ist fehlgeschlagen, da kein Spaltenname für Spalte 2 angegeben wurde.
Ein Spaltenalias sollte für die zweite Spalte angegeben werden.

SQL Server 6.0 erlaubt diese; Ablaufverfolgungsflags 246 ermöglicht das alte Verhalten.

9. RAISERROR Mengen @@ ERROR auf NULL, wenn Schweregrad zehn oder weniger

Jetzt die RAISERROR-Anweisung legt @@ ERROR auf 0 (null), wenn der Schweregrad zwischen 1 und 10 (einschließlich) ist (Ebenen von Meldungen mit Schweregrad 10 und unter sind keine Fehler, bieten Sie jedoch weitere Informationen). Wenn Sie mithilfe der Option WITH SETERROR der Msg_id festlegen, weist die RAISERROR-Anweisung der Msg_id zu @@ ERROR unabhängig vom Schweregrad.

In SQL Server, Version 6.0 wird @@ ERROR auf 50.000 für Meldungen mit Schweregrad 10 und unter festgelegt.

Um zu SQL Server 6.0-Verhalten zurückzukehren, verwenden Sie die SETERROR-Option oder Ablaufverfolgungsflag 2701.

10. Autostart-Prozeduren: Sp_sqlregister

In SQL Server 6.5 wird die gespeicherte Prozedur Sp_sqlregister als eine Autostartprozedur standardmäßig installiert. Beim Start Sp_sqlregister sammelt grundlegende Konfigurationsinformationen vom Betriebssystem, Netzwerk und SQL Server sind, und dann überträgt der SQL Server Präsenz im Netzwerk. Jeder Server Xp_sqlinventory ausführen kann die Informationen in eine Tabelle sammeln. Gespeicherte Prozedur Sp_unmakestartup können entfernen Sp_sqlregister als gespeicherte Startprozedur ausgeführt werden.

11. Forward-only Cursor Standard, um dynamische Cursor

In SQL Server 6.5 sind Vorwärtscursor dynamisch wird standardmäßig ermöglicht das schnellere Cursor öffnen und ermöglicht auch die Ergebnisse festgelegt, dass Aktualisierungen an den zugrunde liegenden Tabellen angezeigt. Dynamische Cursor sind schneller in Version 6.5 und eindeutige Indizes nicht mehr benötigen.

Das Ablaufverfolgungsflag 7501 deaktiviert die Erweiterungen für dynamische Cursor und kehrt zur Version 6.0-Verhalten zurück.

12. Pläne für Cursor, auf gespeicherte Prozeduren den

SQL Server 6.5 zwischenspeichert Pläne für Cursor für einige erweiterten gespeicherten Prozeduren; Dies stellt einen Gewinn bei vielen Cursoroperationen Leistung bereit. Es wird jedoch auch Prozedurcache verwenden, um diese Pläne, die möglicherweise Auswirkungen auf einer Anwendung Zwischenspeichern Verhalten (und Leistung) enthalten. Das Ablaufverfolgungsflag 7502 deaktiviert diese Zwischenspeicherung der Cursorpläne.

13. Neuer Dienst: MSDTC

Ein neuer Dienst wird mit SQL Server 6.5 installiert. Der MSDTC-Dienst ist der DTC serverübergreifenden Transaktionsfunktionen (automatische Zweiphasencommit) bereit. Normalerweise sollte der MSDTC-Dienst keine vorhandene (andere als die automatische Transaktionskonsistenz), Auswirkungen auf Anwendungen jedoch diesen Speicher und einige Verarbeitungszeit erforderlich ist, damit es auf vorhandene Anwendungen auswirken kann. Der Dienst kann beendet werden, wenn seine Funktionen nicht erforderlich sind.

14. USE-Anweisung in EXECUTE zurückgesetzt bei Abschluss

In SQL Server 6.5 werden nach Abschluss des EXECUTEing eine Zeichenfolge, die eine USE-Anweisung enthält "aktuelle Datenbank" automatisch in der Datenbank zurückgesetzt, die vor dem EXECUTE verwendet werden konnte. In SQL Server 6.0 beibehalten die "aktuelle Datenbank" Einstellung nach der EXECUTE.

Damit das gleiche Verhalten wie in SQL Server 6.0, muss jede Anweisung, die in der verwendeten Datenbank ausgeführt werden sollte als Zeichenfolge mit der vorhergehenden USE-Anweisung ausgeführt werden. Der folgende Batch würde "Pubs" in SQLServer 6.0 ausgeben; in SQL Server 6.5 Ausgaben "master:"
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb)
   go
   SELECT db_name()
   go
				

Um das SQL Server 6.0-Verhalten in SQL Server 6.5 zu erhalten, sollte der folgende Batch verwendet werden:
   GO
   USE master
   GO
   DECLARE @mydb VARCHAR(30)
   SELECT @mydb = 'pubs'
   EXECUTE('USE ' + @mydb + 'SELECT db_name()')
   go
				

Dieser Stapel auf die master-Datenbank nach Abschluss gibt jedoch führt die SELECT in der verwendeten Datenbank.

15. ODBC-Treibereinstellungen

Microsoft Knowledge Base-Artikel 149921 erläutert einige der ANSI-Einstellung-Änderungen in der ODBC-Microsoft SQL Server 2.65.0201 Treiber, der auf Anwendungen auswirken kann. Im Allgemeinen werden diese alle durch die folgenden SET-Optionen verursacht, die ANSI-Kompatibilität zu erzwingen:
   SET TEXTSIZE 2147483647
   SET ANSI_DEFAULTS ON
   SET CURSOR_CLOSE_ON_COMMIT OFF
   SET IMPLICIT_TRANSACTIONS OFF
				

16. JOIN-Syntax und Ablaufverfolgungs-Flag 204

Obwohl die outer Join-Operatoren * = und = * aus frühere Versionen von SQL Server werden unterstützt, können Operatoren für äußere Verknüpfungen und ANSI-SQL Formatvorlage verknüpft Tabellen nicht in derselben Abfrage verwenden.

Bei aktiviertem Ablaufverfolgungsflag 204 nur SELECT-Anweisung Syntax von SQL Server-Versionen 6.0 und früher ist zulässig, verknüpften Tabellen, abgeleitete Tabellen und andere ANSI-Features sind nicht zulässig.

17. Objekte in einer Transaktion erstellt wurden

SQL Server 6.5 ermöglicht Objekten innerhalb einer Transaktion erstellt werden. Diese Vorgänge werden durch die transaktionalen Standardregeln geschützt und möglicherweise ein Commit oder ggf. wieder zurückgesetzt. Erstellen eines Objekts in einer Transaktion verursacht jedoch Sperren auf Systemtabellen in der Datenbank gespeichert werden, bis die erstellen Transaktion ein Commit oder Rollback. Verwendung Vorsicht Wenn Sie Objekte innerhalb einer Transaktion erstellen; dies die Erstellung von temporären Objekten in der Datenbank Tempdb enthält.

18. SELECT-INTO ist jetzt einer atomaren Operation

SELECT INTO ist jetzt eine atomare Operation aus, und Sysindexes, Syscolumns und Sysobjects exklusive Sperren für die Dauer von der SELECT INTO oder die gesamte Transaktion enthält, wenn innerhalb einer Transaktion.

Aufgrund von mehr Paket Größe Reduced 19. ISQL/W-Verbindungen

Die Anzahl der ISQL/w-Verbindungen auf Win16-Clients ist von der Netzwerk-Paketgröße Konfigurationswert von SQL Server betroffen. Je kleiner die der Paketgröße (mindestens 512 Bytes), die mehr gleichzeitigen Verbindungen, die Sie vom selben DB-Library-Client vornehmen können, da die größere Netzwerkpaketgröße mehr Systemressourcen verwendet werden, auf dem Windows 3.x-Client. Wenn die Netzwerk-Paketgröße auf der Serverseite 512 konfiguriert ist, sollten Sie sein die gleiche Anzahl von Verbindungen herstellen, als Sie in SQL Server 6.0 vom selben Client könnten. Weitere Informationen finden Sie Knowledge Base-Artikel 150909 "Info: Anzahl der Verbindungen für SQL Server 6.5 Win16-Clients."

20. Globale Variablen in CHECK und DEFAULT-Einschränkungen nicht erlaubt

Globale Variablen (z. B. @@ SPID und usw.) können nicht in CHECK- oder DEFAULT-Einschränkungen (in CREATE TABLE- oder ALTER TABLE-Anweisung) verwendet werden. Dies hat nie als gültige Option dokumentiert wurden und ist jetzt als ungültige Syntax, erzeugt Fehler 112 gekennzeichnet:
Variablen sind in CREATE TABLE-Anweisung nicht zulässig.

Integrierte Funktionen fortsetzen in Einschränkungen für die Arbeit.

21. Onlinedokumentation: Neue Viewer

Die Onlinedokumentation zu SQL Server 6.5 verwendet die InfoView.exe-Anwendung zum Anzeigen von MSIN32.exe, die zuvor verwendet wurde, statt den Text.

SQL Server hat keine installiert werden, lesen Sie die Onlinedokumentation; Sie können wie folgt separat installiert werden:
  1. Erstellen Sie ein Verzeichnis (c:\sqlbks vielleicht)
  2. Kopieren Sie die Dateien \sqlbks65\sqlbooks.* und \i386\InfoView.exe von der CD-ROM in das Verzeichnis. MSIN32.EXE von 6.0 funktioniert nicht als Leser für die 6.5 Bücher, benötigen Sie InfoView.exe (keine DLLs benötigt).
  3. Erstellen Sie ein Programm-Manager-Element mit:

    Eine Befehlszeile zum c:\sqlbks\infoview.exe sqlbooks.mvb ein Arbeitsverzeichnis des c:\sqlbks
Sie sollten dann online-Bücher lesen sein.

22. VBSQL.ocx ersetzt VBSQL.vbx

Ein Visual Basic 3.0-Projekt, die alte 16-Bit-DB-Library für Visual Basic, VBSQL.vbx, verwendet, sollte für die neue DB-Library für Visual Basic-OLE benutzerdefiniertes Steuerelement VBSQL.ocx portiert werden. Weitere Informationen finden Sie in SQL Server 6.5 Books Online, "Eine alte DB-Library für Visual Basic-Projekt portieren."

23. Grafischen Showplan ist entfernt worden

Aufgrund von Änderungen in der SHOWPLAN-Ausgabe sind die grafischen ShowPlan Registerkarten nicht mehr im SQL Enterprise Manager-Abfragetool und ISQL/w zur Verfügung.

24. Erweiterte gespeicherte Prozeduren

Aufgrund der Änderungen an zugrunde liegenden Strukturen müssen alle erweiterte gespeicherte Prozeduren in C programming Language geschriebene aus der C-Quellcode kompiliert und unter Microsoft SQL Server 6.5 zu OPENDS60.LIB neu verknüpft.

Obwohl in SQL Server 6.0 Sie wieder an den Server von einem XP in Aufrufen konnte, war dies nicht unterstützt. Solche Verbindungen "Loopback" werden in SQL Server 6.5 mithilfe von zusammengefassten Verbindungen unterstützt, in denen mehrere Verbindungen können gemeinsam nutzen, die denselben Transaktionsbereich Sperren und die gleiche Transaktion und dieselben Daten ohne Sperre Konflikte arbeiten können.

25. Zukünftige Probleme

SQL Server 6.5 enthält neue Features, die die Funktionalität von einigen vorherigen Features außer Kraft gesetzt. Obwohl alle Features von SQL Server 6.0 weiterhin in 6.5 unterstützt werden, zukünftige Versionen von SQL Server unterstützen nicht einige Anweisungen, wobei dieselbe Funktionalität sein kann, mit anderen Mitteln erreicht. Beispielsweise die folgenden Features werden in 6.5 unterstützt jedoch möglicherweise in zukünftigen Versionen eingestellt:
  • Durchsuchen-Modus: Obwohl SELECT FOR BROWSE 6.5 unterstützt wird, kann die Funktionalität der FOR BROWSE-Klausel in SELECT-Anweisungen jetzt effizienter erreicht werden mithilfe von Cursorn.
  • Gerät Mirroring innerhalb von SQL Server: Wenn Ihre Installation von SQL Server derzeit Spiegelung von SQL Server verwenden ist, es wird empfohlen, die Funktionalität von Windows NT Spiegelung oder hardwarebasierte stattdessen Spiegelung zu verwenden.
  • Äußere JOIN-Syntax: Mit SQL Server 6.5, die ' * = ' und ' = * ' Syntax für äußere Verknüpfungen in eine WHERE-Klausel mit dem ANSI-Standard ersetzt werden kann beitreten Syntax in der FROM-Klausel verwenden:

    LEFT OUTER JOIN, RIGHT OUTER JOIN und FULL OUTER JOIN.
  • Doppelte Anführungszeichen Zeichenfolgen: Die Verwendung von doppelten Anführungszeichen sollten für reserviert werden mit Trennzeichen oder Bezeichner. Obwohl das doppelten Anführungszeichen immer noch um eine Zeichenfolge begrenzen verwendet werden kann (anstatt einen Objektnamen) Wenn SET QUOTED_IDENTIFIER ON ausgeführt wird, durch Anführungszeichen getrennten Zeichenfolge wird werden angenommen Bezeichner.
  • Nicht gleich (! =): standard die ANSI-Syntax für darstellt 'nicht gleich' ist '<>'. Dies sollte anstelle von verwendet werden "! =" in allen Fällen.
  • NULL Comparison (= NULL): Die ANSI-Standard ist NULL und sollte in allen Fällen verwendet werden. In der Tat Wenn SET ANSI_NULLS ON in Kraft ist, "= NULL" wird zurück falsch in allen Fällen da ANSI angibt kein Wert (auch NULL selbst) ist gleich NULL.
  • Trace-Flags: SQLTRACE sollte für die Überwachung des Empfangspuffers anstelle von Ablaufverfolgungsflags 4030 und 4032 verwendet werden.

    Entsprechend auf die Onlinedokumentation zur Verfügung sollte Ablaufverfolgungsflags verwendet werden, vorübergehend ein Problem zu umgehen bis dauerhaft eingerichtet wird. Zwar die Ablaufverfolgungsflags bereitgestellte Informationen können Sie Probleme diagnostizieren, denken Sie daran, dass Ablaufverfolgungsflags nicht Teil der unterstützten Featuresatz sind. Dies bedeutet, dass zukünftige Kompatibilität oder fortgesetzte Verwendung nicht gewährleistet ist.
Beenden die Verwendung der folgenden Features sollten ebenfalls berücksichtigt werden:
  • Segmente: Benutzerdefinierte Segmente werden häufig verwendet, um verursachen Datenbankobjekte auf bestimmten Geräten aus Leistungsgründen platziert werden. Die Verwendung von RAID-Geräte, die multi-disk wird i. d. r. eine größere Erhöhung der Leistung mit niedrigeren zugeordnete administrative Kosten bereitgestellt.
  • Die DB­Library-Two-Phase Commit-Bibliothek: Die Distributed Transaction Coordinator bietet diese Möglichkeit jetzt automatisch.

Eigenschaften

Artikel-ID: 152032 - Geändert am: Donnerstag, 6. Februar 2014 - Version: 3.0
Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft SQL Server 6.5 Standard Edition
Keywords: 
kbnosurvey kbarchive kbmt KB152032 KbMtde
Maschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 152032
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com