Sdílet prostřednictvím


Konfigurace databázového serveru pro publikování nasazeného webu

podle Jason Lee

Toto téma popisuje, jak nakonfigurovat databázový server SQL Serveru 2008 R2 tak, aby podporoval nasazení a publikování webu.

Úlohy popsané v tomto tématu jsou společné pro každý scénář nasazení – nezáleží na tom, jestli jsou webové servery nakonfigurované tak, aby používaly službu vzdáleného agenta služby IIS (Nasazení webu), obslužnou rutinu nasazení webu nebo offline nasazení nebo jestli je vaše aplikace spuštěná na jednom webovém serveru nebo serverové farmě. Způsob nasazení databáze se může změnit podle požadavků na zabezpečení a dalších aspektů. Databázi můžete například nasadit s ukázkovými daty nebo bez nich a můžete nasadit mapování rolí uživatele nebo je nakonfigurovat ručně po nasazení. Způsob konfigurace databázového serveru ale zůstane stejný.

Pro konfiguraci databázového serveru pro podporu nasazení webu nemusíte instalovat žádné další produkty ani nástroje. Za předpokladu, že databázový server a webový server běží na různých počítačích, stačí:

  • Povolte SQL Serveru komunikaci pomocí protokolu TCP/IP.
  • Povolte provoz SQL Serveru přes všechny brány firewall.
  • Dejte účtu počítače s webovým serverem přihlašovací údaje k SQL Serveru.
  • Namapujte přihlášení účtu počítače k požadovaným databázovým rolím.
  • Dejte účtu, který spustí nasazení oprávnění pro přihlášení k SQL Serveru a autorovi databáze.
  • Pokud chcete podporovat opakování nasazení, namapujte přihlášení účtu nasazení k roli databáze db_owner .

Toto téma vám ukáže, jak provést každý z těchto postupů. Úlohy a názorné postupy v tomto tématu předpokládají, že začínáte s výchozí instancí SYSTÉMU SQL Server 2008 R2 spuštěnou v systému Windows Server 2008 R2. Než budete pokračovat, ujistěte se, že:

  • Windows Server 2008 R2 Service Pack 1 a všechny dostupné aktualizace jsou nainstalovány.
  • Server je připojený k doméně.
  • Server má statickou IP adresu.
  • SQL Server 2008 R2 Service Pack 1 a všechny dostupné aktualizace jsou nainstalovány.

Instance SQL Serveru musí obsahovat pouze roli Služby databázového stroje, která je zahrnuta automaticky v jakékoli instalaci SQL Serveru. Pro usnadnění konfigurace a údržby však doporučujeme zahrnout role serveru Management Tools – Basic and Management Tools – Complete .

Poznámka:

Další informace o připojování počítačů k doméně naleznete v tématu Připojení počítačů k doméně a přihlášení. Další informace o konfiguraci statických IP adres najdete v tématu Konfigurace statické IP adresy. Další informace o instalaci SQL Serveru naleznete v tématu Instalace SYSTÉMU SQL Server 2008 R2.

Povolení vzdáleného přístupu k SQL Serveru

