alter database set seçenekleri (Transact-sql)
Bu konuda ilgili veritabanı seçeneklerini ayarlamak alter database Sözdizimi içeriyor. Diğer alter database Sözdizimi için bakın alter veritabanı (Transact-sql). Veritabanı yansıtma, AlwaysOn Kullanılabilirlik Grupları, ve Uyumluluk düzeyleri seçenekleri AYARLANIR ama onların uzunluğu nedeniyle ayrı konular açıklanmıştır. Daha fazla bilgi için bkz: alter database veritabanı yansıtma (Transact-sql), alter database set HCMH (Transact-sql), ve alter database uyumluluk düzeyi (Transact-sql).
Transact-SQL Sözdizim Kuralları
Sözdizimi
ALTER DATABASE { database_name | CURRENT }
SET
{
{ <optionspec> [ ,...n ] [ WITH <termination> ] }
}
<optionspec> ::=
{
<auto_option>
| <change_tracking_option>
| <containment_option>
| <cursor_option>
| <database_mirroring_option>
| <date_correlation_optimization_option>
| <db_encryption_option>
| <db_state_option>
| <db_update_option>
| <db_user_access_option>
| <external_access_option>
| FILESTREAM ( <FILESTREAM_option> )
| <HADR_options>
| <parameterization_option>
| <recovery_option>
| <target_recovery_time_option>
| <service_broker_option>
| <snapshot_option>
| <sql_option>
}
<auto_option> ::=
{
AUTO_CLOSE { ON | OFF }
| AUTO_CREATE_STATISTICS { ON | OFF }
| AUTO_SHRINK { ON | OFF }
| AUTO_UPDATE_STATISTICS { ON | OFF }
| AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF }
}
<change_tracking_option> ::=
{
CHANGE_TRACKING
{
= OFF
| = ON [ ( <change_tracking_option_list > [ ,...n ] ) ]
| ( <change_tracking_option_list> [ ,...n ] )
}
}
<change_tracking_option> ::=
{
AUTO_CLEANUP = { ON | OFF }
| CHANGE_RETENTION = retention_period { DAYS | HOURS | MINUTES }
}
<containment_option> ::=
CONTAINMENT = { NONE | PARTIAL }
<cursor_option> ::=
{
CURSOR_CLOSE_ON_COMMIT { ON | OFF }
| CURSOR_DEFAULT { LOCAL | GLOBAL }
}
<database_mirroring_option>
ALTER DATABASE Database Mirroring
<date_correlation_optimization_option> ::=
DATE_CORRELATION_OPTIMIZATION { ON | OFF }
<db_encryption_option> ::=
ENCRYPTION { ON | OFF }
<db_state_option> ::=
{ ONLINE | OFFLINE | EMERGENCY }
<db_update_option> ::=
{ READ_ONLY | READ_WRITE }
<db_user_access_option> ::=
{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }
<external_access_option> ::=
{
DB_CHAINING { ON | OFF }
| TRUSTWORTHY { ON | OFF }
| DEFAULT_FULLTEXT_LANGUAGE = { <lcid> | <language name> | <language alias> }
| DEFAULT_LANGUAGE = { <lcid> | <language name> | <language alias> }
| NESTED_TRIGGERS = { OFF | ON }
| TRANSFORM_NOISE_WORDS = { OFF | ON }
| TWO_DIGIT_YEAR_CUTOFF = { 1753, ..., 2049, ..., 9999 }
}
<FILESTREAM_option> ::=
{
NON_TRANSACTED_ACCESS = { OFF | READ_ONLY | FULL }
| DIRECTORY_NAME = <directory_name>
}
<HADR_options> ::=
ALTER DATABASE SET HADR
<parameterization_option> ::=
PARAMETERIZATION { SIMPLE | FORCED }
<recovery_option> ::=
{
RECOVERY { FULL | BULK_LOGGED | SIMPLE }
| TORN_PAGE_DETECTION { ON | OFF }
| PAGE_VERIFY { CHECKSUM | TORN_PAGE_DETECTION | NONE }
}
<target_recovery_time_option> ::=
TARGET_RECOVERY_TIME = target_recovery_time { SECONDS | MINUTES }
<service_broker_option> ::=
{
ENABLE_BROKER
| DISABLE_BROKER
| NEW_BROKER
| ERROR_BROKER_CONVERSATIONS
| HONOR_BROKER_PRIORITY { ON | OFF}
}
<snapshot_option> ::=
{
ALLOW_SNAPSHOT_ISOLATION { ON | OFF }
| READ_COMMITTED_SNAPSHOT {ON | OFF }
}
<sql_option> ::=
{
ANSI_NULL_DEFAULT { ON | OFF }
| ANSI_NULLS { ON | OFF }
| ANSI_PADDING { ON | OFF }
| ANSI_WARNINGS { ON | OFF }
| ARITHABORT { ON | OFF }
| COMPATIBILITY_LEVEL = { 90 | 100 | 110 }
| CONCAT_NULL_YIELDS_NULL { ON | OFF }
| NUMERIC_ROUNDABORT { ON | OFF }
| QUOTED_IDENTIFIER { ON | OFF }
| RECURSIVE_TRIGGERS { ON | OFF }
}
<termination> ::=
{
ROLLBACK AFTER integer [ SECONDS ]
| ROLLBACK IMMEDIATE
| NO_WAIT
}
Bağımsız değişkenler
- database_name | GEÇERLİ
Değiştirilmesi için veritabanı adıdır. Mevcut, veritabanı için eylemi gerçekleştirir. GEÇERLİ tüm içeriklerde tüm seçenekler için desteklenmiyor. Geçerli başarısız olduğunda veritabanı adı sağlar.
<auto_option> :: =
Otomatik seçeneklerini denetler.
AUTO_CLOSE {ON | KAPALI}
ON
Veritabanı temiz bir şekilde kapatılır ve son kullanıcı çıkar sonra kaynaklarını serbest.Kullanıcı veritabanını yeniden kullanmaya çalıştığında veritabanı otomatik olarak yeniden açılır. Örneğin, bir kullanım göndererek database_namedeyimi. auto_close on olarak ayarlanmışken veritabanı temiz bir şekilde kapatılır, sonraki açışınızda veritabanı kullanmak bir kullanıcı deneyinceye kadar veritabanı açıldığında değil Veritabanı Altyapısıyeniden.
OFF
Son kullanıcı çıkar sonra veritabanı açık kalır.
Çünkü normal dosyalar gibi yönetilmek üzere veritabanı dosyaları için sağlar, auto_close seçeneği masaüstü veritabanları için yararlıdır. Onlar taşınabilir, yedekleme yapmak için bol ya da diğer kullanıcılara gönderilecek. auto_close, zaman uyumsuz bir işlemdir; Art arda açılış ve kapanış veritabanı performans azaltmaz.
[!NOT]
auto_close seçeneği bulunan bir veritabanında kullanılamaz.
Bu seçenek durumunu incelenerek belirlenebilir is_auto_close_onsütununda sys.databasesKatalog görünümü veya IsAutoCloseişlevi özelliği.
[!NOT]
auto_close on, bazı sütunlarda olduğunda sys.databases Katalog görünümü ve işlevi döndürür null veritabanı veri almak kullanılamaz çünkü. Bu sorunu gidermek için veritabanını açmak için use deyimi yürütme.
[!NOT]
Veritabanı yansıtma auto_close off gerektirir.
Veritabanı'nın autoclose için ayarlandığında = on, planı önbellek örneği için bir otomatik veritabanı kapatma temizler başlatan işlem SQL Server. Plan önbelleğini temizlemek, tüm sonraki yürütme planlarının yeniden derlenmesine neden olur ve sorgu performansında ani, geçici bir düşüşe neden olabilir. De SQL Server 2005Service Pack 2 ve üzeri, planı önbellek temizlenir her yerde için SQL Serverhata günlüğünde, aşağıdaki bilgilendirme iletisi bulunur: " SQL Server ' % s' cachestore cachestore Temizleme %d karşılaştı cachestore (planı önbellek parçası) bazı veritabanı bakım ya da yeniden yapılandırın işlemleri nedeniyle". Bu ileti, her beş dakikada bir, önbellek bu süre zarfında boşaltıldığı sürece günlüğe yazılır.
AUTO_CREATE_STATISTICS {ON | KAPALI}
ON
Sorgu en iyi duruma getiricisi sorgu planları ve sorgu performansını artırmak için gerekli olarak sorgu yüklemler tek sütun istatistikleri oluşturur. Sorgu en iyi duruma getiricisi sorgu derlediğinde, bu tek sütunlu istatistikleri oluşturulur. Tek sütunlu istatistikleri zaten varolan istatistikleri nesne ilk sütunu olmayan sütunlar üzerinde oluşturulur.ON varsayılan değerdir. Çoğu veritabanları için varsayılan ayarı kullanmanızı öneririz.
OFF
Sorgu derlerken sorgu iyileştirici istatistiklerini tek sütunda bulunan sorgu yüklemler oluşturmaz. Bu seçeneği ayarlamak için off suboptimal sorgu planları neden olabilir ve sorgu performansı bozulmuş.
Bu seçenek durumunu incelenerek belirlenebilir is_auto_create_stats_onsütununda sys.databasesKatalog görünümü veya IsAutoCreateStatisticsişlevi özelliği.
Daha fazla bilgi için "Kullanma Database özel istatistikleri seçenekleri" bölümüne bakın in İstatistikler.
AUTO_SHRINK {ON | KAPALI}
ON
Veritabanı dosyaları için dönemsel daraltma adaylar bulunmaktadır.Veri dosyası ve günlük dosyalarını otomatik olarak daraltılmış. AUTO_SHRINK veritabanı Basit kurtarma modeli ayarlanmışsa veya günlük yedeklenmişse hareket günlüğü boyutu azaltır. Için off ayarlandığında, veritabanı dosyaları otomatik olarak kullanılmayan alanı için dönemsel çek sırasında shrunk değil.
AUTO_SHRINK seçeneği, dosyanın yüzde 25'den fazla kullanılmayan alanı içerdiğinde daralmış için dosyaları sağlar. Oluşturulduğu zaman, hangisi daha büyük ise dosya dosya yüzde 25'i kullanılmayan alanı olduğu bir boyutu veya dosyasının boyutunu daralmış.
Salt okunur bir veritabanı daraltma olamaz.
OFF
Veritabanı dosyaları otomatik olarak kullanılmayan alanı için dönemsel çek sırasında shrunk değil.
Bu seçenek durumunu incelenerek belirlenebilir is_auto_shrink_onsütununda sys.databasesKatalog görünümü veya IsAutoShrinkişlevi özelliği.
[!NOT]
AUTO_SHRINK seçeneği bulunan bir veritabanında kullanılamaz.
AUTO_UPDATE_STATISTICS {ON | KAPALI}
ON
Bir sorgu tarafından ve ne zaman onlar-ebilmek var olmak eski kullanıldığında, sorgu iyileştirici istatistiklerini güncelleştirir belirtir. Ekleme, güncelleştirme, silme veya birleştirme işlemleri tablo veya dizin oluşturulmuş görünüm veri dağıtım değiştirdikten sonra istatistikleri güncel olur. Query optimizer, ne zaman istatistikleri beri son istatistikleri güncelleştirme veri değişiklikleri sayılması ve eşik değişiklikleri sayısını karşılaştırarak güncel olmayabilir belirler. Eşik tablo veya dizin oluşturulmuş görünüm satır sayısını temel alır.Sorgu en iyi duruma getiricisi sorgu derleme öncesi ve önbelleğe alınan sorgu planı yürütmeden önce güncel istatistikleri denetler. Bir sorgu derlemeden önce query optimizer hangi istatistikleri güncel olmayabilir belirlemek için sorgu yüklemi dizin oluşturulmuş görünümler, tablolar ve sütunlar kullanır. Önbelleğe alınan sorgu planı yürütmeden önce Veritabanı Altyapısısorgu planı güncel istatistik başvurduğu doğrular.
Oluşturulan dizinler, tek-sorgu yüklemler ve istatistikleri STATISTICS create deyimi kullanarak oluşturulan sütunlar için istatistikleri AUTO_UPDATE_STATISTICS seçeneği uygulanır. Bu seçenek ayrıca, filtre uygulanmış istatistikleri için de geçerlidir.
ON varsayılan değerdir. Çoğu veritabanları için varsayılan ayarı kullanmanızı öneririz.
Zaman uyumlu veya zaman uyumsuz istatistikleri güncelleştirilir olup olmadığını belirlemek için AUTO_UPDATE_STATISTICS_ASYNC seçeneğini kullanın.
OFF
Bir sorgu tarafından ve ne zaman onlar-ebilmek var olmak eski kullanıldığında sorgu iyileştirici istatistiklerini güncelleştirmez belirtir. Bu seçeneği ayarlamak için off suboptimal sorgu planları neden olabilir ve sorgu performansı bozulmuş.
Bu seçenek durumunu incelenerek belirlenebilir is_auto_update_stats_onsütununda sys.databasesKatalog görünümü veya IsAutoUpdateStatisticsişlevi özelliği.
Daha fazla bilgi için "Kullanma Database özel istatistikleri seçenekleri" bölümüne bakın in İstatistikler.
AUTO_UPDATE_STATISTICS_ASYNC {ON | KAPALI}
ON
AUTO_UPDATE_STATISTICS seçeneği için istatistikleri güncelleştirmeleri zaman uyumsuz olduğunu belirtir. Sorgu en iyi duruma getiricisi istatistikleri güncelleştirmeleri önce sorguları derler beklemez.Bu seçenek on olarak ayarlanması, AUTO_UPDATE_STATISTICS on olarak ayarlanmadığı sürece hiçbir etkisi yoktur.
Varsayılan olarak, AUTO_UPDATE_STATISTICS_ASYNC seçeneği off için ayarlanır ve sorgu iyileştirici istatistiklerini eşzamanlı olarak güncelleştirir.
OFF
AUTO_UPDATE_STATISTICS seçeneği için istatistikleri güncelleştirmeleri eşzamanlı olduğunu belirtir. Sorgu iyileştirici istatistiklerini güncelleştirmeleri önce sorguları derler bekler.Bu seçeneği ayarlamak için off, AUTO_UPDATE_STATISTICS on olarak ayarlanmadığı sürece hiçbir etkisi yoktur.
Bu seçenek durumunu incelenerek belirlenebilir is_auto_update_stats_async_onsütununda sys.databasesKatalog görünümü.
For more information, zaman zaman uyumlu veya zaman uyumsuz istatistikleri güncelleştirmeleri kullanılacağını açıklayan "Kullanma Database özel istatistikleri seçenekleri" bölümüne bakın in İstatistikler.
<change_tracking_option> :: =
Denetim izleme seçeneklerini değiştirin. Değişiklik izlemeyi etkinleştirmek, seçeneklerini ayarlamak, seçeneklerini değiştirmek ve değişiklik izlemeyi devre dışı bırakır. Örnekler için bu konunun ilerleyen bölümlerindeki örneklerde bölümüne bakın.
ON
Sağlar, izleme için veritabanı değiştirin. Değişiklik izlemeyi etkinleştirdiğinizde, otomatik temizleme ve tutma değiştirme seçeneklerini de ayarlayabilirsiniz.AUTO_CLEANUP = { ON | KAPALI}
ON
Izleme bilgilerini belirtilen saklama dönemi sonra otomatik olarak kaldırılır.OFF
Değişiklik izleme verilerini veritabanından kaldırılmaz.
CHANGE_RETENTION =retention_period { DAYS | SAAT | DAKİKA}
Izleme bilgilerini veritabanında tutulması için asgari süre belirtir. auto_cleanup değeri on olduğunda verileri kaldırılır.retention_periodsaklama dönemi sayısal bileşen belirten bir tamsayıdır.
Varsayılan saklama dönemi 2 gündür. Minimum saklama dönemi 1 dakikadır.
OFF
Devre dışı bırakır izleme için veritabanını değiştirme. Değişiklik izleme veritabanını devre dışı bırakmadan önce tüm tabloları üzerinde izleme devre dışı bırakmanız gerekir.
<containment_option> :: =
Denetim veritabanı içerme seçenekleri.
ÇEVRELEME = {none | KISMİ}
NONE
Veritabanı bulunan bir veritabanı değil.KISMİ
Veritabanı içindeki bir veritabanıdır. Veritabanı çoğaltma, veri yakalama değiştirmek veya değişiklik izleme etkinleştirilmiş varsa, veritabanı içerik için kısmi ayarlama başarısız olur. Hata denetimi, bir arızadan sonra durur. İçerdiği veritabanları hakkında daha fazla bilgi için bkz: İçerdiği veritabanları.
<cursor_option> :: =
İmleci seçeneklerini denetler.
CURSOR_CLOSE_ON_COMMIT {ON | KAPALI}
ON
Herhangi bir hareket tamamlandıktan veya geri olduğunda açık imleçler kapalı.OFF
Bir işlem tamamlanmış olduğunda imleçler açık kalır; bir hareketi geri alınıyor, INSENSITIVE veya STATIK tanımlanan olanlar dışında tüm imleçleri kapatır.
set deyimini kullanarak ayarlanan bağlantı düzeyi ayarları CURSOR_CLOSE_ON_COMMIT varsayılan veritabanı ayarı geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri CURSOR_CLOSE_ON_COMMIT kapalı oturum ayarı bağlantı düzeyi set deyimi yayın örneğine bağlanırken SQL Server. Daha fazla bilgi için, bkz. set CURSOR_CLOSE_ON_COMMIT (Transact-sql).
Bu seçenek durumunu incelenerek belirlenebilir is_cursor_close_on_commit_onsütununda sys.databasesKatalog görünümü veya IsCloseCursorsOnCommitEnabledişlevi özelliği.
NONE {LOCAL | KÜRESEL}
İmleç kapsamı yerel ya da global kullanıp kullanmadığını denetler.YEREL
Yerel belirtilir ve imleç oluşturulduğunda genel olarak tanımlanmamış olduğunda, toplu iş, saklı yordam veya tetikleyiciyi imleci oluşturulduğu yerel imleç kapsamıdır. İmleç adı, yalnızca bu kapsam içinde geçerlidir. İmleci, yerel imleç değişkenleri toplu iş, saklı yordam, tetikleyici veya saklı yordam çıkış parametresi olarak başvurulabilir. Toplu iş, saklı yordam veya tetikleyiciyi sona erdiğinde sürece geri bir çıkış parametresi geçildi, imleci örtülü olarak kaldırıldı. İmleci bir çıktı parametresini geri aktarılırsa, başvurduğu son değişken kaldırıldı veya kapsam dışı kaldığında imleç kaldırıldı.KÜRESEL
global belirtilir ve imleç oluşturulduğunda yerel tanımlı değil, imleç kapsamı bağlantı küresel olur. İmleç adı, saklı yordam veya bağlantı tarafından yürütülen toplu başvurulabilir.
Imleci örtülü olarak yalnızca bağlantıyı kes deallocated. Daha fazla bilgi için, bkz. declare cursor (Transact-sql).
Bu seçenek durumunu incelenerek belirlenebilir is_local_cursor_defaultsütununda sys.databasesKatalog görünümü veya IsLocalCursorsDefaultişlevi özelliği.
<DATABASE_MIRRORING>
Bağımsız değişken tanımları için bkz: alter database veritabanı yansıtma (Transact-sql).
<date_correlation_optimization_option> :: =
DATE_CORRELATION_OPTIMIZATION seçeneğini kontrol eder.
DATE_CORRELATION_OPTIMIZATION {ON | KAPALI}
ON
SQL Servertarafından FOREIGN key kısıtlaması bağlı olan ve olması herhangi iki veritabanındaki tablolar arasındaki korelasyon istatistikleri tutar datetimesütun.OFF
Korelasyon istatistikleri sürdürülür.
DATE_CORRELATION_OPTIMIZATION on olarak ayarlamak için olması gerekir alter database deyimi yürütme bağlantı dışında veritabanına etkin bağlantı yok. Daha sonra birden çok bağlantı desteklenir.
Bu seçenek geçerli ayarı incelenerek belirlenebilir is_date_correlation_onsütununda sys.databasesKatalog görünümü.
<db_encryption_option> :: =
Veritabanı şifreleme durumunu denetler.
- ŞİFRELEME {ON | KAPALI}
(Açık) şifrelenmiş veritabanını ayarlar veya (off) şifreli değil. Veritabanı şifreleme hakkında daha fazla bilgi için bkz: Saydam veri şifrelemesi (tde).
Veritabanı düzeyinde şifreleme etkinleştirildiğinde, tüm filegroups şifrelenir. Herhangi bir yeni filegroups şifreli özelliğini devralır. Veritabanındaki tüm filegroups ayarlandıysa READ ONLY, veritabanı şifreleme işlemi başarısız olur.
Kullanarak veritabanı şifreleme durumunu görebilirsiniz görebilirsinizsys.dm_database_encryption_keysDinamik yönetimi görüntüleyin.
<db_state_option> :: =
Veritabanının durumunu denetler.
ÇEVRİMDIŞI
Veritabanı temiz bir şekilde kapatıldı, kapalı ve çevrimdışı olarak işaretli. Çevrimdışı durumdayken veritabanı değiştirilemez.ONLINE
Veritabanı açık ve kullanılabilir olur.ACİL DURUM
Veritabanı read_only olarak işaretlenmiş, günlüğü devre dışı bırakılır ve üyelerine erişim sınırlıdır sysadminsunucu rolü. Acil durum öncelikle sorun giderme amacıyla kullanılır. Örneğin, şüpheli bir bozuk günlük dosyası nedeniyle acil duruma ayarlanabilir olarak veritabanı kutladı. Bu veritabanı için Sistem Yöneticisi salt okunur erişim sağlayabilir. Yalnızca üyeleri sysadminsabit sunucu rolü, acil durum için bir veritabanı ayarlayabilirsiniz.
[!NOT]
İzinler: database alter iznine konu veritabanı çevrimdışı ya da acil duruma veritabanını değiştirmek için gereklidir. alter any database izni sunucu düzeyinde, veritabanı çevrimdışı online taşımak için gereklidir.
Bu seçenek durumunu incelenerek belirlenebilir stateve state_descsütun sys.databases Katalog görünümü veya Statusözelliği databasepropertyex işlevi. Daha fazla bilgi için, bkz. Veritabanı durumları.
Bir veritabanı, geri yükleme, çevrimdışı, çevrimiçi, ya da acil durum ayarlanamaz olarak işaretlenmiş. Bir veritabanı etkin geri yükleme işlemi sırasında veya bozuk bir yedekleme dosyası nedeniyle bir veritabanı ya da günlük dosyasının bir geri yükleme işlemi başarısız olduğunda geri yükleme durumunda olabilir.
<db_update_option> :: =
Güncelleştirmeler veritabanı üzerinde izin verilip verilmeyeceğini denetler.
READ_ONLY
Kullanıcıların veritabanından veri okuma ancak değiştirmek değil.[!NOT]
Sorgu performansını artırmak için bir veritabanı read_only için ayarlamadan önce istatistikleri güncelleştirme. Bir veritabanı read_only için ayarlandıktan sonra ek istatistikler gerekirse Veritabanı Altyapısıİstatistik tempdb içinde yaratacak. Salt okunur veritabanı istatistikleri hakkında daha fazla bilgi için bkz: İstatistikler.
READ_WRITE
Veritabanı kullanılabilir okuma ve yazma işlemleri.
Bu durumu değiştirmek için veritabanına özel kullanım erişimi olması gerekir. Daha fazla bilgi için bkz: SINGLE_USER yan tümcesi.
<db_user_access_option> :: =
Veritabanı kullanıcı erişimi kontrol eder.
SINGLE_USER
Yalnızca bir belirtir bir kullanıcı veritabanına erişebilir. SINGLE_USER belirtilir ve varsa diğer kullanıcıların tüm kullanıcıların belirtilen veritabanı bağlantısını kesmek kadar alter database deyimini engellenir veritabanına bağlı. Bu davranışı geçersiz kılmak için bkz: WITH <fesih> tümcesi.Seçeneği ayarlama kullanıcı oturumu kapatıldığında bile veritabanı SINGLE_USER modunda kalır. Bu noktada, başka bir kullanıcı, ancak sadece bir veritabanına bağlanabilir.
Veritabanı SINGLE_USER için ayarlamadan önce AUTO_UPDATE_STATISTICS_ASYNC seçeneği off için ayarlanmış doğrulayın. on olarak ayarlandığında, İstatistikleri güncelleştirmek için kullanılan arka plan iş parçacığı veritabanıyla bağlantı almak ve veritabanı tek kullanıcı modunda erişmek mümkün olacaktır. Bu seçenek durumunu görüntülemek için is_auto_update_stats_async_onsütununda sys.databases Katalog görünümü. Seçenek on olarak ayarlanmışsa, aşağıdaki görevleri gerçekleştirin:
AUTO_UPDATE_STATISTICS_ASYNC kapalı olarak ayarlayın.
Etkin zaman uyumsuz istatistikleri işler için sorgulayarak kontrol sys.dm_exec_background_job_queue yönetimi görüntüleyin.
Etkin işler varsa, ya da işleri tamamlamak veya el ile kullanarak sonlandırmak izin ÖLDÜRMEK stats iş.
RESTRICTED_USER
RESTRICTED_USER sağlar sadece üyeler için db_ownersabit veritabanı rolü ve dbcreatorve sysadminveritabanına bağlanmak için sunucu rolleri sabit ama onların sayısını sınırlamaz. Tüm bağlantıların veritabanı, alter database deyimini fesih yan tümcesi tarafından belirtilen süre içinde kesilir. Veritabanı RESTRICTED_USER durumuna geçiş sonra niteleyici olmayan kullanıcıların bağlantı girişimleri reddedilir.MULTI_USER
Veritabanına bağlanmak için uygun izinlere sahip tüm kullanıcılara izin verilir.
Bu seçenek durumunu incelenerek belirlenebilir user_accesssütununda sys.databasesKatalog görünümü veya UserAccessişlevi özelliği.
<external_access_option> :: =
Başka bir veritabanından nesneleri veritabanı dış kaynaklar tarafından gibi erişilebilir olup olmadığını kontrol eder.
DB_CHAINING {ON | KAPALI}
ON
Veritabanı kaynağı veya çapraz veritabanı sahiplik zinciri hedef olabilir.OFF
Veritabanı geçici veritabanı sahipliği zincir alamaz.
Önemli Örneğini SQL Serverne zaman bu ayarı tanır cross db ownership chainingserver seçeneği 0 (kapalı)'dır. Ne zaman cross db ownership chaining1 (açık), tüm kullanıcı veritabanları, bu seçeneğin değeri bakılmaksızın geçici veritabanı sahipliği zincir katılabilir. Bu seçenek kullanılarak ayarlanır sp_configure.
Bu seçeneği ayarlamak için gerektirir CONTROL SERVERveritabanı izni.
Bu sistem veritabanları üzerinde DB_CHAINING seçeneği ayarlanamıyor: master, model, ve tempdb.
Bu seçenek durumunu incelenerek belirlenebilir is_db_chaining_onsütununda sys.databasesKatalog görünümü.
GÜVENİLİR {ON | KAPALI}
ON
Kimliğe bürünme içerik kullanan veritabanı modülleri (örneğin, kullanıcı tanımlı işlevler veya saklı yordamlar) veritabanı dışına kaynaklara erişebilir.OFF
Kimliğe bürünme içerik veritabanı modüllerinde veritabanının dışındaki kaynaklara erişemez.
Veritabanına bağlı her trustworthy off için ayarlanır.
Varsayılan olarak, tüm sistem veritabanları dışında msdbveritabanı sahip trustworthy aygıtlarım için ayarla İçin değeri değiştirilemez modelve tempdbveritabanları. Sen asla güvenilir seçeneği için on ayarlamanızı öneririz masterveritabanı.
Bu seçeneği ayarlamak için gerektirir CONTROL SERVERveritabanı izni.
Bu seçenek durumunu incelenerek belirlenebilir is_trustworthy_onsütununda sys.databasesKatalog görünümü.
DEFAULT_FULLTEXT_LANGUAGE
Tam metin dizini oluşturulmuş sütunlar için varsayılan dil değeri belirtir.Önemli Yalnızca içerik için kısmi atandığında bu seçenek izin verilebilir. CONTAINMENT hiçbiri olarak ayarlarsanız, hata oluşur.
DEFAULT_LANGUAGE
Tüm yeni oluşturulan oturumları için varsayılan dili belirtir. Dil, yerel kimlik (LCID), dil adının veya dil diğer sağlayarak belirtilebilir. Kabul edilebilir dil adları ve diğer adların listesi için bkz: sys.syslanguages (Transact-sql).Önemli Yalnızca içerik için kısmi atandığında bu seçenek izin verilebilir. CONTAINMENT hiçbiri olarak ayarlarsanız, hata oluşur.
NESTED_TRIGGERS
SONRA tetikleyici Çağlayan olup olmadığını belirtir; Yani, başka bir tetiği başlatır, başka bir tetikleyici başlattığı eylem gerçekleştirme vb..Önemli Yalnızca içerik için kısmi atandığında bu seçenek izin verilebilir. CONTAINMENT hiçbiri olarak ayarlarsanız, hata oluşur.
TRANSFORM_NOISE_WORDS
Gürültü sözcükleri veya stopwords, Boolean işlemi tam metin sorgu başarısız olmasına neden olursa bir hata iletisi bastırmak için kullanılır.Önemli Yalnızca içerik için kısmi atandığında bu seçenek izin verilebilir. CONTAINMENT hiçbiri olarak ayarlarsanız, hata oluşur.
TWO_DIGIT_YEAR_CUTOFF
Dört basamaklı yıl olarak iki basamaklı yılları yorumlamak için kesme yılı gösteren tamsayı 1753 gelen 9999 belirtir.Önemli Yalnızca içerik için kısmi atandığında bu seçenek izin verilebilir. CONTAINMENT hiçbiri olarak ayarlarsanız, hata oluşur.
<FILESTREAM_option> :: =
FileTables ayarlarını denetler.
non_transacted_access = { off | READ_ONLY | TAM}
OFF
FileTable veri olmayan işlem erişim devre dışı bırakılmıştır.READ_ONLY
FILESTREAM veri FileTables bu veritabanı işlemsel olmayan işlemler tarafından okunabilir.TAM
Tam işlem dışı erişim FILESTREAM verilere FileTables etkindir.
- DIRECTORY_NAME =<directory_name>
Windows uyumlu dizin adı. Bu ad tüm veritabanı düzeyi dizin adları arasında benzersiz olmalıdır SQL Serverörneği. Harmanlama ayarlarını bağımsız olarak benzersiz karşılaştırma duyarlıdır. Bu seçenek bir FileTable bu veritabanı oluşturmadan önce ayarlanmış olması gerekir.
<parameterization_option> :: =
PARAMETERIZATION seçeneği denetler.
PARAMETERIZATION {BASİT | ZORLA}
BASİT
Veritabanı varsayılan davranışını temel Parametreli sorgular.ZORLA
SQL Serververitabanındaki tüm sorguları parameterizes.
Bu seçenek geçerli ayarı incelenerek belirlenebilir is_parameterization_forcedsütununda sys.databasesKatalog görünümü.
<recovery_option> :: =
Denetim veritabanı: kurtarma seçenekleri ve disk g/Ç hata denetimi.
TAM
Tam kurtarma ortam hatasından sonra işlem günlüğü yedekleri kullanarak sağlar. Veri dosyası bozuksa, medya kurtarma tüm kaydedilmiş hareketlerini geri yükleyebilirsiniz. Daha fazla bilgi için, bkz. Kurtarma modelleri (SQL Server).BULK_LOGGED
Kurtarma ortam hatasından sonra en iyi performans ve günlük alanı kullanımı belirli geniş ölçekli veya toplu işlemleri en az miktarda birleştirerek sağlar. Hangi işlemler minimal kaydedilebilir hakkında daha fazla bilgi için bkz: İşlem günlüğü (SQL Server). bulk_logged kurtarma modeli altında bu işlemler için günlük düzeydedir. Daha fazla bilgi için, bkz. Kurtarma modelleri (SQL Server).BASİT
Asgari günlük alanı kullanan basit bir yedekleme stratejisi sağlanır. Artık sunucu hatası kurtarma için gerekli olduğunda günlük alanı otomatik olarak yeniden kullanılabilir. Daha fazla bilgi için, bkz. Kurtarma modelleri (SQL Server).Önemli Basit kurtarma modeli, bir veri dosyası bozuksa, diğer iki model daha ama daha fazla veri kaybına maruz kalma pahasına yönetmek kolaydır. En son veritabanı veya fark veritabanı yedekleme tüm değişiklikleriniz kaybolur ve el ile reentered gerekir.
Varsayılan kurtarma modeli, kurtarma modeli tarafından belirlenir modelveritabanı. Uygun kurtarma modeli seçme hakkında daha fazla bilgi için bkz: Kurtarma modelleri (SQL Server).
Bu seçenek durumunu incelenerek belirlenebilir recovery_model ve recovery_model_desc sütun sys.databasesKatalog görünümü veya Recoveryişlevi özelliği.
TORN_PAGE_DETECTION {ON | KAPALI}
ON
Tamamlanmamış sayfaları algılanan tarafından Veritabanı Altyapısı.OFF
Tamamlanmamış sayfaları can't tespit tarafından Veritabanı Altyapısı.
Önemli Sözdizimi yapısı TORN_PAGE_DETECTION on | KAPALI bir gelecek sürümünde kaldırılacak SQL Server. Bu sözdizimi yapı yeni geliştirme çalışmalarında kullanmaktan kaçının ve değiştirme sözdizimi yapısını kullanan uygulamalar planlıyoruz. PAGE_VERIFY seçeneğini kullanın.
PAGE_VERIFY {CHECKSUM | TORN_PAGE_DETECTION | YOK}
Disk g/Ç yolu hataları tarafından neden bozuk veritabanı sayfaları bulur. Disk g/Ç yolu hataları neden veritabanı bozulma sorunları olabilir ve genellikle güç kesintileri veya sayfanın yazılmış anda disk donanım arızaları nedeniyle diske.SAĞLAMA TOPLAMI
Tam sayfa içeriğini kontrol toplamını hesaplar ve sayfa yazıldığında sayfa başlığında değerini saklayan diske. Sayfanın diskten okunduğunda, sağlama toplamı yeniden ve sayfa üstbilgisinde saklanan sağlama toplamı değeri karşılaştırılır. Değerler eşleşmiyorsa, hata iletisi 824 (sağlama toplamı hatası gösteren) hem de bildirilen SQL Serverhata günlüğü ve Windows olay \Kütüğü Sağlama toplamı hatası bir I/O yol sorunu olduğunu gösterir. Kök belirlemek için donanım, bellenim sürücüler, BIOS, filtre sürücülerinin (örneğin, virüs yazılımı) ve diğer I/O yol bileşenlerini soruşturma neden gerekir.TORN_PAGE_DETECTION
8 Kilobayt (kb) veritabanı sayfasında her 512 baytlık sektörü için özel 2 bitlik desen kaydeder ve sayfa yazıldığında veritabanı sayfa üstbilgisinde saklanan diske. Sayfanın diskten okunduğunda, yırtık bitleri sayfa üstbilgisinde saklanan gerçek sayfa sektör bilgileri karşılaştırılır. Sayfanın yalnızca bir kısmını yazılı olarak gösteren eşleşmeyen değerler diske. Bu durumda, hem de bildirilen hata iletisi 824 (bozuk sayfa hata gösteren) SQL Serverhata günlüğü ve Windows olay \Kütüğü Eğer gerçekten bir eksik yazma sayfa bozuk sayfalar genellikle veritabanı kurtarma tarafından algılanır. Ancak diğer I/O yolu hatalarını bozuk bir sayfa her zaman neden olabilir.NONE
Veritabanı sayfa yazma bir sağlama toplamı veya TORN_PAGE_DETECTION değer oluşturmaz. SQL Serversağlama toplamı veya bozuk bir sayfa sağlama toplamı veya TORN_PAGE_DETECTION değeri sayfa üstbilgisinde mevcut olsa bile, bir okuma sırasında değil doğrular.
PAGE_VERIFY seçeneğini kullandığınızda aşağıdaki önemli noktaları göz önünde bulundurun:
checksum varsayılandır.
Ne zaman bir kullanıcı ya da sistem veritabanı yükseltilmiş için SQL Server 2005ya da sonraki bir sürümünü PAGE_VERIFY değeri (yok veya TORN_PAGE_DETECTION) korunur. checksum kullanmanızı öneririz.
[!NOT]
Önceki sürümlerinde SQL Server, için none PAGE_VERIFY veritabanı seçeneği ayarlanır tempdbveritabanı ve değiştirilemez. De SQL Server 2008ve sonraki sürümlerinde, varsayılan değeri tempdbveritabanı SAĞLAMASI yeni yüklemeleri için değil SQL Server. Yükleme yükseltirken SQL Server, varsayılan değer hiçbiri olarak kalır. Seçeneği değiştirilebilir. Sağlama toplamını kullanmanızı öneririz tempdbveritabanı.
TORN_PAGE_DETECTION daha az kaynak kullanan ama en az bir alt kümesini checksum koruma sağlar.
PAGE_VERIFY veritabanı çevrimdışına almak, veritabanı kilitleme veya aksi takdirde bu veritabanı eşzamanlılık engelleyen olmadan ayarlanabilir.
SAĞLAMASI için TORN_PAGE_DETECTION dışlayan değil. Her iki seçenek de aynı zamanda etkinleştirilemez.
Bozuk sayfa veya sağlama toplamı hatası algılandığında, geri yükleme veya potansiyel hata yalnızca dizin sayfaları için sınırlı ise dizini yeniden oluşturuluyor kurtarabilirsiniz. Veritabanı sayfa veya sayfaları etkilenen, türünü belirlemek için bir sağlama toplamı hatası karşılaşıyorsanız dbcc checkdb çalıştırmak. Geri yükleme seçenekleri hakkında daha fazla bilgi için bkz: restore değişkenlerini (Transact-sql). Verileri geri yükleme veri bozulması sorunu, ancak kök neden, örneğin disk donanım arızası, tanısı ve devam eden hatalarını önlemek için en kısa zamanda düzeltilmesi gerekir.
SQL Serverdört kez bir sağlama, bozuk bir sayfa ya da diğer g/Ç hatası ile başarısız olan herhangi bir okuma deneyecek. Oku yeniden denemeleri birinde başarılı olursa, bir ileti hata günlüğüne yazılır ve okuma tetikleyen komut devam edecektir. Yeniden deneme girişimleri başarısız olursa, komut 824 hata iletisiyle başarısız olur.
Sağlama toplamı, bozuk bir sayfa, okuma-yeniden deneme hakkında daha fazla bilgi için hata iletileri 823 ve 824 ve diğer SQL ServerI/O denetleme özellikleri, bakın bu Microsoft Web sitesini.
Bu seçenek geçerli ayarı incelenerek belirlenebilir page_verify_optionsütununda sys.databases Katalog görünümü veya IsTornPageDetectionEnabledözelliği databasepropertyex işlevi.
<target_recovery_time_option> :: =
Bir veritabanı başına temelinde dolaylı denetim sıklığını belirtir. Varsayılan veritabanı sunucu örneği Kurtarma aralığı ayarı olan frekans bağlıdır, otomatik denetim noktaları kullanacağını belirten 0 ' dır.
TARGET_RECOVERY_TIME **=**target_recovery_time {seconds | DAKİKA}
target_recovery_time
En fazla bir çarpışma halinde belirtilen veritabanını kurtarmak için zaman bağlı belirtir.SANİYE
Gösteren target_recovery_timesaniye sayısı olarak ifade edilir.DAKİKA
Gösteren target_recovery_timedakika sayısı olarak ifade edilir.
Dolaylı denetim noktaları hakkında daha fazla bilgi için bkz: Veritabanı denetim noktaları (SQL Server).
<service_broker_option> :: =
Denetimleri şu Service Brokerseçenekleri: etkinleştirir veya mesaj teslim devre dışı bırakır, yeni ayarlar Service Brokertanımlayıcı veya kümeleri Konuşma öncelikleri on ya da kapalı
ENABLE_BROKER
Belirleyen Service BrokerBelirtilen veritabanı için etkinleştirilir. İleti teslimi başlatılır ve is_broker_enabledbayrağı ayarlanırsa true olarak sys.databasesKatalog görünümü. Varolan veritabanını korur Service Brokertanımlayıcısı.[!NOT]
enable_broker özel veritabanı kilit gerektirir. Diğer oturumlar kaynak veritabanını kilitlemiş, diğer oturumları kendi kilitleri serbest bırakıncaya kadar enable_broker bekleyecek. Etkinleştirmek için Service Brokerbir kullanıcı veritabanında, alter database set enable_broker deyimi gibi veritabanı tek kullanıcı modunda yerleştirerek çalıştırmadan önce diğer oturumları veritabanı olun. Etkinleştirmek için Service Brokerde msdbveritabanı, ilk durağı SQL Serverajan ki Service Brokergerekli kilidi elde edebilirsiniz.
DISABLE_BROKER
Belirleyen Service BrokerBelirtilen veritabanı için devre dışı bırakıldı. İleti teslimi durdurulduğunda ve is_broker_enabledbayrağı false ayarlanır sys.databasesKatalog görünümü. Varolan veritabanını korur Service Brokertanımlayıcısı.NEW_BROKER
Veritabanına yeni bir broker tanımlayıcısı alacağını belirtir. Veritabanına yeni bir service broker olarak kabul edilir çünkü veritabanında varolan tüm görüşmeler sonunda iletişim iletileri üretmeden hemen kaldırılır. Eski başvuran herhangi bir rota Service Brokertanımlayıcısı-meli var olmak yeni tanımlayıcısı ile yeniden.ERROR_BROKER_CONVERSATIONS
Belirleyen Service Brokerileti teslimat etkindir. Bu mevcut korur Service BrokerVeritabanı tanıtıcısı. Service BrokerVeritabanı bir hata ile tüm konuşmaları sona erer. Bu uygulamaların normal temizleme gerçekleştirmek için varolan konuşmaları olanak sağlar.HONOR_BROKER_PRIORITY {ON | KAPALI}
ON
Konuşmaları için atanan öncelik düzeyleri dikkate işlemleri gönderin. Öncelik düzeyleri konuşmaları iletilerden iletileri önce düşük öncelik düzeyleri atanan konuşmaları gönderilir.OFF
Varsayılan öncelik düzeyini tüm konuşmalar sanki operasyonları çalıştırmak gönderin.
HONOR_BROKER_PRIORITY seçeneği değişiklikleri, yeni iletişim kutularını veya gönderilmeyi bekleyen ileti var iletişim kutuları için hemen etkinleşir. alter database çalıştırıldığında gönderilmek üzere bekleyen iletiler diyaloglar bazı iletiler için iletişim gönderilinceye kadar yeni ayarlama bulacaktır değil. Tüm iletişim kutuları yeni ayarını kullanmaya başlamadan önce süresini önemli ölçüde değişebilir.
Bu özellik geçerli ayarı bildirilen is_broker_priority_honoredsütununda sys.databases Katalog görünümü.
<snapshot_option> :: =
Hareket yalıtım düzeyini belirler.
ALLOW_SNAPSHOT_ISOLATION {ON | KAPALI}
ON
Veritabanı düzeyinde anlık görüntüsü seçeneği sağlar. Etkinleştirildiğinde, hatta hiçbir hareket anlık yalıtım kullandığında dml deyimlerini oluştururken satır sürümleri başlatın. Bu seçenek etkinleştirildiğinde, hareketleri anlık hareket yalıtım düzeyini belirtebilirsiniz. Bir hareket anlık görüntü yalıtım düzeyinde çalışan hareketin başında bulunan tüm deyimleri veri anlık görüyoruz. Anlık görüntü yalıtım düzeyinde çalışan bir işlem birden çok veritabanı veri erişirse, tüm veritabanlarında ALLOW_SNAPSHOT_ISOLATION on olarak ayarlanması gerekir veya her deyimi içinde hareket kilitleme ipuçları bir veritabanındaki bir tablonun herhangi bir referans bir from yan tümcesinde ALLOW_SNAPSHOT_ISOLATION off olduğu kullanmak gerekir.OFF
Veritabanı düzeyinde anlık görüntü seçeneğini kapatır. Hareketleri anlık hareket yalıtım düzeyine belirtemezsiniz.
(off on veya off on) yeni bir devlet ALLOW_SNAPSHOT_ISOLATION ayarlarsanız, veritabanında varolan tüm hareketleri uygulanana kadar alter database denetimi arayana döndürmez. Veritabanı, alter database deyimi içinde belirtilen durumda zaten olan denetim arayana hemen döndürülür. alter database deyimini hemen dönmezse kullanmak sys.dm_tran_active_snapshot_database_transactions uzun süreli hareketleri olup olmadığını belirlemek için. alter database deyimi iptal edilirse veritabanını alter database başladı oldu durumunda kalır. Sys.databases Katalog görünümü veritabanı anlık görüntü yalıtım hareketleri durumunu gösterir. Eğer snapshot_isolation_state_descIN_TRANSITION_TO_ON, = VERİTABANINDA ALLOW_SNAPSHOT_ISOLATION off alter altı saniye duraklatmak ve işlemi yeniden deneyin.
Veritabanı çevrimdışı ise, ALLOW_SNAPSHOT_ISOLATION durumunu değiştiremezsiniz.
Veritabanını daha sonra READ_WRITE için ayarlanmışsa, read_only veritabanında ALLOW_SNAPSHOT_ISOLATION ayarlarsanız, ayar korunur.
ALLOW_SNAPSHOT_ISOLATION ayarlarını değiştirebileceğiniz master, model, msdb, ve tempdbveritabanları. Ayarını değiştirirseniz, tempdb, ayar her zaman korunur örneği Veritabanı Altyapısıdurdurulup yeniden. Modeli ayarını değiştirirseniz, oluşturulan tüm yeni veritabanları için varsayılan ayarı olur dışında tempdb.
on, varsayılan olarak seçeneğidir masterve msdbveritabanları.
Bu seçenek geçerli ayarı incelenerek belirlenebilir snapshot_isolation_state sütununda sys.databasesKatalog görünümü.
READ_COMMITTED_SNAPSHOT {ON | KAPALI}
ON
Veritabanı düzeyinde Read-Committed anlık görüntüsü seçeneği sağlar. Etkinleştirildiğinde, hatta hiçbir hareket anlık yalıtım kullandığında dml deyimlerini oluştururken satır sürümleri başlatın. Bu seçenek etkinleştirildiğinde, kilitleme yerine satır sürüm oluşturma okuma kaydedilmiş yalıtım düzeyini belirtme hareketleri kullanın. Bir hareket okuma kaydedilmiş yalıtım düzeyinde çalışan deyimi başında bulunan tüm deyimleri veri anlık görüyoruz.OFF
Veritabanı düzeyinde Read-Committed anlık görüntü seçeneğini kapatır. Kilitleme read KAYDEDILMIŞ yalıtım düzeyi belirtme hareketleri kullanın.
READ_COMMITTED_SNAPSHOT on ya da off için olması gerekir alter database komutu yürütmeden bağlantısı dışında veritabanına etkin bağlantı yok. Ancak, veritabanı tek kullanıcı modunda olması gerekmez. Veritabanı çevrimdışı olduğunda, bu seçenek durumu değiştiremezsiniz.
Veritabanını daha sonra READ_WRITE için ayarlandığında read_only veritabanında READ_COMMITTED_SNAPSHOT ayarlarsanız, ayar korunur.
READ_COMMITTED_SNAPSHOT can't açık için master, tempdb, ya msdbSistem veritabanları. Ayarını değiştirirseniz, model, oluşturulan tüm yeni veritabanları için varsayılan ayarı olur dışında tempdb.
Bu seçenek geçerli ayarı incelenerek belirlenebilir is_read_committed_snapshot_onsütununda sys.databasesKatalog görünümü.
<sql_option> :: =
Veritabanı düzeyinde ANSI uyumluluk seçeneklerini denetler.
ANSI_NULL_DEFAULT {ON | KAPALI}
Varsayılan değer null belirler veya sütun null DEĞIL veya clr türü kullanıcı tanımlı için hangi nullability açıkça create table veya alter table deyimleri tanımlı değil. Kısıtlamaları ile tanımlanmış sütunlar kısıtlama kuralları bu ayar ne olursa olsun izleyin.ON
Varsayılan değer NULL'tur.OFF
Varsayılan değer değil null.
set deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları ANSI_NULL_DEFAULT varsayılan veritabanı düzeyi ayarını geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri ANSI_NULL_DEFAULT on olarak ayarlanması oturumu için bir bağlantı düzeyi set deyimi yayın örneğine bağlanırken SQL Server. Daha fazla bilgi için, bkz. set ANSI_NULL_DFLT_ON (Transact-sql).
ANSI uyumluluk için ANSI_NULL_DEFAULT veritabanı seçeneği on olarak ayarlanması veritabanı varsayılan null olarak gelir.
Bu seçenek durumunu incelenerek belirlenebilir is_ansi_null_default_onsütununda sys.databasesKatalog görünümü veya IsAnsiNullDefaultişlevi özelliği.
ANSI_NULLS {ON | KAPALI}
ON
Tüm karşılaştırmalar için null değeri bilinmeyen değerlendirin.OFF
Her iki değerler null ise null bir değere-UNICODE değerleri karşılaştırmaları doğru olarak değerlendirin.
Önemli Gelecek sürüm SQL Server, ANSI_NULLS on her zaman olacaktır ve açıkça seçeneği off için ayarlanmış tüm uygulamaları bir hata üretecektir. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.
set deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları ansı_nulls veritabanı varsayılan ayarı geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri ANSI_NULLS on olarak ayarlanması oturumu için bir bağlantı düzeyi set deyimi yayın örneğine bağlanırken SQL Server. Daha fazla bilgi için, bkz. SET ANSI_NULLS (Transact-SQL).
set ansı_nulls ayrıca oluşturduğunuzda veya hesaplanmış sütunları dizinlerde değişiklik on olarak ayarlamalısınız veya dizinlenmiş görünümler.
Bu seçenek durumunu incelenerek belirlenebilir is_ansi_nulls_onsütununda sys.databasesKatalog görünümü veya IsAnsiNullsEnabledişlevi özelliği.
ANSI_PADDING {ON | KAPALI}
ON
Dizeleri edilirken aynı uzunlukta dönüştürme ya da eklemek için önce bir varcharya nvarcharveri türü.Sondaki boşlukları eklenen karakter değerleri varcharveya nvarcharsütunlar ve sondaki sıfırları ikili değerleri eklenen varbinarysütunları kesilmiş değil. Değerlerini sütun uzunluğunu doldurulur değil.
OFF
Sondaki boşlukları için varcharveya nvarcharve sıfır için varbinaryatılır.
off belirtildiğinde bu ayar yalnızca yeni sütunlar tanımını etkiler.
Önemli Gelecek sürüm SQL Server, ANSI_PADDING on her zaman olacaktır ve açıkça seçeneği off için ayarlanmış tüm uygulamaları bir hata üretecektir. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın. Her zaman için on ANSI_PADDING ayarlamanızı öneririz. ANSI_PADDING oluşturduğunuzda veya hesaplanmış sütunları dizinlerde manipüle on olmalıdır veya dizinlenmiş görünümler.
char(n) ve binary(n) için Boşlara ver sütun uzunluğunu ANSI_PADDING on olarak ayarlanır, ancak sondaki boşaltan ve sıfır edilirken sağlayan sütunlar ANSI_PADDING kapalı olduğunda kesilmiş. char(n) ve binary(n) sütunları boş değerlere izin vermeyen her zaman sütun uzunluğunu edilirken.
set deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları ANSI_PADDING varsayılan veritabanı düzeyi ayarını geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri ANSI_PADDING on olarak ayarlanması oturumu için bir bağlantı düzeyi set deyimi yayın örneğine bağlanırken SQL Server. Daha fazla bilgi için, bkz. set ANSI_PADDING (Transact-sql).
Önemli Bu seçenek durumunu incelenerek belirlenebilir is_ansi_padding_onsütununda sys.databasesKatalog görünümü veya IsAnsiPaddingEnabledişlevi özelliği.
ANSI_WARNINGS {ON | KAPALI}
ON
Hataları veya uyarıları tarafından sıfıra bölme gibi koşullar ortaya veya toplama işlevleri null değerler görünür verilir.OFF
Hiçbir uyarı geçirilen ve null değerleri ile sıfıra bölme gibi koşullar oluştuğunda döndürdü.
set ANSI_WARNINGS oluşturduğunuzda veya hesaplanmış sütunları dizinlerde değişiklik on olarak ayarlamalısınız veya dizinlenmiş görünümler.
set deyimini kullanarak ayarlanan bağlantı düzeyi ayarları ANSI_WARNINGS varsayılan veritabanı ayarı geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri ANSI_WARNINGS on olarak ayarlanması oturumu için bir bağlantı düzeyi set deyimi yayın örneğine bağlanırken SQL Server. Daha fazla bilgi için, bkz. set ANSI_WARNINGS (Transact-sql).
Bu seçenek durumunu incelenerek belirlenebilir is_ansi_warnings_onsütununda sys.databasesKatalog görünümü veya IsAnsiWarningsEnabledişlevi özelliği.
ARITHABORT {ON | KAPALI}
ON
Sorgu yürütme sırasında taşma veya tarafından sıfıra bölme hatası oluştuğunda, bir sorgu sona erer.OFF
Bu hatalar biri oluşur, ancak sorgu, toplu işlem veya işlem hata oluştu işlemeye devam bir uyarı iletisi görüntülenir.
set ARITHABORT oluşturduğunuzda veya hesaplanmış sütunları dizinlerde değişiklik on olarak ayarlamalısınız veya dizinlenmiş görünümler.
Bu seçenek durumunu incelenerek belirlenebilir is_arithabort_onsütununda sys.databasesKatalog görünümü veya IsArithmeticAbortEnabledişlevi özelliği.
COMPATIBILITY_LEVEL {90 | 100 | 110}
Daha fazla bilgi için, bkz. alter database uyumluluk düzeyi (Transact-sql).CONCAT_NULL_YIELDS_NULL {ON | KAPALI}
ON
Ya da işlenen null olduğunda birleştirme işlemi sonuç null olur. Örneğin, "Mi" karakter dizesi içinde ve "Budur" null null değeri, değeri yerine neden olur.OFF
Null değeri boş karakter dizesi kabul edilir.
CONCAT_NULL_YIELDS_NULL oluşturduğunuzda veya hesaplanmış sütunları dizinlerde değişiklik on olarak ayarlamalısınız veya dizinlenmiş görünümler.
Önemli Gelecek sürüm SQL Server, CONCAT_NULL_YIELDS_NULL on her zaman olacaktır ve açıkça seçeneği off için ayarlanmış tüm uygulamaları bir hata üretecektir. Yeni geliştirme işlerinde bu özelliği kullanmaktan kaçının ve bu özelliği kullanmakta olan uygulamalarda değişiklik yapmayı planlayın.
set deyimi kullanılarak ayarlanan bağlantı düzeyi ayarları CONCAT_NULL_YIELDS_NULL varsayılan veritabanı ayarı geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri CONCAT_NULL_YIELDS_NULL on olarak ayarlanması oturumu için bir bağlantı düzeyi set deyimi yayın örneğine bağlanırken SQL Server. Daha fazla bilgi için, bkz. set CONCAT_NULL_YIELDS_NULL (Transact-sql).
Bu seçenek durumunu incelenerek belirlenebilir is_concat_null_yields_null_onsütununda sys.databasesKatalog görünümü veya IsNullConcatişlevi özelliği.
QUOTED_IDENTIFIER {ON | KAPALI}
ON
Sınırlandırılmış tanımlayıcıları içine almak için çift tırnak işaretleri kullanılabilir.Çift tırnak işaretleri ile ayrılmış tüm dizeler nesne tanımlayıcı olarak yorumlanır. Teklif edilen tanımlayıcıları takip yok Transact-SQLtanımlayıcıları kuralları. Onlar anahtar kelimeler olabilir ve değil genellikle izin karakterleri içerebilir Transact-SQLtanımlayıcıları. Tek bir tırnak işareti (') hazır bilgi dizesi bir parçası ise, çift tırnak işareti ('') gösterilebilir.
OFF
Tanımlayıcıları tırnak içine olamaz ve tüm izlemeniz gereken Transact-SQLtanımlayıcıları kuralları. Harflerin tek veya çift tırnak içine sınırlandırılabilir.
SQL Serverköşeli ayraçlar ([]) tarafından ayrılmış tanımlayıcıları da sağlar. Bracketed tanımlayıcıları her zaman, quoted_ıdentıfıer ayarına bakılmaksızın kullanılabilir. Daha fazla bilgi için, bkz. Veritabanı tanımlayıcıları.
Bir tablo oluşturduğunuzda, tablo oluşturulduğunda için off seçeneği ayarlanmış olsa bile, tırnak içine alınmış TANIMLAYICI seçeneği her zaman on tablo meta verilerde depolanır.
set deyimini kullanarak ayarlanan bağlantı düzeyi ayarları quoted_ıdentıfıer varsayılan veritabanı ayarı geçersiz kılar. Varsayılan olarak, odbc ve ole db istemcileri quoted_ıdentıfıer on olarak ayarlanması, örneğine bağlanırken bağlantı düzeyi set deyimi yayın SQL Server. Daha fazla bilgi için, bkz. set QUOTED_IDENTIFIER (Transact-sql).
Bu seçenek durumunu incelenerek belirlenebilir is_quoted_identifier_onsütununda sys.databasesKatalog görünümü veya IsQuotedIdentifiersEnabledişlevi özelliği.
NUMERIC_ROUNDABORT {ON | KAPALI}
ON
Duyarlılık kaybı bir ifade oluştuğunda bir hata oluşturulur.OFF
Kayıp duyarlık hata iletileri oluşturmaz ve sütun veya değişken sonucu depolamak duyarlığını sonuç yuvarlanır.
NUMERIC_ROUNDABORT oluşturduğunuzda veya hesaplanmış sütunları dizinlerde değişiklik off ayarlamalısınız veya dizinlenmiş görünümler.
Bu seçenek durumunu incelenerek belirlenebilir is_numeric_roundabort_onsütununda sys.databasesKatalog görünümü veya IsNumericRoundAbortEnabledişlevi özelliği.
RECURSIVE_TRIGGERS {ON | KAPALI}
ON
Özyinelemeli firing sonra Tetikleyiciler izin verilir.OFF
Yalnızca doğrudan özyinelemeli firing sonra Tetikleyiciler izin verilmez. Ayrıca Tetikleyiciler sonra dolaylı özyineleme devre dışı bırakmak için iç içe Tetikleyiciler sunucu seçeneği ayarlayın 0 kullanarak sp_configure.
[!NOT]
RECURSIVE_TRIGGERS kapalı olarak ayarlandığında, yalnızca doğrudan özyineleme engellenir. Dolaylı özyineleme devre dışı bırakmak için sen de ayarlamalısınız: nested triggersserver seçeneği 0.
Bu seçenek durumunu incelenerek belirlenebilir is_recursive_triggers_onsütununda sys.databasesKatalog görünümü veya IsRecursiveTriggersEnabledişlevi özelliği.
İLE <fesih> :: =
Ne zaman veritabanı bir durumdan diğerine geçiş zaman tamamlanmamış işlemler geri belirtir. Fesih yan tümcesi atlanırsa, veritabanı üzerinde herhangi bir kilit ise alter database deyimini süresiz olarak bekler. Tek bir fesih yan belirtilebilir, ve set yan tümceleri izler.
[!NOT]
Tüm veritabanı seçeneklerini kullanmak ile <fesih> tümcesi. Daha fazla bilgi için bkz: masanın altına "Seçeneklerini ayarlama" Açıklamalar bölümünde.
SONRA geri integer[saniye] | rollback hemen
Belirtilen sayıdan sonra saniye ya da hemen geri belirtir.NO_WAIT
İstenen veritabanı durumunu veya seçeneğini değiştirmek hemen hareketleri tamamlanmaya veya geri kendi rulo beklemeden tamamlayamıyor, istek başarısız olur belirtir.
Açıklamalar
Ayar Seçenekleri
Veritabanı seçeneklerini geçerli ayarlarını almak için sys.databases Katalog görünümü veya databasepropertyex
Veritabanı seçeneği ayarladıktan sonra değişiklik hemen etkili olur.
Tüm yeni veritabanları, oluşturulan değiştirmek uygun veritabanı seçeneği için herhangi bir veritabanı seçeneklerini varsayılan değerleri değiştirmek için modelveritabanı.
Tüm veritabanı seçeneklerini kullanmak ile <fesih> yan tümcesi veya diğer seçenekleri ile birlikte belirtilebilir. Bu seçenekler ve seçenek ve sonlandırma durumları aşağıdaki tabloda listelenmektedir.
Seçenekler Kategori |
Diğer seçenekleri ile belirtilebilir |
WITH kullanabilirsiniz <fesih> yan tümcesi |
---|---|---|
<db_state_option> |
Evet |
Evet |
<db_user_access_option> |
Evet |
Evet |
<db_update_option> |
Evet |
Evet |
<external_access_option> |
Evet |
Hayır |
<cursor_option> |
Evet |
Hayır |
<auto_option> |
Evet |
Hayır |
<sql_option> |
Evet |
Hayır |
<recovery_option> |
Evet |
Hayır |
<target_recovery_time_option> |
Hayır |
Evet |
<database_mirroring_option> |
Hayır |
Hayır |
ALLOW_SNAPSHOT_ISOLATION |
Hayır |
Hayır |
READ_COMMITTED_SNAPSHOT |
Hayır |
Evet |
<service_broker_option> |
Evet |
Hayır |
DATE_CORRELATION_OPTIMIZATION |
Evet |
Evet |
<parameterization_option> |
Evet |
Evet |
<change_tracking_option> |
Evet |
Evet |
<db_encryption> |
Evet |
Hayır |
Plan önbelleği örneği için SQL Serveraşağıdaki seçeneklerden birini belirleyerek temizlenir:
ÇEVRİMDIŞI |
READ_WRITE |
ONLINE |
FILEGROUP VARSAYILAN DEĞİŞTİRME |
MODIFY_NAME |
FILEGROUP READ_WRITE DEĞİŞTİRME |
COLLATE |
FILEGROUP READ_ONLY DEĞİŞTİRME |
READ_ONLY |
|
Plan önbelleğini temizlemek, tüm sonraki yürütme planlarının yeniden derlenmesine neden olur ve sorgu performansında ani, geçici bir düşüşe neden olabilir. İçin planı önbellek temizlenir her yerde SQL Serverhata günlüğünde, aşağıdaki bilgilendirme iletisi bulunur: " SQL Server ' % s' cachestore cachestore Temizleme %d karşılaştı cachestore (planı önbellek parçası) bazı veritabanı bakım ya da yeniden yapılandırın işlemleri nedeniyle". Bu ileti, her beş dakikada bir, önbellek bu süre zarfında boşaltıldığı sürece günlüğe yazılır.
Örnekler
A.Veritabanı seçeneklerini ayarlama
Aşağıdaki örnek kurtarma modeli ve veri sayfası doğrulama seçeneklerini ayarlar AdventureWorks2012 örnek veritabanı.
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET RECOVERY FULL, PAGE_VERIFY CHECKSUM;
GO
B.Veritabanı read_only için ayarlama
Durumu veritabanı veya filegroup read_only veya READ_WRITE değiştirme, veritabanına özel kullanım erişimi gerektirir. Aşağıdaki örnek veritabanı ayarlar SINGLE_USERözel erişim edinmek için moda. Örnek daha sonra ayarlar AdventureWorks2012 veritabanı READ_ONLYve tüm kullanıcıların veritabanına erişim verir.
[!NOT]
Sonlandırma seçeneği bu örnek kullanır WITH ROLLBACK IMMEDIATEilk ALTER DATABASEdeyimi. Tüm tamamlanmamış işlemler geri toplanmış ve diğer bağlantı olacak AdventureWorks2012 veritabanı hemen kesildi.
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE AdventureWorks2012
SET READ_ONLY;
GO
ALTER DATABASE AdventureWorks2012
SET MULTI_USER;
GO
C.Bir veritabanı üzerinde anlık görüntü yalıtım etkinleştirme
Aşağıdaki örnek anlık görüntü yalıtım çerçeve seçeneği sağlar AdventureWorks2012 veritabanı.
USE AdventureWorks2012;
GO
-- Check the state of the snapshot_isolation_framework
-- in the database.
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2012';
GO
USE master;
GO
ALTER DATABASE AdventureWorks2012
SET ALLOW_SNAPSHOT_ISOLATION ON;
GO
-- Check again.
SELECT name, snapshot_isolation_state,
snapshot_isolation_state_desc AS description
FROM sys.databases
WHERE name = N'AdventureWorks2012';
GO
Sonuç kümesi: anlık görüntü yalıtım framework etkinleştirildiğini gösterir.
name snapshot_isolation_state description
-------------------- ------------------------ ----------
AdventureWorks2012 1 ON
D.Etkinleştirme, değiştirme ve değişiklik izlemeyi devre dışı bırakma
Aşağıdaki örnek değişiklik izlemeyi etkinleştirir AdventureWorks2012 veritabanı ve saklama dönemi için ayarlar 4gün.
ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = ON
(AUTO_CLEANUP = ON, CHANGE_RETENTION = 2 DAYS);
Aşağıdaki örnek için alıkoyma dönemini değiştirmek gösterilmiştir 3gün.
ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING (CHANGE_RETENTION = 3 DAYS);
Değişiklik izlemeyi devre dışı bırakma aşağıdaki örnekte gösterilmektedir AdventureWorks2012 veritabanı.
ALTER DATABASE AdventureWorks2012
SET CHANGE_TRACKING = OFF;
Ayrıca bkz.
Başvuru
alter database uyumluluk düzeyi (Transact-sql)
alter database veritabanı yansıtma (Transact-sql)
alter database set HCMH (Transact-sql)
Veritabanı (Transact-sql) oluştur
databasepropertyex (Transact-sql)
Veritabanı (Transact-sql) bırak
set hareket yalıtım DÜZEYINE (Transact-sql)
sys.data_spaces (Transact-sql)