Adanmış yönetici bağlantısı kullanma

SQL Server Standart server bağlantıları için mümkün olduğunda özel bir tanı bağlantı yöneticileri için sağlar.Bu tanı bağlantı erişmek yöneticinin SQL Server sorun giderme ve tanılama sorguları yürütmek için sorunları bile SQL Server yanıt vermediğini için standart bağlantı istekleri.

Bu adanmış yönetici bağlantısı (dac) şifreleme ve diğer güvenlik özelliklerini destekleyen SQL Server.dac yalnızca kullanıcı bağlamı için başka bir yönetici kullanıcı değiştirme izin verir.

SQL Server yaptığı başarılı, ancak olağanüstü durumlarda altında bağlanmak dac yapmak için her girişimi başarılı olmayabilir.

dac ile bağlanma

Varsayılan olarak, bağlantı sunucu üzerinde çalışan bir istemci yalnızca izin verilir.Ağ bağlantıları kullanarak yapılandırılmış sürece verilmez sp_configure saklı yordam ile Uzak Yönetim bağlantıları seçeneği.

Only members of the SQL Server sysadmin role can connect using the DAC.

dac kullanılabilen ve desteklenen üzerinden sqlcmd komut istemi yardımcı programı yönetici özel anahtarını kullanarak (- a).Kullanma hakkında daha fazla bilgi için sqlcmd, bkz: SQLCMD Scripting değişkenleri ile kullanma.Ayrıca, önek getiriliyor bağlayabilirsiniz admin:biçiminde örnek adı için sqlcmd -sadmin:<Örnek_adı>. Ayrıca bir dac dan başlatmak bir SQL Server Management Studio Bağlanarak Query Editor admin:<Örnek_adı>.

Kısıtlamalar

Yalnızca ender durumlarda sunucu sorunları tanılamak için dac var olduğundan bağlantı bazı kısıtlamalar vardır:

  • Bağlantı için kaynak olduğunu garantilemek için yalnızca bir dac örnek başına verilir SQL Server.dac bağlantı zaten etkinse, yeni bir isteği dac bağlanmak için 17810 hatası ile reddedilir.

  • Kaynakları korumak için SQL Server Express dac bağlantı noktasında bir izleme bayrağı 7806 başlatıldı sürece dinlemez.

  • dac başlangıçta bağlanma girişiminde varsayılan veritabanı oturum açma ile ilişkili.Başarıyla bağlandıktan sonra bağlanabileceğiniz master veritabanı.Varsayılan veritabanı, aksi takdirde kullanılamaz veya çevrimdışı ise, hata 4060 bağlantı döndürecektir.Bağlanmak için varsayılan veritabanı geçersiz kılar, ancak, onu başarılı olur master bunun yerine aşağıdaki komutu kullanarak veritabanı:

    SQLCMD –a –d ana

    İçin bağlantı öneririz master veritabanı ile dac çünkü master kullanılabilir olması sağlanır, örnek , Veritabanı Altyapısı başlatılır.

  • SQL Server dac ile Paralel sorgular veya komutları çalıştıran yasaklar.Örneğin, hata 3637 oluşturulur, yürütmek dac aşağıdaki ifadelerle biri:

    • GERİ YÜKLEME

    • YEDEKLEME

  • Yalnızca sınırlı kaynakları ile dac kullanılabilir olması sağlanır.Do not use the DAC to run resource-intensive queries (for example.a complex join on large table) or queries that may block.Bu, varolan sunucu sorunları compounding gelen dac engellemeye yardımcı olur.Olasılığını önlemek için bloking senaryolar olabilir sorguları çalıştırmanız gerekiyorsa, blok, mümkünse; anlık görüntü tabanlı yalıtım düzeyleri altında sorgusu çalıştırma Aksi takdirde, set işlem yalıtım düzey read UNCOMMITTED ve 2000 milisaniye gibi kısa bir değer veya her ikisine de LOCK_TIMEOUT değerini ayarlamak için.dac oturum engellenmiş engeller.Ancak, bağlı, SQL Server ise, dac oturum bloke üzerinde bir mandal.CTRL-c kullanarak dac oturum sona erdirmek mümkün olabilir, ancak garanti edilir.durum, Yeniden başlatmak için tek seçeneğiniz olabilir SQL Server.

  • Bağlanabilirlik ve sorun giderme dac ile güvence altına almak için SQL Server işlem komutları çalıştırmak dac. sınırlı kaynakları ayırır.Bu kaynaklar genellikle yeterince yalnızca basit bir tanı için olan ve aşağıda listelenen işlevleri olanlar gibi sorun giderme.

