本文將透過 SQL Server Virtual Labs - Installing and Managing SQL Server 2012 on Windows Server Core 這個 Lab 來跟大家介紹如何在 Windows Server Core 中安裝 SQL Server 2012,以及使用 SQL Server Powershell 來管理資料庫。
SQL Server 2012 開始支援 Windows Server Core 的安裝,讓業務核心的資料庫可以利用 Server Core 具備之高安全性,以及較少因為更新所需重新開機的次數等特性。本文將利用 SQL Server Virtual Labs 來介紹如何在 Windows Server Core 的環境下安裝 SQL Server 2012。
【Exercise 1】
本練習將介紹如何於 Windows Server Core 中安裝 SQL Server 2012。
- 首先連接至 SQLCORESETUP 虛擬機器,於命令提示自元視窗中輸入【sconfig】來開啟 Windows Server Core 的 Server Configuration 選單。
- 請確定網域名稱為【contoso.com】,以及電腦名稱為【SQLCORESETUP】。
- 於 Server Configuration 選單中輸入【8】然後按 Enter,確定 IP 為【192.168.1.30】。
- 於 Server Configuration 選單中輸入【4】然後按 Enter,於 Configure Remote Management 選單中,輸入【2】來啟用 Windows PowerShell 功能,啟用完畢請重新啟動電腦。
- 重新開機後,於命令提示字元中輸入【cd Baremetal\Scripts\ServerCore】然後按 Enter,來將工作目錄切換至 c:\Baremetal\Scripts\ServerCore 位置,接著輸入【notepad SetFramework.cmd】來查看如何透過 DISM 公用程式來啟用安裝 SQL Server 所需的必要條件。
必要條件如下表所示:
- 於命令提示字元中輸入【SetFramworks.cmd】來執行啟用安裝 SQL Server 的必要功能。
- 於命令提示字元中輸入【cd Baremetal\Scripts\Firewall】然後按 Enter,來將工作目錄切換至 c:\Baremetal\Scripts\Firewall 位置,接著輸入【notepad SqlServerFireWallConfig.cmd】來查看如何透過 netsh 公用程式來啟用 SQL Server 各項服務的防火牆。
- 於命令提示字元中輸入【SqlServerFireWallConfig.cmd】來開啟 SQL Server 服務所需的防火牆。
- 於命令提示字元中輸入【cd Baremetal\Scripts\ServerCore】然後按 Enter,來將工作目錄切換至 c:\Baremetal\Scripts\ServerCore 位置,接著輸入【notepad InstallSQLServerDatabaseInstance.cmd】來查看如何利用 Setup.exe 的安裝參數來進行參數化安裝。
- 於命令提示字元中輸入【InstallSQLServerDatabaseInstance.cmd】來安裝 SQL Server 2012。
- 安裝完畢後輸入【Cd "\Program Files\Microsoft SQL Server\110\Tools\Binn"】來將工作目錄切換至 C:\Program Files\Microsoft SQL Server\110\Tools\Binn 位置,接著輸入【sqlcmd】,於 SQLCMD 提示字元中輸入【select @@version】然後按 Enter,接著輸入【go】再按 enter,確定有顯示 SQL Server 的版本,已確定安裝正確無誤。
【Exercise 2】
本練習將介紹如何管理安裝在 Windows Server Core 中的 SQL Server 執行個體。
【Task 1】
利用 Registered Servers 視窗來註冊安裝於 Windows Server Core 上的 SQL Server 2012。
- 首先請先連接至 SQLON 虛擬機器,然後開啟 SSMS,於功能選單中選擇【View > Registered Server】或【Ctrl + ALT + G】開啟 Registered Server 視窗。
- 於 Registered Servers 視窗中,點選【Database Engine > Local Server Groups > New Server Registration】。
- 於 Server name 輸入【SQLCORESETUP】然後按 Test,若測試成功請接著按 Save。
- 點選【SQLCORESETUP > New Query】,於查詢編輯器中輸入下列 T-SQL 敘述,然後按 F5,若正確無誤則可看到如下圖 4 的結果。
1: SELECT2: SERVERPROPERTY('ProductVersion') AS ProductVersion,3: SERVERPROPERTY('ProductLevel') AS ProductLevel,4: SERVERPROPERTY('Edition') AS Edition,5: SERVERPROPERTY('EngineEdition') AS EngineEdition;
【Task 2】
利用 PowerShell 建立資料庫。
- 首先連接至 SQLCORE 虛擬機器,於命令提示字元中輸入【SQLPS】然後按 Enter。
- 輸入【Set-Location SQLSERVER:\SQL\SQLCORE\Default\Databases】切換至 SQLCORE 這台 SQL Server 伺服器的 DEFULT 執行個體。
- 輸入【Invoke-SQLcmd –Query "CREATE DATABASE SQLCOREDB"】來執行建立名稱為 SQLCOREDB 的資料庫。
- 接著您可以輸入【Invoke-SQLcmd –Query "select * from sys.databases where name = 'SQLCOREDB'" 】來查詢資料庫是否建立成功。
或是您也可以簡單的使用 dir 指令來查看目前執行個體中的資料庫有哪些。
- 最後您可以利用 Backup-SQLDatabase 來備份資料庫,請於 Powershell 命令提示字元中輸入【Backup-SQLDatabase –ServerInstance SQLCORE –Database SQLCOREDB】,然後按 Enter。
- 預設備份路徑是存放在【C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Backup】,將工作目錄切換至預設的備份路徑,即可看到剛剛利用 Powershell 所備份的備份檔。
【參考資料】