SET OPTIONS ... wo sind sie gespeichert?

8

Schnelle Fragen ...

Wo sind die Werte für SET OPTIONS in der Datenbank für einen SP, Func, Trigger usw. gespeichert? Wenn sie sich von den globalen Einstellungen unterscheiden?

SET ARITHABORT AUF
SET CONCAT_NULL_YIELDS_NULL auf
SET QUOTED_IDENTIFIER AUF
SET ANSI_NULLS ON
SET ANSI_PADDING auf
SET ANSI_WARNINGS ON
Legen Sie NUMERIC_ROUNDABORT OFF

fest

Ich weiß, dass die globalen Einstellungen für eine Datenbank in der sys.databases-Ansicht gespeichert sind. Aber was ist mit jedem Stored Proc oder anderen Objekten.

VERWENDEN [SomeDB]
GEHEN

SET ARITHABORT AUS
SET CONCAT_NULL_YIELDS_NULL OFF
SET QUOTED_IDENTIFIER OFF
GEHEN

ERSTELLEN usp_SampleProc
AS
BEGIN
  - führe eine Aktion durch ENDE

Ich sehe, dass ein Paar mithilfe von:

abgerufen werden kann

SELECT OBJECTPROPERTY (OBJECT_ID ('Prozedur_Name'), 'ExecIsQuotedIdentOn')
SELECT OBJECTPROPERTY (OBJECT_ID ('Prozedur_Name'), 'ExecIsAnsiNullsOn')

Wo ist der Rest ... werden sie überhaupt für jeden Stored Proc gespeichert? ..... überhaupt? Danke, Danke _Ub

    
UB. 12.08.2009, 22:27
quelle

1 Antwort

6

Diejenigen, die für Prozeduren gelten, wie ANSI_NULLS und QUOTED_IDENTIFIER , befinden sich in sys.sql_module s , wo sie von OBJECTPROPERTY abgerufen werden.

Diejenigen, die für Datenbanken gelten und pro Datenbank festgelegt sind, sind in sys.databases verfügbar.

Diejenigen, die für Sitzungen gelten, sind in sys.dm_exec_sessions verfügbar.

Am Ende hängt das, was tatsächlich angewendet wird, von Einstellung zu Einstellung ab, und die Regeln der Überschreibungen und Standardeinstellungen sind, gelinde gesagt, komplex. Einige Client-Treiber setzen Optionen automatisch ein / aus. Nicht die gleichen Optionen und nicht die gleichen Standardeinstellungen, hängt von Client zu Client (ODBC, OleDB, SNAC, SqlClient usw.). Die generische Regel lautet:

  1. Eine Datenbankoption überschreibt eine Instanzoption.
  2. Eine SET-Option überschreibt eine Datenbankoption.
  3. Ein Hinweis überschreibt eine SET-Option.
Remus Rusanu 12.08.2009, 22:30
quelle

Tags und Links