Proč SQL Server konzumuje tolik paměti
Podle společnosti je Microsoft SQL Server systémem správy relačních databází (RDBMS). V relačních databázích používají všechny servery SQL programovací jazyk SQL, který je dobře známý a široce používán. Microsoft vytvořil implementaci SQL Server Transact-SQL, také označovanou jako T-SQL, používaný SQL Server. Řada programovacích konstruktů, které nebyly nalezeny v SQL, je také zahrnuto do T-SQL.
Celkově je SQL Server důležitou součástí datové platformy společnosti Microsoft, protože poskytuje vzrušující úroveň výkonu pro kritické aplikace prostřednictvím technologií v paměti, rychlejším vhledem a perspektivou z jakéhokoli typu dat se známými nástroji, jako je Excel a platforma pro vývoj místních a cloudových řešení, jakož i platforma pro správu řešení.
Server SQL existuje v době psaní 32 let. Je to zralý produkt, který téměř rozhodně nesplňuje všechny potřeby každého vývojového týmu, ale pokrývá drtivou většinu požadavků, které může mít vývojový tým pro přístup k datům.
Značný počet služeb, které denně používáme, se silně spoléhá na databáze serveru SQL. Mezi tyto služby patří finanční instituce, bookmakery, vládní agentury, zdravotnický průmysl a známé webové stránky.
Funkce a výhody serveru SQL
Vysoká dostupnost je standardní funkcí pro servery SQL, což umožňuje vysokou doba a rychlejší přepínání. To vše je dosaženo bez vyčerpání paměti systému. Databázové a analytické motory SQL Server mají nyní větší flexibilitu a snadné použití díky přidání schopností v paměti. Pravděpodobně nejpozoruhodnější funkcí je, že se bezproblémově integruje s rodinou serverů Microsoft serveru serverových platforem.
Kolik paměti používá server SQL?
SQL Server používá asi 87.5% RAM na mém serveru. V důsledku toho se objevilo mnoho problémů s výkonem, včetně pomalosti. Když začneme zkoumat tento problém, najdeme spoustu slepých uliček. Běžným řešením nalezeným na internetu je zvětšit maximální dobu provádění serveru SQL. Do toho se dostalo hodně práce a ukazuje to. Pokud si najmete vývojáře, můžete získat pomoc, kterou potřebujete s tím.
SQL Server konzumuje veškerou dostupnou paměť. Ve výchozím nastavení toto číslo odpovídá celkovému množství numerické paměti dostupné v počítači. Výsledkem je, že vaše vnímání je správné. Jinými slovy, pokud dáte SQL Server 24 GB paměti, vynakládá to veškeré úsilí, aby tuto paměť co nejlépe využilo. Když SQL Server a operační systém soutěží o zdroje, špatný výkon je nevyhnutelný vedlejší produkt.
Fond vyrovnávacích pamětí SQL Serveru je omezen maximálním konfigurací mezích paměti serveru v konfiguraci serveru (do značné míry tam, kde ukládá datové stránky a mezipaměť procedur). Fond vyrovnávací paměti není jediným pracovníkem paměti na serveru SQL; Existuje také řada dalších paměťových pracovníků (pro verze 2008 R2 a novější). To však bude vždy aplikace s nejvyššími požadavky na paměť.
Pořada vyrovnávací paměti databázového motoru Microsoft SQL je omezena minimálním a maximálním nastavením paměti serveru.
Možnosti konfigurace serveru
Přizpůsobením minimálního a maximálního výběru paměti serveru pro konkrétní instanci serveru SQL můžete změnit množství paměti (měřené v megabajtech), které řídí správce paměti SQL Server Správce paměti. Požadavky na paměť SQL serveru lze dynamicky upravit na základě dostupných zdrojů v systému.
Chcete.li nastavit pevné množství paměti, postupujte podle těchto kroků:
- Klepněte pravým tlačítkem myši na server v průzkumníkovi objektu a vyberte Vlastnosti z kontextové nabídky.
- Vyberte paměťový uzel z rozbalovací nabídky.
- Podle možností paměti serveru zadejte částky, které chcete pro minimální paměť serveru a maximální paměť serveru, do příslušných polí.
Pokud chcete, aby server SQL mohl dynamicky změnit své požadavky na paměť v reakci na dostupné systémové prostředky. Ve výchozí konfiguraci je minimální paměť serveru nastavena na 0 megabajtů a maximální paměť serveru je nastavena na 2147483647 megabajty ve výchozím nastavení (MB).
Osvobození serveru
SQL lze nakonfigurovat tak, aby používal pouze konkrétní množství RAM, pokud je to nutné. Jinak bude spotřebovat maximální množství zdrojů. Toto je standardní postup po důkladném prozkoumání serveru a potvrzení, že server SQL spotřebuje 9 GB celkové 10 GB kapacity RAM. Kdokoli by omezil množství paměti dostupné pro SQL, řekněme, 6 GB, aby se zabránilo pádu serveru a aby mu dal nějakou dýchací místnost. znovu, když se podíváte na představení, všimnete si, že je v souladu.
Optimální spotřeba
Ačkoli předchozí řešení může stačit k tomu, aby nás z problémů dostalo, je jasné, že ideálním řešením by bylo objevit způsob, jak přesně určit, kolik paměti každá databáze (DB) spotřebovává, aby určila, kolik paměti instance serveru SQL serveru vyžaduje. Snadný. Je nutné pouze spustit dotaz SQL, abyste to viděli.
Po našem pozorování celkové paměti RAM můžeme přidat celkový počet „DB vyrovnávací paměti MB“ a zjistit, kolik paměti RAM SQL spotřebovala celkem. Jako příklad, pokud snížíme limit SQL na 9 GB a spustíme dotaz, můžeme vidět, že databáze konzumují pouze 3 GB paměti RAM, což je výrazně menší než předchozí příklad.
Výsledkem je, že počáteční hypotéza o nadměrné spotřebě paměti SQL serveru byla prokázána správná. Navzdory skutečnosti, že databáze konzumují pouze 3 GB paměti, pokud omezíme instanci na 6 GB, SQL Server dokáže plně využít dostupnou paměť. Mluvili bychom o pozorování vlastních vzpomínek.
Skutečná aplikace
Nejdůležitějším aspektem tohoto výsledku je, že jej lze použít k praktickému použití. Vzhledem k tomu, že SQL vyžaduje pouze 3 GB RAM, je možné omezit použití RAM SQL na 4 GB a zabránit plýtvání celé alokací? Ano.
Na tomto obrázku můžeme vidět konkrétní spotřebu databáze po spuštění nového dotazu. Over, pokud tento dotaz pravidelně spustíme a sledujeme průměr, můžeme určit, zda kolísá konzumace.
Důležitost monitorování
V situacích, jako je ten, se kterým se v současné době zabýváme, se význam monitoruje okamžitě. S historickým záznamem spotřeby paměti RAM RAM SQL můžeme vypočítat přiměřený průměr a poté stanovit limity, kolik paměti lze přidělit.
Monitorování nám umožňuje vyvinout měřítko, které určuje maximální a minimální hodnoty, jakož i jejich vztahy. Klient ani technik neobdrží poplašný e.mail, pokud je překročen některá z těchto prahů, nebo pokud aplikace spotřebovává více paměti, než je požadována.
Důležitá poznámka
Zvýšení maximální paměti serveru pro jednu instanci serveru SQL nad doporučenou hodnotou může donutit instanci serveru SQL, aby soutěžil s dalšími instancemi serveru SQL spuštěných ve stejném uzlu serveru pro paměť. V případě, že nastavíte příliš nízký limit paměti, můžete zažít významný nedostatek paměti nebo problémy s výkonem. Pokud nastavíte maximální parametr paměti serveru na příliš nízkou hodnotu, může být server SQL schopen začít správně.
Po změně parametru paměti Serveru MAX, pokud nemůžete spustit server SQL, zkuste jej spustit s.F Parametr spuštění a obnovení parametru paměti Max Server na jeho předchozí hodnotu.
Data Quest
Data Quest učí prostřednictvím náročných cvičení a projektů místo video přednášek. Je to nejúčinnější způsob, jak se naučit dovednosti, které potřebujete k vytvoření vaší datové kariéry.
Nastavení pevného množství paměti pro server SQL
Mezi mnoha lidmi, kteří pracují se serverem SQL, existuje často kladená otázka: „Proč server SQL na serveru používá téměř veškerou paměť, i když v databázích v podstatě neexistuje žádná aktivita?„Toto je běžná a logická otázka, pokud nejste obeznámeni se správou paměti SQL serveru a tuto otázku jste nezkoumali. Účelem tohoto tipu je vysvětlit výchozí konfigurace paměti serveru SQL a jak nakonfigurovat SQL Server, aby používal pevné množství RAM.
Když na vašem počítači běží instance serveru SQL, možná zjistíte, že využití paměti je vnímáno jako příliš vysoko. Obvykle většina paměti používá SQL Server. Over, když zvýšíte paměť na stroji, ale zatížení databáze zůstává stejné, je možné, že i po upgradu paměti bude SQL server nejvyšším spotřebitelem paměti. Důvodem je, že ve výchozím nastavení server SQL dynamicky přiděluje paměť během své aktivity a nevydává ji, dokud není žádost o Windows.
Pro server SQL je to normální, protože se snaží udržet co nejvíce paměti pro účely výkonu. Vyhrazuje si paměťová a ukládá data do paměti, aby se snížil přístup k diskovým jednotkám, a proto zvyšuje výkon. Když jiné procesy na stejném serveru vyžadují paměť, server SQL uvolní potřebnou paměť. SQL Server tedy může na serveru použít téměř veškerou dostupnou paměť.
Pokud je váš server vyhrazeným databázovým serverem, není problém týkající se přidělování paměti, na databázovém serveru je někdy spuštěno mnoho aplikací. Některé aplikace využívají paměť dostupnou v jejich počátečním čase a v případě potřeby nemusí být schopny požádat o další paměť z Windows. V tomto případě, abychom umožnili, aby ostatní aplikace fungovaly správně, můžeme omezit přístup serveru SQL k paměti nastavením možnosti „Max Server Memory“. Ve výchozím nastavení je nastavena na 2147483647 MB, což umožňuje SQL Server používat přibližně veškerou paměť serveru. Toto nastavení můžeme změnit na nižší hodnotu podle našich požadavků. Mohlo by to být provedeno buď pomocí SQL Server Management Studio nebo T-SQL skript.
Nastavení „Max Server Memory“ pomocí SQL Server Management Studio
Na velmi vysoké úrovni pojďme monitorovat využití paměti na našem počítači, kde běží server SQL, poté nastavte „Max Server Memory“ v SQL Server Management Studio (SSMS) a podívejte se na změny v využití paměti. V našem příkladu je nainstalován testovací server 1 GB paměti (RAM) a SQL Server 2014, ale ne ve stavu spuštění. Na našem serveru také neexistují žádné jiné zdroje, které spotřebovávají paměť. Spuštěním správce úloh můžeme monitorovat využití paměti na kartě Performance a získat pocit využití paměti před spuštěním serveru SQL:
Nyní spustíme server SQL a znovu sledujeme využití paměti:
Vidíme, že množství použité paměti se zvýšilo:
A nejvyšší paměť „Consumer“ je SQL Server:
V SSMS můžeme spustit následující dotaz a najít paměť používanou SQL Server v megabajtech:
Vyberte (fyzikální_memory_in_use_kb/1024) jako použitý_memory_by_sqlserver_mb ze Sys.DM_OS_PROCESS_MEMORY
Na našem serveru je to 117 MB:
Nyní pojďme udělat nějakou aktivitu v našem případě. V naší instanci máme databázi TestDB a v ní, která obsahuje 300 000 řádků. Vyberte z této tabulky všechny řádky:
Vyberte z testdb.DBO.Tabulka
Po dokončení dotazu znovu zkontrolujeme využití paměti na serveru SQL:
Vyberte (fyzikální_memory_in_use_kb/1024) jako použitý_memory_by_sqlserver_mb ze Sys.DM_OS_PROCESS_MEMORY
V tomto případě vidíme, že 432 MB používá SQL Server, v naší instanci však nejsou žádné aktivní dotazy:
A 93% naší paměti serveru se používá (většinou SQL Server):
Nastavte „Max Server Memory“ ve studiu SQL Server Management
Nyní nastavíme možnost „Max Server Memory“, abychom omezili využití paměti pomocí serveru SQL. Můžeme to udělat pomocí kliknutí pravým tlačítkem myši na naši instanci a výběrem „vlastností“:
Poté vyberte stránku „paměť“:
Vidíme výše, že „maximální paměť serveru“ je nastavena na 2147483647 MB. Toto je výchozí hodnota. Změníme to na 200 MB a klikneme na „OK“:
Spuštěním tohoto dotazu můžeme vidět, že paměť používaná SQL Server se snížila na 244 MB:
Vyberte (fyzikální_memory_in_use_kb/1024) jako použitý_memory_by_sqlserver_mbfrom sys.DM_OS_PROCESS_MEMORY
Vyvstává otázka: Proč 244 MB, když nastavíme „maximální paměť serveru“ pro server SQL na 200 MB? Důvodem je to, že náš dotaz vrací aktuálně používanou paměť, avšak maximální paměť serveru ovládá paměť používanou v souladu s vyrovnávací pamětí, kompilovanou paměť, veškerou mezipaměť atd., Ale nekontroluje paměť pro propojené poskytovatele serveru jinou než SQL Server, paměť přidělená pomocí DLL Non SQL Server, paměť pro hromádky vláken, hromady paměti atd. a proto výsledek našeho dotazu může být o něco více než hodnota „maximální paměti serveru“.
Nastavte „Max Server Memory“ na serveru SQL pomocí T-SQL
Můžeme nastavit „paměť maximálního serveru“ také pomocí skriptu T-SQL:

