Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Analiz Platformu Sistemi (PDW)
Microsoft Fabric'teki SQL analiz uç noktası
Microsoft Fabric'teki ambar
Microsoft Fabric'teki SQL veritabanı
Transact-SQL programlama dili, belirli bilgilerin mevcut oturum yönetimini değiştiren birkaç SET ifadesi sağlar. SET ifadeleri, aşağıdaki tabloda gösterilen kategorilere göre gruplandırılmıştır.
SET ifadesiyle yerel değişkenleri ayarlama hakkında bilgi için bkz.SET @local_variable (Transact-SQL)
SET ifadelerini kullanırken dikkate alınanlar
Tüm SET ifadeleri yürütme veya çalışma zamanında çalışır, ancak bu ifadeler ayrıştırma zamanında çalışır:
- SET FIPS_FLAGGER
- SET OFSETLERI
- AYRıŞTıRMA OLARAK AYARLA
- ve SET QUOTED_IDENTIFIER
Bir SET ifadesi bir saklanan prosedür veya tetikleyicide çalışıyorsa, SET seçeneğinin değeri depolanmış prosedür veya tetikleyici kontrolü geri getirdikten sonra geri gelir. Ayrıca, dinamik SQL dizesinde sp_executesql veya EXECUTE kullanılarak çalışan bir SET ifadesi belirtirseniz, dinamik SQL dizisinde belirttiğiniz batch'ten kontrol geri döndükten sonra SET seçeneğinin değeri geri yüklenir.
Saklanan prosedürler, SET ANSI_NULLS ve SET QUOTED_IDENTIFIER hariç çalıştırma zamanında belirtilen SET ayarlarıyla çalıştırılır. SET ANSI_NULLS veya SET belirten saklanan prosedürler, QUOTED_IDENTIFIER saklanan prosedür oluşturma zamanında belirtilen ayarı kullanır. Eğer bir dosyalanmış prosedür içinde kullanılırsa, herhangi bir SET ayarı göz ardı edilir.
sp_configurekullanıcı seçenekleri ayarı sunucu çapında ayarlar sağlar ve birden fazla veritabanında çalışır. Bu ayar ayrıca açık bir SET ifadesi gibi davranır, ancak giriş zamanında gerçekleşir.
ALTER DATABASE kullanılarak belirlenen veritabanı ayarları yalnızca veritabanı seviyesinde geçerlidir ve yalnızca açıkça ayarlandığında geçerlidir. Veritabanı ayarları, sp_configure kullanılarak belirlenen örnek seçenekleri ayarlarını geçersiz kılar.
Bir SET ifadesi ON ve OFF kullanıyorsa, birden fazla SET seçeneği için her ikisini de belirtebilirsiniz.
Uyarı
Bu, istatistiklerle ilgili SET seçenekleri için geçerli değildir.
Örneğin,
SET QUOTED_IDENTIFIER, ANSI_NULLS ONhem QUOTED_IDENTIFIER hem de ANSI_NULLS'yi ON'a ayarlar.SET ifadesi ayarları, ALTER DATABASE kullanılarak belirlenen aynı veritabanı seçeneği ayarlarını geçersiz kılar. Örneğin, bir SET ANSI_NULLS ifadesinde belirtilen değer, ANSI_NULLs için veritabanı ayarını geçersiz kılar. Ayrıca, bazı bağlantı ayarları, bir kullanıcı veritabanına bağlandığında, sp_configure kullanıcı seçenekleri ayarının önceki kullanımıyla veya tüm ODBC ve OLE/DB bağlantılarına uygulanan değerlere göre otomatik olarak ONAYLANIR.
ALTER, CREATE ve DROP DATABASE ifadeleri SET LOCK_TIMEOUT ayarını tanımıyor.
Bir genel veya kısayol SET ifadesi birkaç ayar belirlediğinde, kısayol SET ifadesi vermek, kısayol SET ilesinin etkilediği tüm seçenekler için önceki ayarları sıfırlar. Kısayol SET ifadesinden etkilenen bir SET seçeneği, kısayol SET ifadesi verildikten sonra ayarlanırsa, bireysel SET ifadesi karşılaştırılabilir kısayol ayarlarını geçersiz kılar. Bir kısayol SET ifadesi örneği olarak SET ANSI_DEFAULTS.
Toplu çalışmalar kullanıldığında, veritabanı bağlamı, USE ifadesi kullanılarak oluşturulan toplu tarafından belirlenir. Planlanmamış sorgular ve depolanan prosedürün dışında çalışan ve toplu olarak bulunan tüm diğer ilemeler, veritabanının seçenek ayarlarını ve USE ifadesi tarafından oluşturulan bağlantıyı devralır.
Birden fazla Aktif Sonuç Seti (MARS) isteği, en güncel oturum SET seçenek ayarlarını içeren küresel bir durumu paylaşır. Her istek çalıştırıldığında, SET seçeneklerini değiştirebilir. Değişiklikler, ayarlandıkları istek bağlamına özgüdür ve diğer eşzamanlı MARS taleplerini etkilemez. Ancak, istek yürütme tamamlandıktan sonra, yeni SET seçenekleri küresel oturum durumuna kopyalanır. Bu değişiklikten sonra aynı oturumda yürütülen yeni istekler, bu yeni SET seçenek ayarlarını kullanacaktır.
Bir depolanmış prosedür bir toplu veya başka bir depolanmış prosedürden çalıştırıldığında, veritabanında ayarlanmış seçenek değerleri altında çalıştırılır. Örneğin, saklanan prosedür db1.dbo.sp1 depolanmış prosedür db2.dbo.sp2 çağrısı yaptığında, depolanmış prosedür sp1 veritabanı db1'in mevcut uyumluluk seviyesi ayarı altında çalıştırılır ve depolanmış prosedür sp2 veritabanı db2'nin mevcut uyumluluk seviyesi ayarı altında çalıştırılır.
Bir Transact-SQL ifadesi birden fazla veritabanında bulunan nesneleri ele aldığında, mevcut veritabanı bağlamı ve mevcut bağlantı bağlamı o ifadeye uygulanır. Bu durumda, Transact-SQL ifade bir toplu haldeyse, mevcut bağlantı bağlamı USE ifadesi tarafından tanımlanan veritabanıdır; Eğer Transact-SQL ifadesi bir depolanmış prosedürdeyse, bağlantı bağlamı saklanan prosedürü içeren veritabanıdır.
Hesaplanan sütunlarda veya indekslenmiş görünümlerde indeksler oluştururken ve manipüle ederken, bu SET seçeneklerini ON'a ayarlamalısınız: ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLS, ANSI_PADDING ve ANSI_WARNINGS. NUMERIC_ROUNDABORT seçeneğini KAPALI olarak ayarlayın.
Bu seçeneklerden herhangi birini gerekli değerlere ayarlamazsanız, INSERT, UPDATE, DELETE, DBCC CHECKDB ve DBCC CHECKTABLE işlemleri indekslenmiş görünümlerde veya hesaplanan sütunlarda indeksli tablolarda başarısız olur. SQL Server, yanlış ayarlanmış tüm seçenekleri listeleyen bir hata oluşturur. Ayrıca, SQL Server bu tablolarda veya indekslenmiş görünümlerde SELECT ifadelerini, hesaplanan sütunlardaki veya görünümlerdeki indeksler yokmuş gibi işliyor.
SET RESULT_SET_CACHING AÇIKSA, mevcut istemci oturumu için sonuç önbellek özelliğini etkinleştirir. Result_set_caching veritabanı seviyesinde kapalıysa oturum için AÇILAMAZ. SET RESULT_SET_CACHING KAPALI olduğunda, mevcut istemci oturumu için sonuç kümesi önbellekleme özelliği devre dışı bırakılır. Bu ayarı değiştirmek için kamu rolünde üyelik gereklidir. Apply to: Azure Synapse Analytics Gen2