Aracılığıyla paylaş


Bir özel yönetici bağlantısı kullanma

SQL Server standart sunucu bağlantılarını mümkün olmayan yöneticiler için özel tanılama bağlantı sağlar.Bu tanılama bağlantıya izin verir, yönetici erişimiSQL ServerTanılama sorgular çalıştırmak ve sorun giderme sorunları bileSQL Serveryanıt vermediğini standart bağlantı istekleri.

Bu özel yönetici bağlantısı (DAC), şifreleme ve diğer güvenlik özelliklerini desteklerSQL Server.Yalnızca kullanıcı içeriği için başka bir yönetici kullanıcı değiştirme, DAC verir.

SQL Server yaptığı başarılı bir şekilde ancak olağanüstü durumlar altında bağlanmak DAC yapmak için her girişimi başarılı olmayabilir.

DAC ile bağlanma

Varsayılan olarak, bağlantının yalnızca sunucu üzerinde çalışan bir istemci verilir.Sürece sp_configure saklı yordamını kullanarak yapılandırılmış ağ bağlantılarının verilmezUzak Yönetim bağlantı seçeneği.

Üyeleri,SQL Serversysadmin rolü Bağlan DAC.

The DAC kullanılabilen ve desteklenen ilesqlCmdkomut satırı yardımcı programını kullanarak bir yönetici özel anahtarı ( - A ). Kullanma hakkında daha fazla bilgi içinsqlCmd, see komut dosyası kullanan kullanan dosyası kullanan değişkenleri ile sqlCmd kullanma.De bağlantı adýnýnönüneyönetici:sqlcmd -S yönetim biçimi, örnek adı: <instance_name >. Ayrıca bir SQL Server Management StudioQuery Editor bağlanma ile gelen bir DAC başlatabilir yönetici:< instance_name >.

Kısıtlamalar

