Verhindern Sie, dass SQL Server Management Studio ANSI_NULLS und QUOTED_IDENTIFIER hinzufügt

8

Wie verhindere ich, dass SQL Management Studio (10.50.2500.0) dies an den Anfang jeder gespeicherten Prozedur anfügt, wenn ich mit der rechten Maustaste auf / Modify?

%Vor%

Keine dieser Einstellungen ist für mich nützlich. ANSI_NULLS ON und QUOTED_IDENTIFIER ON ist auf allen meinen Servern, DBs und Verbindungen gesetzt, die ich mache. Außerdem verwende ich nie doppelte Anführungszeichen (ich habe Klammern für reservierte Wörter verwendet) und alle meine Nullable-Felder verwende ich richtigerweise IS NULL, wenn nötig.

Ich lösche die Einstellungen jedes Mal, wenn ich eine Prozedur bearbeite. Alle meine Prozeduren haben sie richtig eingestellt und das wird sich in meiner Umgebung niemals ändern. Bestätigt von:

%Vor%     
ThinkingStiff 09.12.2011, 00:07
quelle

1 Antwort

7

Nicht sicher, ob dies als eine Antwort oder eine nicht hilfreiche Nicht-Antwort gilt, aber wie Damien_The_Unbeliever vorgeschlagen hat wollen Sie nicht, dass SSMS diese Zeilen nicht mehr scriptet . Da sie sich in der Tabelle sql_modules befinden, bilden sie zusammen mit dem SQL-Code selbst einen integralen Bestandteil der Definition der gespeicherten Prozedur. Sie können also nicht mehr "ausgeschaltet" werden, als Ihr SQL-Code könnte.

Wenn Sie eine gespeicherte Prozedur aus einer Verbindung erstellen / ändern, die einen anderen ANSI_NULLS -Optionswert als die verwendete gespeicherte Prozedur aufweist, ändern Sie das Verhalten dieser gespeicherten Prozedur >, dauerhaft!

Aus diesem Grund gibt SSMS (und jedes halbwegs anständige SQL-Objekt-Scripting-Tool) immer diese Zeilen aus - denn wenn Sie sie entfernen oder ändern, ändern Sie die Definition von Stored Procedure (das Entfernen von ihnen ist besonders schlecht, weil es bedeutet, dass das Verhalten der Stored Procedure je nachdem, von welcher Verbindung es veröffentlicht wird, variieren kann).

Bei einer schnellen Google-Suche nach der gespeicherten Prozedur "ANSI_NULLS QUOTED_IDENTIFIER" ist das folgende Ergebnis der folgende Artikel, der die Optionen und deren Auswirkungen sehr klar zu erklären scheint: Ссылка

    
Tao 09.12.2011, 14:50
quelle