SQL Server používá ke komunikaci se vzdálenými počítači protokol TCP/IP. Pokud je databázový server a váš webový server na různých počítačích, musíte:

  • Nakonfigurujte nastavení sítě SQL Serveru tak, aby umožňovala komunikaci přes protokol TCP/IP.
  • Nakonfigurujte všechny hardwarové nebo softwarové brány firewall tak, aby umožňovaly provoz TCP (a v některých případech provoz UDP (User Datagram Protocol) na portech, které instance SQL Serveru používá.

Pokud chcete systému SQL Server povolit komunikaci přes protokol TCP/IP, změňte konfiguraci sítě pro instanci SQL Serveru pomocí nástroje SQL Server Configuration Manager.

Povolení komunikace s SQL Serverem pomocí protokolu TCP/IP

  1. V nabídce Start přejděte na příkaz Všechny programy, klepněte na položku Microsoft SQL Server 2008 R2, klepněte na tlačítko Nástroje konfigurace a potom klepněte na položku SQL Server Configuration Manager.

  2. V podokně stromového zobrazení rozbalte položku Konfigurace sítě SYSTÉMU SQL Server a klepněte na tlačítko Protokoly pro MSSQLSERVER.

    Poznámka:

    Pokud jste nainstalovali více instancí SQL Serveru, zobrazí se pro každou instanci položka Protokoly pro [název instance]. Musíte nakonfigurovat nastavení sítě na instanci po instanci.

  3. V podokně podrobností klikněte pravým tlačítkem myši na řádek TCP/IP a potom klepněte na tlačítko Povolit.

    V podokně podrobností klikněte pravým tlačítkem myši na řádek TCP/IP a potom klikněte na Povolit.

  4. V dialogovém okně Upozornění klepněte na tlačítko OK.

    V dialogovém okně Upozornění klepněte na tlačítko OK

  5. Než se nová konfigurace sítě projeví, musíte službu MSSQLSERVER restartovat. Můžete to udělat na příkazovém řádku, z konzoly Služby nebo z aplikace SQL Server Management Studio. V tomto postupu použijete SQL Server Management Studio.

  6. Zavřete SQL Server Configuration Manager.

  7. V nabídce Start přejděte na příkaz Všechny programy, klepněte na položku Microsoft SQL Server 2008 R2 a klepněte na tlačítko SQL Server Management Studio.

  8. V dialogovém okně Připojit k serveru zadejte do pole Název serveru název databázového serveru a klepněte na tlačítko Připojit.

    V dialogovém okně Připojit k serveru zadejte do pole Název serveru název databázového serveru a klepněte na tlačítko Připojit.

  9. V podokně Průzkumník objektů klikněte pravým tlačítkem myši na nadřazený uzel serveru (například TESTDB1) a potom klikněte na Restartovat.

    V podokně Průzkumník objektů klikněte pravým tlačítkem myši na nadřazený uzel serveru (například TESTDB1) a potom klikněte na Restartovat.

  10. V dialogovém okně Microsoft SQL Server Management Studio klepněte na tlačítko Ano.

    V dialogovém okně Microsoft SQL Server Management Studio klepněte na tlačítko Ano.

  11. Po restartování služby zavřete aplikaci SQL Server Management Studio.

Pokud chcete povolit provoz SQL Serveru přes bránu firewall, musíte nejprve vědět, které porty vaše instance SQL Serveru používá. To bude záviset na tom, jak se instance SQL Serveru vytvořila a nakonfigurovala:

  • Výchozí instance SQL Serveru naslouchá požadavkům (a odpovídá na ně) na portu TCP 1433.
  • Pojmenovaná instance SQL Serveru naslouchá požadavkům (a reaguje na) na dynamicky přiřazeném portu TCP.
  • Pokud je služba SQL Server Browser povolená, klienti mohou službu dotazovat na portu UDP 1434 a zjistit, který port TCP se má použít pro konkrétní instanci SQL Serveru. Tato služba je však z bezpečnostních důvodů často zakázaná.

Za předpokladu, že používáte výchozí instanci SQL Serveru, musíte nakonfigurovat bránu firewall tak, aby umožňovala provoz.

Směr Z portu Na port Typ portu
Příchozí Všechny 1433 TCP
Odchozí 1433 Všechny TCP

Poznámka:

Technicky vzato bude klientský počítač používat náhodně přiřazený port TCP mezi 1024 a 5000 ke komunikaci s SQL Serverem a podle toho můžete pravidla brány firewall omezit. Další informace o portech a branách firewall systému SQL Server najdete v tématu Čísla portů TCP/IP vyžadovaná ke komunikaci s SQL přes bránu firewall a postupy: Konfigurace serveru pro naslouchání na konkrétním portu TCP (SQL Server Configuration Manager).

Ve většině prostředí Windows Serveru budete pravděpodobně muset nakonfigurovat bránu Windows Firewall na databázovém serveru. Brána Windows Firewall ve výchozím nastavení povoluje veškerý odchozí provoz, pokud to pravidlo výslovně nezakazuje. Pokud chcete webovému serveru povolit přístup k vaší databázi, musíte nakonfigurovat příchozí pravidlo, které povoluje provoz PROTOKOLU TCP na čísle portu, které instance SQL Serveru používá. Pokud používáte výchozí instanci SQL Serveru, můžete toto pravidlo nakonfigurovat pomocí dalšího postupu.

Konfigurace brány Windows Firewall tak, aby umožňovala komunikaci s výchozí instancí SQL Serveru

  1. Na databázovém serveru v nabídce Start přejděte na příkaz Nástroje pro správu a potom klepněte na položku Brána Windows Firewall s pokročilým zabezpečením.

  2. V podokně stromového zobrazení klikněte na Příchozí pravidla.

    V podokně stromového zobrazení klikněte na Příchozí pravidla.

  3. V podokně Akce v části Příchozí pravidla klepněte na tlačítko Nové pravidlo.

  4. V Průvodci novým příchozím pravidlem na stránce Typ pravidla vyberte Port a potom klepněte na tlačítko Další.

    V Průvodci novým příchozím pravidlem na stránce Typ pravidla vyberte Port a potom klepněte na tlačítko Další.

  5. Na stránce Protokol a porty zkontrolujte, zda je vybrán protokol TCP, a v poli Specifické místní porty zadejte 1433 a klepněte na tlačítko Další.

    Na stránce Protokol a porty zkontrolujte, zda je vybrán protokol TCP, a v poli Specifické místní porty zadejte 1433 a klepněte na tlačítko Další.

  6. Na stránce Akce ponechte vybranou možnost Povolit připojení a klepněte na tlačítko Další.

  7. Na stránce Profil ponechte vybranou možnost Doména, zrušte zaškrtnutí políček Soukromé a Veřejné a klepněte na tlačítko Další.

    Na stránce Profil ponechte vybranou možnost Doména, zrušte zaškrtnutí políček Soukromé a Veřejné a klepněte na tlačítko Další.

  8. Na stránce Název zadejte pravidlo vhodně popisný název (například výchozí instance SQL Serveru – přístup k síti) a klikněte na tlačítko Dokončit.

Další informace o konfiguraci brány Windows Firewall pro SQL Server, zejména pokud potřebujete komunikovat s SQL Serverem přes nestandardní nebo dynamické porty, naleznete v tématu Postupy: Konfigurace brány Windows Firewall pro přístup k databázovému stroji.

Konfigurace přihlášení a oprávnění databáze

Když nasadíte webovou aplikaci do Internetová informační služba (IIS), aplikace se spustí pomocí identity fondu aplikací. V doménovém prostředí používají identity fondu aplikací účet počítače serveru, na kterém běží, pro přístup k síťovým prostředkům. Účty počítačů mají tvar [název domény]</strong>[název počítače]$– například FABRIKAM\TESTWEB1$. Pokud chcete webové aplikaci povolit přístup k databázi v síti, musíte:

  • Přidejte přihlášení k účtu počítače s webovým serverem do instance SQL Serveru.
  • Namapujte přihlášení účtu počítače k libovolným požadovaným databázovým rolím (obvykle db_datareader a db_datawriter).

Pokud vaše webová aplikace běží na serverové farmě, a ne na jednom serveru, budete muset tyto postupy opakovat pro každý webový server v serverové farmě.

Poznámka:

Další informace o identitách fondu aplikací a přístupu k síťovým prostředkům najdete v tématu Identity fondu aplikací.

K těmto úkolům můžete přistupovat různými způsoby. Pokud chcete vytvořit přihlášení, můžete:

  • Pomocí jazyka Transact-SQL nebo SQL Server Management Studio vytvořte přihlašovací údaje ručně na databázovém serveru.
  • K vytvoření a nasazení přihlášení použijte projekt SERVERU SQL Server 2008 v sadě Visual Studio.

Přihlášení k SQL Serveru je objekt na úrovni serveru, nikoli objekt na úrovni databáze, takže není závislý na databázi, kterou chcete nasadit. Přihlášení můžete vytvořit kdykoli a nejjednodušší je často vytvořit přihlášení ručně na databázovém serveru předtím, než začnete nasazovat databáze. Pomocí dalšího postupu můžete vytvořit přihlášení v aplikaci SQL Server Management Studio.

Vytvoření přihlášení k SQL Serveru pro účet počítače s webovým serverem

  1. Na databázovém serveru v nabídce Start přejděte na příkaz Všechny programy, klepněte na položku Microsoft SQL Server 2008 R2 a klepněte na tlačítko SQL Server Management Studio.

  2. V dialogovém okně Připojit k serveru zadejte do pole Název serveru název databázového serveru a klepněte na tlačítko Připojit.

    Tento obrázek znázorňuje: v dialogovém okně Připojit k serveru do pole Název serveru zadejte název databázového serveru a klepněte na tlačítko Připojit.

  3. V podokně Průzkumník objektů klepněte pravým tlačítkem myši na položku Zabezpečení, přejděte na příkaz Nový a klepněte na tlačítko Přihlásit.

  4. V dialogovém okně Přihlášení – Nový zadejte do pole Přihlašovací jméno název vašeho účtu počítače webového serveru (například FABRIKAM\TESTWEB1$).

    V dialogovém okně Přihlásit – Nový zadejte do pole Přihlašovací jméno název vašeho účtu počítače webového serveru (například FABRIKAM\TESTWEB1$).

  5. Klikněte na OK.

V tuto chvíli je váš databázový server připravený pro publikování nasazení webu. Všechna nasazená řešení ale nebudou fungovat, dokud nenamapujete přihlášení účtu počítače k požadovaným databázovým rolím. Mapování přihlášení k databázovým rolím vyžaduje mnohem více myšlenky, protože role nemůžete mapovat, dokud databázi nenasadíte. Pokud chcete namapovat přihlášení účtu počítače k požadovaným databázovým rolím, můžete:

  • Po prvním nasazení databáze přiřaďte databázové role k přihlášení ručně.
  • K přiřazení databázových rolí k přihlášení použijte skript po nasazení.

Další informace o automatizaci vytváření přihlášení a mapování databázových rolí naleznete v tématu Nasazení členství v rolích databáze do testovacích prostředí. Případně můžete pomocí dalšího postupu namapovat přihlášení účtu počítače k požadovaným databázovým rolím ručně. Nezapomeňte, že tento postup nemůžete provést, dokud databázi nenasadíte.

Mapování databázových rolí na přihlášení k účtu počítače webového serveru

  1. Otevřete SQL Server Management Studio jako předtím.

  2. V podokně Průzkumník objektů rozbalte uzel Zabezpečení, rozbalte uzel Přihlášení a poklikejte na přihlašovací jméno účtu počítače (například FABRIKAM\TESTWEB1$).

    V podokně Průzkumník objektů rozbalte uzel Zabezpečení, rozbalte uzel Přihlášení a poklikejte na přihlašovací jméno účtu počítače (například FABRIKAM\TESTWEB1$).

  3. V dialogovém okně Vlastnosti přihlášení klepněte na tlačítko Mapování uživatelů.

  4. V tabulce Uživatelé namapovaní na tuto přihlašovací tabulku vyberte název databáze (například ContactManager).

  5. V seznamu členství v roli databáze pro: [název databáze] vyberte požadovaná oprávnění. V případě ukázkového řešení Contact Manageru musíte vybrat db_datareader a db_datawriter role.

    V seznamu členství v roli databáze pro: [název databáze] vyberte požadovaná oprávnění. V případě ukázkového řešení Contact Manageru musíte vybrat db_datareader a db_datawriter role.

  6. Klikněte na OK.

I když je ruční mapování databázových rolí často vhodnější než pro testovací prostředí, je méně žádoucí pro automatizovaná nasazení nebo nasazení jedním kliknutím do přípravných nebo produkčních prostředí. Další informace o automatizaci tohoto typu úlohy pomocí skriptů po nasazení najdete v tématu Nasazení členství v rolích databáze do testovacích prostředí.

Poznámka:

Další informace o serverových projektech a databázových projektech naleznete v tématu Visual Studio 2010 SQL Server Database Projects.

Konfigurace oprávnění pro účet nasazení

Pokud účet, který použijete ke spuštění nasazení, není správcem SQL Serveru, budete také muset pro tento účet vytvořit přihlášení. Aby bylo možné vytvořit databázi, musí být účet členem role serveru dbcreator nebo mít ekvivalentní oprávnění.

Poznámka:

Pokud k nasazení databáze použijete nasazení webu nebo VSDBCMD, můžete použít přihlašovací údaje systému Windows nebo přihlašovací údaje SQL Serveru (pokud je vaše instance SQL Serveru nakonfigurovaná tak, aby podporovala ověřování ve smíšeném režimu). V dalším postupu se předpokládá, že chcete použít přihlašovací údaje systému Windows, ale při konfiguraci nasazení vám nic nezabrání v zadání uživatelského jména a hesla SQL Serveru ve vašem připojovací řetězec.

Nastavení oprávnění pro účet nasazení

  1. Otevřete SQL Server Management Studio jako předtím.

  2. V podokně Průzkumník objektů klepněte pravým tlačítkem myši na položku Zabezpečení, přejděte na příkaz Nový a klepněte na tlačítko Přihlásit.

  3. V dialogovém okně Přihlášení – Nový zadejte do pole Přihlašovací jméno název vašeho účtu nasazení (například FABRIKAM\matt).

  4. V podokně Vybrat stránku klikněte na Role serveru.

  5. Vyberte dbcreator a klepněte na tlačítko OK.

    Vyberte dbcreator a klepněte na tlačítko OK.

Pokud chcete podporovat další nasazení, budete také muset po prvním nasazení přidat účet nasazení do role db_owner v databázi. Důvodem je to, že při následných nasazeních upravujete schéma existující databáze místo vytváření nové databáze. Jak je popsáno v předchozí části, nemůžete přidat uživatele do databázové role, dokud databázi nevytvořili, a to z jasných důvodů.

Mapování přihlášení účtu nasazení k roli databáze db_owner

  1. Otevřete SQL Server Management Studio jako předtím.

  2. V okně Průzkumník objektů rozbalte uzel Zabezpečení, rozbalte uzel Přihlášení a poklikejte na přihlašovací jméno účtu počítače (například FABRIKAM\matt).

  3. V dialogovém okně Vlastnosti přihlášení klepněte na tlačítko Mapování uživatelů.

  4. V tabulce Uživatelé namapovaní na tuto přihlašovací tabulku vyberte název databáze (například ContactManager).

  5. V seznamu Členství v roli databáze pro: [název databáze] vyberte db_owner roli.

    V seznamu Členství v roli databáze pro: [název databáze] vyberte db_owner roli.

  6. Klikněte na OK.

Závěr

Váš databázový server by teď měl být připravený přijímat nasazení vzdálené databáze a umožnit vzdáleným webovým serverům IIS přístup k vašim databázím. Než se pokusíte nasadit a používat databáze, můžete zkontrolovat tyto klíčové body:

  • Nakonfigurovali jste SQL Server tak, aby přijímal vzdálené připojení TCP/IP?
  • Nakonfigurovali jste nějaké brány firewall tak, aby povolovaly provoz SQL Serveru?
  • Vytvořili jste přihlášení k účtu počítače pro každý webový server, který bude přistupovat k SQL Serveru?
  • Zahrnuje vaše nasazení databáze skript pro vytvoření mapování rolí uživatele nebo je potřebujete po prvním nasazení databáze vytvořit ručně?
  • Vytvořili jste pro účet nasazení přihlášení a přidali jste ho do role serveru dbcreator ?

Další čtení

Pokyny k nasazení databázových projektů najdete v tématu Nasazení databázových projektů. Pokyny k vytváření členství v rolích databáze spuštěním skriptu po nasazení najdete v tématu Nasazení členství v rolích databáze do testovacích prostředí. Pokyny k tomu, jak splnit jedinečné problémy s nasazením, které představují členské databáze, najdete v tématu Nasazení databází členství do podnikových prostředí.