Deklarovat @maxMem int = 2147483647.-Max. Paměť pro instanci serveru SQL v MB EXEC SP_CONFIGURE ‚Zobrazit pokročilé možnosti‘, 1 rekonfiguruje exec SP_Configure ‚Max Server Memory‘, @MaxMem Reconfigure
Tento skript nastavuje „maximální paměť serveru“ na jeho výchozí hodnotu. 2147483647 MB:
Můžeme zkontrolovat SSMS, že „paměť maximálního serveru“ se změnila:
Doporučení k nastavení „Max Server Memory
Společnost Microsoft doporučuje umožnit SQL Server dynamicky používat paměť, ale v některých situacích je vhodnější omezit využití paměti pomocí serveru SQL. Například, pokud náš server není vyhrazeným databázovým serverem a na stejném serveru jsou spuštěny další aplikace, které nejsou schopny požádat o paměť z Windows, bylo by lepší, kdybychom odhadli maximální paměť, kterou může použít server SQL a nastaven „Max Server Memory“ vhodně.
Také, pokud na vašem serveru běží více než jeden server SQL, můžeme pro každou z nich nastavit „maximální paměť serveru“, s ohledem na jejich zatížení, abychom kontrolovali využití paměti mezi těmito instancemi. Všimněte si, že bychom měli zvážit, že součet hodnot „maximální paměti serveru“ pro všechny instance bude menší než celková fyzická paměť na našem serveru. Tím je zajištěno, že bezplatná paměť bude k dispozici okamžitě pro instance po spuštění. Pokud však jeden z instancí není spuštěn, nebudou běžecké instance používat zbývající volnou paměť.
How to install SQL server setup with SSMS software || #data #database #sqlserver #sql
Závěr
Jak vidíme, server SQL má tendenci používat veškerou dostupnou paměť na serveru. V některých případech však, když potřebujeme omezit paměť používanou serverem SQL nebo správně distribuovat paměť mezi instancemi serveru SQL, můžeme nastavit možnost „Max Server Memory“ pro každou instanci. Nejdůležitější věcí, kterou bychom měli zvážit před správou paměti pro server SQL, je správné odhad maximálního množství paměti, která bude potřebná pro každou instanci.

