it-swarm-eu.dev

Jak nakonfiguruji server SQL Server 2012, aby mohl obnovit a zobrazit soubory v mém uživatelském účtu?

Mám v počítači spuštěnou instanci serveru SQL Server 2012 a podle stránky služby se přihlásí jako účet „NT Service\MSSQLSERVER“ . Tento název účtu však nevidím nikde jinde včetně oblasti „Místní uživatelé a skupiny“ na obrazovce správy počítače, protože, jak ukazuje níže uvedený odkaz, nejedná se o uživatelský účet, jedná se o název služby v tomto poli, Microsoft tak užitečně označil „účet“. V tuto chvíli vidím mnoho lidí zmatených.

Úkolem, který se pokouším splnit, je obnovit soubory pomocí dialogu SSMS „Vyhledat záložní soubor“, který používá dialog zcela na rozdíl od standardních otevřených dialogových oken Windows, pravděpodobně proto, že dělá „vzdálenou“ úlohu a pracuje z bezpečnostní kontext serveru SQL, další bohatý zdroj záměny koncového uživatele, který doufám, že tato otázka pomůže objasnit.

Zatím, pokud chci obnovit záložní soubor .mdf/.bak, který mám v jedné ze svých složek, musím nastavit tuto složku tak, aby byla čitelná pro všechny nebo jinde, kam se nemůžu dostat pomocí serveru SQL „Vyhledat zálohu“ Okno Soubor. Zjistil jsem tuto myšlenku, že používáte GUI, které mluví se službou, která má jiné uživatelské účty a práva než vy, které vám nikdo v Microsoftu nezajímal, aby vám to objasnil, velmi matoucí, i když mám dlouholeté zkušenosti se správou systému Windows .

Doufám, že jsem zmeškal některé stránky dokumentace pro SQL Server, které by vám po instalaci nové instance serveru SQL řekly, jak byste mohli nastavit zabezpečení.

Příspěvky ve fóru jako tento nechávají dokonce zaměstnanci společnosti Microsoft říkat „je to komplikované“ a že se v Denali „opět změnilo“. Jak to nyní funguje v SQL Server 2012 a jak mohu přidat oprávnění ke čtení souborů patřících uživatelům do zabezpečení databázového stroje SQL SID.

10
Warren P

Pro odkaz „Denali“ je SQL Server 2012. Pokud jde o „záměnu koncového uživatele“, nejsem tím, kdo se týká toho, zda je koncový uživatel zaměněn, nebo ne, pokud jde o SSMS. Společnost Microsoft nevyvinula tento nástroj pro běžného koncového uživatele, ale pro správce databáze nebo uživatele, který musel spravovat databázi. Proto bude existovat křivka učení s poskytovanými nástroji a jak fungují. Dialogové okno souboru bylo v SSMS tímto způsobem od doby, kdy vyšel SSMS se serverem SQL Server 2005. Z tohoto důvodu se obecně budete nejvíce dívat na příkazy T-SQL pro zálohování, obnovu nebo připojení databáze, která jej od té doby používala. .

Chcete-li konfigurovat oprávnění systému souborů s SQL Serverem, postupujte podle pokynů MSDN zde .

Způsob, jakým jsou účty služeb zpracovány, nebyl dodán nebo kvůli serveru SQL Server, bylo to kvůli změně na úrovni operačního systému. Window Server 2008 R2 položil trochu více vrstvy zabezpečení kolem účtů služeb. Výhodou je, že účet služby může snadněji přistupovat k prostředkům v doméně, i když je nainstalován s výchozím nastavením. Toto link poskytuje velmi podrobný pohled na to, jak jsou zpracována oprávnění účtu služeb s SQL Server 2012. Výňatek z odkazu je níže na virtuálních účtech používaných ve výchozím nastavení v SQL Server 2012. K dispozici je také odkaz v článku, který se věnuje další diskusi o konceptu účtu služeb u Windows, zde . Je to z Windows Server 2008 R2, ale věřím, že stále platí pro Windows Server 2012 a pravděpodobně i pro Windows Server 2012 R2.

Virtuální účty

Virtuální účty v systémech Windows Server 2008 R2 a Windows 7 jsou spravované místní účty, které poskytují následující funkce ke zjednodušení správy služeb. Virtuální účet je automaticky spravován a virtuální účet má přístup k síti v prostředí domény. Pokud se výchozí hodnota používá pro účty služeb během instalace serveru SQL Server v systému Windows Server 2008 R2 nebo Windows 7, použije se virtuální účet používající název instance jako název služby ve formátu NT SERVICE \. Služby spouštěné jako virtuální účty přistupují k síťovým prostředkům pomocí přihlašovacích údajů účtu počítače ve formátu\$. Při určování virtuálního účtu pro spuštění serveru SQL ponechte heslo prázdné. Pokud se virtuálnímu účtu nepodaří zaregistrovat hlavní název služby (SPN), zaregistrujte SPN ručně. Další informace o ruční registraci SPN naleznete v tématu Registrace hlavního jména služby pro připojení Kerberos. Poznámka: Virtuální účty nelze použít pro SQL Server Failover Cluster Instance, protože virtuální účet by neměl stejný SID v každém uzlu clusteru.

V následující tabulce jsou uvedeny příklady názvů virtuálních účtů.

Výchozí instance služby Database Engine: NT SERVICE\MSSQLSERVER Pojmenovaná instance služby Database Engine s názvem PAYROLL: NT SERVICE\MSSQL $ PAYROLL Služba SQL Server Agent ve výchozí instanci serveru SQL: NT SERVICE\SQLSERVERAGENT Služba SQL Server Agent na instance serveru SQL s názvem PAYROLL: NT SERVICE\SQLAGENT $ PAYROLL

5
user507

Chcete-li zobrazit/získat přístup k souborům v jiné složce, zadejte NT SERVICE\MSSQLSERVER oprávnění ke složce. Viz moje odpověď zveřejněná na . Bak soubor není viditelný v žádném adresáři v SSMS pro snímky obrazovky a příslušné kroky. (Mírně odlišné od přidání běžných oprávnění uživatelů/skupin do složky.)

Doufám, že to pomůže!

2
AdamsTips

Ve skutečnosti, pokud se pokusíte provést obnovení pomocí SSMS a jste přihlášeni pomocí Windows Authentication (!), Bude to váš účet Windows (a ne „každý“), který k tomu potřebuje oprávnění - NE SQL Server Service Účet. Doufám, že dojde k záměně. Účet služby má jiné potřeby. Například pokud jste byli přihlášeni pomocí ověřeného účtu SQL - jaká oprávnění by měl operační systém požadovat? - Bude to účet služby SQL Server v tomto pouze případ! To se nezměnilo od SQL Server 7.0 a pravděpodobně ani před tím :)

1
Andreas Wolter