2011-12-09 17 views
8

Sağ tıklattığımda/değiştirdiğimde SQL Management Studio'yu (10.50.2500.0) her saklı yordamın başına eklemekten nasıl engellerim?SQL Server Management Studio'yu ANSI_NULLS ve QUOTED_IDENTIFIER eklemeye durdurma

SET ANSI_NULLS ON 
GO 
SET QUOTED_IDENTIFIER ON 
GO 

Bu ayarların hiçbiri benim için yararlı değildir. ANSI_NULLS ON ve QUOTED_IDENTIFIER ON, yaptığım tüm sunucular, DB'ler ve bağlantılarda ayarlanır. Bunun yanı sıra, asla çift tırnak kullanıyorum (ayrılmış kelimeler için parantezler kullandım) ve tüm nemli alanları gerektiği zaman IS NULL kullanıyorum.

Ayarları her yaptığımda ayarları silerim. Tüm prosedürlerim onları doğru şekilde ayarladı ve çevremde asla değişmeyecek. Verified by:

SELECT uses_ansi_nulls, uses_quoted_identifier 
FROM sys.sql_modules 
WHERE object_id = object_id('proc_name') 
+4

ben için bir yol bulamıyor: "ANSI_NULLS Quoted_ıdentıfıer saklı yordam" için hızlı bir google arama yapmak

, üst sonuç çok açık bir şekilde aşağıdaki seçenekleri açıklamaya görünüyor makale ve etkileri vardır Bunu yapın (Araçlar -> Seçenekler -> SQL Server Nesne Gezgini -> Komut Dosyası) 'nda görünmesini beklersiniz, ancak büyük olasılıkla bunları kaldırmak istemezsiniz (Ne gibi bir sorun size neden olurlar?) –

+0

Evet Bu yer olması gerektiği gibi görünüyor. Bu sinir bozucu. Bana sebep olan tek sorun, gereksiz ve boş alan olmasıdır. Soruyu daha fazla açıklamak için güncelledim. – ThinkingStiff

cevap

7

bu bir cevap ya da yardımcı olmayan cevap olarak sayar mı emin değilim ama Damien_The_Unbeliever olarak mutlaka ssms bu satırları oalrak durdurmak istemiyorum önerdi. Sql_modules tablosunda oldukları için, SQL kodunun kendisi ile birlikte saklı yordamın tanımının ayrılmaz bir parçasını oluştururlar. Böylece, SQL kodunuzdan daha fazlasını "kapatamazlar". Eğer oluşturursanız

/saklı yordam oluşturulduğunda/tanımlanan, o zaman kalıcı, o saklı yordam davranışını değiştirmek kullanılana farklı ANSI_NULLS seçenek değeri olan bir bağlantıdan bir saklı yordam değiştirmek!

O ssms (ve herhangi bir yarı düzgün bir SQL nesne komut dosyası aracı) daima çıktı bu çizgiler olacağı, bu nedenle içindir - Bunları bunları kaldırmak veya değiştirirseniz, saklı yordam tanımını değiştiriyor çünkü (çıkarmadan özellikle de kötüdür, çünkü saklı yordamın davranışının, hangi bağlantıdan yayınlandığına bağlı olarak değişebileceği anlamına gelir). http://ranjithk.com/2010/01/10/understanding-set-quoted_identifier-onoff/

+1

Birisi ne yaptığını anlamadıysa, belki bunlar yararlı ayarlardır. Ve bunları kaldırarak, varsayılanım proc'dan farklıysa, yalnızca saklı yordam tanımını değiştiriyorum. Birisi eylemlerinin sonuçlarını bilirse, bunları kaldırabilmelidir. Bunların gelecekteki varsayılanları bile değiştirilemez. Bunu daha iyi açıklamak için sorumu güncelledim. İyi bir genel bakış için +1. – ThinkingStiff

+0

@ThinkingStiff - fark, saklı yordamın oluşturulduğu her zaman komut dosyası oluşturulduğunda yakalanır - gerçekten gerçek bir şekilde, yordamın tanımının bir parçası olurken, diğer ayarlar yordamda çalışma zamanında değerlendirilir. Idam edildi. –

+0

Evet, bunların iyi örnekler olmadığını anlatan yorumumu düzenledim. – ThinkingStiff

İlgili konular