Další kroky
Ověřování serveru SQL vs. Ověřování systému Windows: které použít a kdy
Ověřování je kritickou součástí jakékoli bezpečnostní strategie. Dnes budeme diskutovat o autentizaci serveru SQL a o tom, jak je nezbytné zajistit vaše prostředí SQL Server a hraje se role ověřování systému Windows.
Navázání spojení
Všechno to začíná připojením. Za účelem vytvoření úspěšného připojení k databázi vyžaduje klient nebo aplikace následující informace:
- Název domény SQL Server plně kvalifikovaný
- Název instance
- Číslo portu
- Pověření (uživatelské jméno a heslo) pro ověření
Předpokládejme například, že používáte online bankovnictví. Chcete.li získat přístup k vašemu účtu, musíte zadat přihlašovací údaje pro účely ověřování. Banka vás identifikuje, když poskytujete platné přihlašovací údaje a umožňuje přístup k jejím službám po ověření.
Podobně, když se přihlásíte do serveru SQL, musí uživatelé specifikovat platná přihlašovací údaje, aby SQL Server mohl ověřit svou identitu a poskytnout příslušný přístup.
SQL Server poskytuje dva režimy ověřování serveru:
Tyto metody ověřování můžete definovat během instalace serveru SQL nebo je změnit později pomocí restartu. Pro správci databází je důležité pochopit rozdíly mezi těmito metodami ověřování a implementovat je podle specifických požadavků jejich organizace.
Pojďme se dále posoudit, abychom pochopili výhody a nevýhody ověřování SQL Server i Windows.
Přehled ověřování serveru SQL
Správci databáze vytvářejí přihlášení SQL a poskytují uživatelům vhodná oprávnění k ověření na SQL Server. Uživatelé musí při připojení k serveru SQL zadat přihlášení a heslo, jak je uvedeno níže.
Přihlašovací údaje uživatele jsou ověřeny prostřednictvím informací uložených v hlavní databázi. Následující zásady pro přihlášení serveru SQL můžete vynutit.
- Zásady vynucení hesla: Správci mohou zkontrolovat tuto možnost a implementovat zásady pro heslo Windows pro přihlášení serveru SQL. Zahrnuje určování délky a složitosti hesla.
- Vynutit vypršení platnosti hesla: Maximální věk hesla můžete vynutit. Heslo bude vypršeno a musí se změnit podle věkových kritérií.
- Uživatel musí změnit heslo při dalším přihlášení: Správce přiřadí heslo během vytváření přihlášení SQL. Jakmile se uživatel přihlásí svými přihlašovacími údaji, musí určit nové heslo a správci si nebudou vědomi tohoto nového hesla.
Poznámka: Všechny tyto konfigurace jsou na individuální úrovni přihlášení SQL. Pokud tedy potřebujete vytvořit více přihlášení SQL, musíte každý účet nakonfigurovat s požadovanou zásadou.
Nemůžeme povolit pouze autentizaci SQL. Chcete.li to povolit, použijte možnost smíšeného ověřování, která zahrnuje ověření Windows i SQL.
Nevýhody ověřování serveru SQL
Existuje poměrně málo omezení a nevýhod používání samotné autentizace serveru SQL.
- Uživatelé si musí zapamatovat přihlašovací údaje SQL a poskytnout je ve připojovacím řetězci pokaždé, když se připojí k serveru SQL. Pokud máte více serverů SQL, může být pro uživatele obtížné sledovat hesla pro každou instanci.
- SQL Server ukládá heslo v hlavní databázi ve formě šifrované (hash). Hackeři mohou informace ukrást přístupem do databáze. Vzhledem k tomu, že tato šifrovaná pověření je třeba předat síť, může to zvýšit šance na ukradení pověření uživatelů.
- S přihlášením SQL Server Server nemůžete implementovat další (přizpůsobené) zásady účtů.
- Zvyšuje úkol správy přihlášení pro správce databáze. Správci databáze nemají centrální konzoli pro správu pro správu přihlášení ve všech instancích.
Předpokládejme, že máte instance 500 čtverečních a uživatel vyžaduje přístup ke všem těmto instancím. V tomto případě by bylo pro správce databáze únavným úkolem připojit se ke každé instanci a vytvořit přihlášení uživatelů. Podobně, pokud osoba opustila organizaci, musí správce databáze zjistit přihlášení SQL jednotlivce a odstranit je ze všech těchto případů. To může být velmi časově náročný proces.
- Při přesunu databáze do různých instancí můžete získat problémy s osiřelým uživatelem a může se to stát kvůli neshodě SID v databázi Master and User v nové instanci.
- Musíte spravovat bezpečnostní zásady pro každé přihlášení SQL. Nemůžete definovat univerzální politiku pro všechny účty ve vaší organizaci. Pro velkou databázovou stopu je náročným úkolem definovat zásadu pro každé jednotlivé přihlášení.
Přehled ověřování systému Windows
Při ověřování Windows by se uživatel měl nejprve ověřit v Active Directory. SQL Server ověřuje uživatele prostřednictvím hlavního tokenu Windows v OS. SQL Server s tím nepožaduje heslo pro ověření identity. Proto Windows potvrzuje identitu uživatelů pro ověření. SQL Server neukládá přihlašovací údaje do ověřování Windows. Spojení pomocí ověřování Windows se nazývá důvěryhodné nebo integrované připojení.
Poznámka: Ověřování Windows je výchozí metoda ověřování při instalaci serveru SQL.
Nevýhody ověřování Windows
souhrn
Tento blogový příspěvek nastiňuje klíčové komponenty ověřování serveru SQL a ověřování Windows. Doufám, že vám to pomůže pochopit rozdíly mezi těmito metodami ověřování, aby se rozhodl, které fungují nejlépe pro vaše podnikání a okolnosti.
Ověřování serveru SQL lze použít na stejném stroji jako SQL Server nebo na vzdáleném připojení. Pokud pracujete v prostředí Active Directory, doporučujeme se ověřování Windows používat. Pokud pracujete v neaktivním adresáři, můžete využít ověřování serveru SQL pro databázové připojení.
Ověřování systému Windows poskytuje větší zabezpečení a flexibilitu pro správu přihlášení na serveru SQL. Proto byste ji měli použít kdykoli je to možné.
Odstraňování problémů „nemohl získat informace o systému Windows NT Group/User“
Toto je jeden z těch typických blogových příspěvků, které píšu pro své budoucí já, chlap, který neustále opravuje stejné věci znovu a znovu a zapomíná, co udělal příští minutu.
Pokud chcete dotazovat informace o uživateli nebo skupině Windows a jeho přístupové dráze v SQLServeru, můžete použít rozšířenou uloženou proceduru „XP_LOGININFO“. Zde je příklad:
Exec xp_logininfo ‚mydomain \ someuser‘, ‚all‘;
Pokud je vše správně nakonfigurováno, uvidíte seznam účtů Windows a přihlášení, na které jsou mapovány v SQLServer.
V některých případech však příkaz selhává s neslavnou chybovou zprávou:
Nemohl získat informace o systému Windows NT/User ‚MyDomain \ Someuser‘, chybový kód 0x5
K tomu dochází pokaždé, když se SQLServer pokusí dotazovat informace o uživateli systému Windows z Active Directory a obdrží chybu.
Pochopení, odkud chyba pochází.
Uživatel neexistuje
To je velmi snadné kontrolovat: existuje uživatel v systému Windows? Chyběl jsi název?
Můžete to zkontrolovat z okna CMD a vydat tento příkaz:
Pokud jste uživatele napsali správně, příkaz o něm vrátí informace, jako je popis, nastavení hesla, členství ve skupině atd.
Pokud je uživatelské jméno nesprávné a nelze jej najít v AD, získáte chybovou zprávu
Uživatelské jméno nelze najít.
Easy Peasy: Zkontrolujte pravopis a zkontrolujte svou reklamu.
Účet služeb nemá dostatek privilegií pro dotazování reklamy
Jak jsem řekl, server SQL musí dotazovat reklamu, aby získal informace o uživateli: Pokud jeho servisní účet nemá dostatek privilegií, dotaz selže.
Nejpravděpodobnější příčinou je nesprávná konfigurace nastavení účtu servisního serveru na serveru SQL. Konkrétnější je velmi pravděpodobné, že SQL Server je nakonfigurován tak, aby spustil jako místní uživatel, který vůbec nemá přístup k Active Directory. K tomu dochází, když SQL Server běží jako SID na servis nebo jeden z vestavěných místních účtů (místní služby nebo místní systém).
Je velmi snadné zkontrolovat, jaký účet se používá ke spuštění serveru SQL: Vše, co musíte udělat, je dotaz Sys.dm_server_services.
Vyberte ServiceName, Service_Account ze sys.dm_server_services;
Pokud vidíte, že se místní účet vrátí, pokračujte a změňte svůj servisní účet na účet domény pomocí správce konfigurace.
Pokud stále nemůžete dotazovat reklamu, možná je něco špatného s oprávněními na vašich reklamních objektech. Zkuste vydat se na účet serveru SQL Service, otevřete okna CMD a vydejte příkaz čistého uživatele.
SQL Server 2017 Memory settings. Настройка памяти.
Čistý uživatel Someuser /Domain Požadavek bude zpracován v doménovém ovladači pro doménu mydomain System chyba 5. Přístup odepřen
Pokud získáte chybovou zprávu „Access Is Deied“, musíte přejít na svou reklamu a udělit oprávnění ke čtení na tomto uživateli/OU na účet služeb.
Účet služeb nemá dostatek privilegií pro vydávání uživatele Windows
To pro mě bylo trochu překvapení. Aby bylo možné získat informace o uživateli systému Windows, musí jej SQL Server nejprve vydat a poté se obrátit na reklamu, která se tento uživatel zotavuje.
Aby se uživatel vydával, musí server SQL spustit pod uživatelem servisního účtu, který má dostatek privilegií pro vydávání jiného uživatele. Toto oprávnění je uděleno prostřednictvím místní politiky.
Otevřete místní bezpečnostní politiku MMC (Secpol.MSc) a rozšířit „místní zásady“, „Přiřazení uživatelských práv“. Najděte zásadu s názvem „Po autentizaci se vydávají na klienta“ a dvakrát klikněte. Můžete ověřit, zda je účtu služeb pro server SQL udělen toto oprávnění, přímo nebo prostřednictvím jedné ze svých skupin.
Obecně řečeno, nemusíte to měnit, protože ve výchozím nastavení Windows uděluje tuto privilegium na „službu“ zvláštní identitu. Jakýkoli proces běžící jako služba působí jako speciální identita služby, včetně serveru SQL. Pokud to nenajdete zde uvedené, přidejte jej zpět.

Oprávnění Windows mohou občas být složitá. Doufám, že vám tento příspěvek pomůže (a já!) Zkrocení zvířete.