DAC yalnızca ender durumlarda, sunucu sorunlarını tanılamak bulunduğundan, bağlantı bazı sınırlamalar vardır:

  • Garanti, bağlantı için kullanılabilir kaynak yok için tek DAC izin her örnekSQL Server.DAC bağlantı zaten etkinse, yeni bir isteği ile DAC bağlanmak için 17810 hatası ile reddedilir.

  • Kaynakları korumak içinSQL Server ExpressDAC bağlantı noktasında bir izleme bayrağı 7806 başladı sürece dinlemez.

  • DAC ilk oturum ile ilişkilendirilmiş varsayılan veritabanına bağlanmaya çalışır.Başarılı bir şekilde bağlandıktan sonra bağlanabileceğiniz asıl veritabanı.Varsayılan veritabanı değilse kullanılamaz veya çevrimdışı ise, bağlantı 4060 hata döndürür.Bağlanmak için varsayılan veritabanı geçersiz kılar, ancak, başarılı asıl veritabanı bunun yerine aşağıdaki komutu kullanarak:

    SQLCMD –A –d Yönetici

    Ana kullanılabilmesi için garantili olmadığı için DAC ile ana veritabanına bağlanmanız önerilir, örneğin,Database Enginebaşlatılan.

  • SQL Server ile DAC paralel sorgular veya komutları çalıştıran engeller.Örneğin, the DAC ile birlikte aşağıdaki ifadelerden ya da yürütmek hata 3637 oluşturulur:

    • GERİ YÜKLEME

    • yedek

  • Yalnızca sınırlı kaynakları ile DAC kullanılabilir olmasını garanti altına alınmıştı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 önlemeye yardımcı olur.Engelleyebilir sorguları çalıştırmak varsa olası blok senaryolarını önlemek için anlık görüntü tabanlı yalıtım düzeyleri mümkünse; aksi halde, hareket yalıtım düzey READ UNCOMMITTED olarak ayarlanan ve LOCK_TIMEOUT değer 2000 milisaniye gibi kısa bir değer veya her ikisini birden ayarlamak altında sorguyu çalıştırın.Bu, DAC oturum engellenmiş engeller.Ancak durumuna bağlı olarak,SQL Serverdeğil, DAC oturum engellenen mandal.CTRL-C kullanan DAC oturum sona erdirmek mümkün olabilir, ancak garanti edilir.Bu durumda, tek seçenek olabilir yenidenSQL Server.

  • Garanti bağlantısı ve DAC sorun giderme içinSQL Serverişlem komutları çalıştırma DAC. sınırlı kaynakları ayırır.Bu kaynaklar genellikle yeterli yalnızca basit bir tanı için aşağıda listelenen işlevleri (örneğin sorun giderme.

Ancak teorik olarak çalıştırabilirsiniz herhangiTransact-SQLolan DAC üzerinde paralel yürütmek deyimini öneririz aşağıdaki tanılama ve sorun giderme komut kullanımını sınırlama:

  • Kilitleme durumu, sys.dm_os_memory_cache_counters, önbellekleri ve sys.dm_exec_requests durumunu denetlemek için sys.dm_tran_locks ve sys.dm_exec_sessions gibi temel tanılama Dinamik yönetim görünümleri etkin oturumlar ve istekleri için sorgulanıyor.Kaynak yoğun olan Dinamik yönetim görünümü kaçının (örneğin, sys.dm_tran_version_store tam sürüm deposu tarar ve kapsamlı bir g/Ç neden olabilir) veya karmaşık birleşim kullanın.Performans üzerindeki etkileri hakkında bilgi için özel belgelerine bakınDinamik yönetim görünümü.

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

  • Temel DBCC komutlarını DBCC FREEPROCCACHE, DBCC FREESYSTEMCACHE, DBCC DROPCLEANBUFFERS,DBCC SQLPERF.Gibi yoğun kaynak komutları çalışmıyorDBCC CHECKDB, DBCC DBREINDEX veya DBCC SHRINKDATABASE.

  • Transact-SQL KILL<spid> command.Durumuna göreSQL ServerKILL komutu her zaman başarılı; sonra yeniden tek seçenek olabilirSQL Server.Bazı genel kurallar şunlardır:

    • Doğrulama da, SPID gerçekten öldürülüyor sorgulamakSELECT * FROM sys.dm_exec_sessions WHERE session_id = <spid>.Hiçbir satır döndürürse, bu oturum da öldürülüyor anlamına gelir.

    • İse oturum hala orada olup olmadığını sorguyu çalıştırarak bu oturum için atanmış görevleri vardır doğrulayınSELECT * FROM sys.dm_os_tasks WHERE session_id = <spid>.Da görev olmadığını görürseniz, büyük olasılıkla oturumunuz şu anda öldürülüyor.Not Bu önemli miktarda saat alabilir ve her saat başarılı olmayabilir.

    • Görev yok Bu oturumla ilişkili sys.dm_os_tasks, KILL komutunu yürüttükten sonra oturum sys.dm_exec_sessions içinde kalır, mevcut işçi gerektiği anlamına gelir.Çalışan görevlerden birini seçin (görev listelenen birlikte sys.dm_os_tasks görünümünde bir sessions_id <> NULL) ve alt. kadar artırmak için ilişkili oturum sonlandır, Tek oturum sonlandırmak için yeterli olmayabileceğini unutmayın: birden fazla olanları. kill gerekebilir

DAC bağlantı noktası

SQL ServerTCP bağlantı noktası 1434 varsa veya dinamik olarak atanan üzerinde TCP bağlantı noktası DAC için dinlerDatabase EngineBaş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.Uzaktan Yönetim bağlantıları etkinleştiren bir kod örneği için bkz:Uzak Yönetim bağlantı seçeneği.

Sonra uzaktan yönetim bağlantısı yapılandırılır, DAC dinleyici kalmadan yeniden etkinleştirilirSQL Serverve istemci şimdi için DAC uzaktan bağlanabilir.Uzaktan bağlantıları kabul etmek için DAC dinleyicisini etkinleştirebilirsiniz bileSQL Serverilk bağlanma olarak yanıt vermemesine nedenSQL ServerDAC yerel olarak kullanarak ve sonra yürütmek sp_configure saklı yordam uzak bağlantılar arasında bağlantı kabul etmek

Küme yapılandırmalarında varsayılan olarak devre dışı DAC olacaktır.Kullanıcılar yürütmek uzaktan bağlantı erişmek için DAC dinleyicisini etkinleştirmek için uzak yönetim bağlantı seçeneğini sp_configure.IfSQL Serveryanıt vermemesine neden ve DAC dinleyici etkin değilse, yeniden başlatmanız gerekebilirSQL ServerDAC. bağlanmakBu nedenle, kümelenmiş sistemlerde Uzak Yönetim bağlantı yapılandırma seçeneğini etkinleştirmeniz önerilir.

The DAC bağlantı noktası tarafından dinamik olarak atanmışSQL ServerBaşlangıç sırasındaKullanarak varsayılan örneğine bağlanırken, the DAC engeller birSQL ServerÇözümleme İletişim Kuralı (SSRP) isteğiSQL Server Browser hizmet bağlanırken. Önce TCP bağlantı noktası 1434 üzerinden bağlanır.Başarısız olursa, bağlantı noktası elde etmek için bir SSRP çağrısı kolaylaştırır.IfSQL ServerTarayıcı değil dinlemek için SSRP istek, bağlantı isteğini verir bir hata.Numara DAC dinlediği bağlantı noktasını bulmak için hata günlüğüne bakın.IfSQL Serveryapılandırılmış Uzaktan Yönetim bağlantıları kabul etmek için bir açık bağlantı noktası numarası ile DAC başlatılmalıdır:

sqlcmd–Stcp:<server>,<port>

The SQL Server error log lists the port number for the DAC, which is 1434 by default.IfSQL Serveryapılandırılan yalnızca yerel DAC bağlantıları kabul etmek için aşağıdaki komutu kullanarak geri döngü bağdaştırıcısı kullanarak bağlan:

sqlcmd–S127.0.0.1,1434

Örnek

Fark bu örnekte, yönetici eder sunucuURAN123değil yanıt ve istediği tanılama sorunu.Bunu yapmak için kullanıcı etkinleştirirsqlcmdkomut istemi, sunucuya bağlanır ve onay yardımcı programıURAN123kullanma-Abelirtmek DAC.

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

Yönetici şimdi sorunu tanılamak için sorgular çalıştırmak ve büyük olasılıkla yanıt oturumu sona erdir.