Warum ist ironische SQL Server SET ANSI_PADDING OFF?
-
06-07-2019 - |
Frage
Laut MSDN BOL (Books Online) auf SET ANSI_PADDING
,
In einer zukünftigen Version von Microsoft SQL Server ANSI_PADDING ist immer eingeschaltet und alle Anwendungen, die explizit die Option auf OFF gesetzt werden einen Fehler erzeugen. Vermeiden Sie diese Funktion bei neuen Entwicklungsarbeiten, und planen Sie das Ändern von Anwendungen, die derzeit diese Funktion zu nutzen.
Ich habe noch nie diese Option verwendet, aber es sieht aus wie es tatsächlich eine Menge von Datenbank-Spaces für char
und varbinary
Felder sparen kann, wenn sie richtig verwendet wird.
Warum wird SET ANSI_PADDING
veraltet, außer der Tatsache, dass es nicht ANSI-kompatibel ist?
Gibt es gute Gründe, warum?
Lösung
keine Antwort, nur eine Meinung:
Ich persönlich würde gerne glauben, dass sie es sind zu entfernen, weil es ein nulling Schmerz im null ist. Wenn ein Datenbankobjekt erstellt wird, verwendet wird, Bezug genommen wird, oder damit, was auf, wird ein zweiter getan, damit OFF, und Sie versuchen, mit beiden gleichzeitig zu arbeiten (zwei Tabellen, Verfahren referenzierenden Tabelle, etc.), Ihre Ergebnisse können inkonsistent sein oder auch nicht sinnvoll, und es wird Sie immer , um herauszufinden, was los ist.
(Es gibt andere SET-Einstellungen wie diese, und noch schlimmer. Ich hoffe, sie verbitten sie alle.)
Andere Tipps
War das Merkmal nicht verwendet und es ist nicht ANSI-kompatibel auch, damit sie es entfernen. Die platzsparende auf unabhängig von ANSI_PADDING erfolgen, SQL Server intern die Polsterung entfernen können.