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 ifade sunar. Bu ifadeler SET , aşağıdaki tabloda gösterilen kategorilere göre gruplandırılmıştır.
Yerel değişkenleri bu SET ifadeyle ayarlama hakkında bilgi için bkz.SET @local_variable (Transact-SQL)
İfadeleri SET Kullanırken Dikkate Alınanlar
Tüm SET ifadeler yürütme veya çalışma zamanında çalışır, ancak bu ifadeler ayrıştırma zamanında çalışır:
- SET FIPS_FLAGGER
- SET OFFSETS
- SET PARSEONLY
- ve SET QUOTED_IDENTIFIER
Bir SET ifade saklanan bir prosedürde veya tetikleyicide çalıştırılırsa, saklanan prosedür veya tetikleyici kontrolü geri getirdikten sonra seçeneğin SET değeri geri yüklenir. Ayrıca, dinamik bir SQL dizesinde sp_executesql veya EXECUTE kullanılarak çalışan bir SET ifade belirtirseniz, dinamik SQL dizesinde belirttiğiniz batch'ten control geri döndükten sonra seçeneğin SET değeri geri döner.
Saklanan prosedürler SET , çalıştırma zamanında belirtilen ayarlarla çalıştırılır, SETSET ANSI_NULLS hariç, ve SETSET QUOTED_IDENTIFIERhariç. Saklanan prosedürler için saklanan SETSET ANSI_NULLS prosedür oluşturulma zamanında belirtilen veya SETSET QUOTED_IDENTIFIER kullanılan ayar. Eğer bir saklanan 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 da açık SET bir ifade gibi davranır, ancak giriş zamanında gerçekleşir.
Veritabanı ALTER DATABASE ayarları yalnızca veritabanı düzeyinde 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 ifade AÇIK ve KAPALI kullanıyorsa, birden fazla SET seçenek için her ikisini de belirtebilirsiniz.
Uyarı
Bu istatistikle ilgili SET seçenekler için geçerli değil.
Örneğin,
SET QUOTED_IDENTIFIER, ANSI_NULLS ONhem QUOTED_IDENTIFIER de ANSI_NULLS ON'a ayar.SET Ifade ayarları, kullanılarak belirlenen aynı veritabanı seçenekleri ALTER DATABASEayarlarını geçersiz kılar. Örneğin, bir SET ANSI_NULLS ifadede 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 ifadeler ortamı SETSET LOCK_TIMEOUT onurlandırmaz.
Bir genel veya kısayol SET ifadesi birkaç ayar belirlediğinde, kısayol SET ifadesinin yayımlanması kısayol SET ifadesinin etkilediği tüm seçenekler için önceki ayarları sıfırlar. Kısayol SET ifadesi verildikten sonra bir kısayol SET ifadesi etkilenen bir seçenek, SET bireysel SET ifade karşılaştırılabilir kısayol ayarlarını geçersiz kılar. Bir kısayol SET ifadesine örnek olarak SETSET 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çeneği ayarlarını içeren küresel bir durumu paylaşır. Her istek çalıştırıldığında, seçenekleri değiştirebilir SET . 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çenekler 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 yönetirken, bu SET seçenekleri ON'a ayarlamanız gerekir: ARITHABORT, CONCAT_NULL_YIELDS_NULL, QUOTED_IDENTIFIER, ANSI_NULLSANSI_PADDING, , , , ve ANSI_WARNINGS. Seçeneği NUMERIC_ROUNDABORT 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ç önbellekleme ö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 önbelleğe alma ö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