Teorik olarak herhangi çalıştırabilirsiniz, ancak Transact-SQL dac üzerinde paralel yürütmek yok deyim, öneririz aşağıdaki tanılama ve sorun giderme komutları kullanımını kısıtlamak:

  • Gibi temel Tanılama için dinamik yönetimi görünümleri sorgulama sys.dm_tran_locks kilitleme durumu için sys.dm_os_memory_cache_counters önbellekleri, durumunu denetlemek ve sys.dm_exec_requests ve sys.dm_exec_sessions etkin oturumlar ve istekleri.Kaynak yoğun olan dinamik yönetimi görünümleri kaçının (örneğin, sys.dm_tran_version_store tam sürüm deposu tarar ve kapsamlı bir g/Ç neden olabilir) veya kullanan karmaşık birleşimler.Performans üzerindeki etkileri hakkında daha fazla bilgi için bkz: özel belgelerine Dinamik yönetim görünümü.

  • Katalog Görünümleri sorgulanıyor.

  • Temel dbcc komutları dbcc freeproccache, dbcc freesystemcache, dbcc dropcleanbuffers gibi, ve dbcc sqlperf.Yoğun kaynak komutları gibi çalıştırmak DBCC checkdb, dbcc DBREINDEX veya dbcc SHRINKDATABASE.

  • Transact-SQL KILL <spid> command.Durumuna bağlı olarak SQL Server, KILL komutu değil her zaman başarılı; sonra da yeniden başlatmak için tek seçenek olabilir SQL Server.Bazı genel kurallar şunlardır:

    • SPID aslında sorgulayarak öldürülüyor emin olun SELECT * FROM sys.dm_exec_sessions WHERE session_id = <spid>.Bunu hiçbir satır döndürürse, gelir oturum öldürülüyor.

    • Oturum hala varsa, sorguyu çalıştırarak bu oturuma atanan görevler olup olmadığını doğrulamak SELECT * FROM sys.dm_os_tasks WHERE session_id = <spid>.Görevi, büyük olasılıkla görürseniz, sizin oturum şu anda öldürülüyor.Not Bu önemli miktarda saat alabilir ve hiç başarılı olabilir.

    • Hiçbir görevleri ise sys.dm_os_tasks Bu oturum ile ilişkili ancak oturum içinde kalır sys.dm_exec_sessions KILL komutunu yürüttükten sonra mevcut işçi olan geldiğini.Şu anda çalışan görevleri birini seçin (listelenen görev sys.dm_os_tasks ile görüntülemek bir sessions_id <> NULL) ve serbest işçi. ile ilişkili oturum killBunu tek oturum sonlandırmak için yeterli olabileceğini göz önünde bulundurun: birden fazla olanları kill gerekebilir.

dac bağlantı noktası

SQL Serverdinler dac üzerinde tcp bağlantı noktası 1434 varsa veya üzerine dinamik olarak atanmış bir tcp bağlantı noktası Veritabanı Altyapısı Başlangıç.hata günlüğü dac dinlediği bağlantı noktası numarasını içerir.dac varsayılan olarak yalnızca yerel bağlantı noktası bağlantı dinleyici kabul eder.Uzak Yönetim bağlantıları etkinleştiren bir kod örneği için bkz: Uzak Yönetim bağlantıları seçeneği.

Uzaktan yönetim bağlantısı yapılandırdıktan sonra dac dinleyiciyi yeniden başlatılmasını gerektirmeden etkin SQL Server ve bir istemci şimdi için dac uzaktan bağlanabilir.Uzaktan bağlantıları kabul etmek için dac dinleyicisini etkinleştirebilirsiniz bile SQL Server bağlanarak ilk yanıt vermemesine neden olan SQL Server dac kullanarak yerel olarak yükleyip daha sonra yürütmeye sp_configure saklı yordam uzak bağlantılar arasında bağlantı kabul etmek için

Küme yapılandırmaları, dac varsayılan olarak kapalı olacaktır.Kullanıcıların yapabilecekleri yürütmek remote admin connection seçeneği sp_configure etkinleştirmek dac dinleyici erişmeyi uzak bir bağlantı.If SQL Server is unresponsive and the DAC listener is not enabled, you might have to restart SQL Server to connect with the DAC.Bu nedenle, etkinleştirmenizi öneririz remote admin connections yapılandırma seçeneği kümelenmiş sistemler.

dac bağlantı noktası tarafından dinamik olarak atanan SQL Server sırasında başlangıç.Bağlanırken varsayılan örnek, dac kullanarak önler bir SQL Server isteği çözümleme iletişim kuralı (ssrp) sql Server Browser Service bağlanırken.Onu ilk 1434 tcp bağlantı noktası üzerinden bağlanır.Bu başarısız olursa, bağlantı noktası almak için bir ssrp çağrısı yapar.If SQL Server Browser is not listening for SSRP requests, the connection request returns an error.Bakın hata günlüğü numara dac dinlediği bağlantı noktası bulunamadı.If SQL Server is configured to accept remote administration connections, the DAC must be initiated with an explicit port number:

sqlcmd–Stcp:<server>,<port>

The SQL Server error log lists the port number for the DAC, which is 1434 by default.If SQL Server is configured to accept local DAC connections only, connect using the loopback adapter using the following command:

sqlcmd–S127.0.0.1,1434

Örnek

Bu örnekte, yönetici sunucu fark eder URAN123 değil yanıt ve istediği tanılama sorunu.Bunu yapmak için kullanıcı etkinleştirir sqlcmd sunucusuna bağlanır ve onay yardımcı programı komut istemi URAN123 kullanarak -A belirtmek dac.

sqlcmd -S URAN123 -U sa -P <xxx> –A

Şimdi yönetici olabilir yürütmek sorunu tanılamak ve büyük olasılıkla yanıt oturumları sonlandırmak için sorgular.