Skip to content

Commit c8c6354

Browse files
author
pmasl
committed
Separated pages
1 parent 1d79ad8 commit c8c6354

4 files changed

Lines changed: 258 additions & 206 deletions

File tree

samples/manage/sql-server-extended-security-updates/readme.md

Lines changed: 24 additions & 206 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@ End of support means the end of security updates, which can cause security and c
55
We recommend upgrading to current versions for the most advanced security, performance, and innovation.
66

77
For customers that couldn’t get all servers upgraded by the deadline, new options help protect applications and data during the upgrade transition:
8-
- Migrate your existing SQL Server 2008 and 2008 R2 workloads as-is to Azure Virtual Machines, and receive additional three years of free Extended Security Updates (if and when available)
9-
- Purchase Extended Security Updates for your servers and remain protected for up to three years until you are ready to upgrade to a newer SQL Server version
8+
- Migrate your existing SQL Server 2008 and 2008 R2 workloads as-is to Azure Virtual Machines, and receive additional three years of free Extended Security Updates (if and when available).
9+
- Purchase Extended Security Updates for your servers and remain protected until you are ready to upgrade to a newer SQL Server version, for up to three years after the End of Support date.
10+
1011
Microsoft recommends applying Extended Security Update patches as soon as they are available to keep their environment protected.
1112

1213
---
@@ -15,26 +16,25 @@ Microsoft recommends applying Extended Security Update patches as soon as they a
1516

1617
- [Useful links](#Useful-links)
1718
- [What are Extended Security Updates for SQL Server](#What)
18-
- [Prepare to register SQL Server instances](#Reg)
19-
- [Register a single SQL Server instance](#RegSingle)
20-
- [Bulk register SQL Server instances](#RegBulk)
21-
- [Formatting requirements for a CSV file](#csv)
19+
- [Prepare to register SQL Server instances for ESUs](#Registry)
20+
- [Registering SQL Server instances for ESUs](#Register)
2221
- [How to download Extended Security Updates](#Download)
23-
- [Script examples](#Script-examples)
24-
- [T-SQL script example](#tsql)
25-
- [Powershell script examples](#ps)
22+
- [Script examples](#scripts)
2623

2724
---
2825

2926
## Useful links
30-
- [SQL Server 2008/2008R2 end of support page](https://aka.ms/sqleos)
27+
- [SQL Server 2008 / 2008 R2 lifecycle page](https://support.microsoft.com/en-us/lifecycle/search?alpha=sql%20server%202008)
28+
- [SQL Server 2008 / 2008 R2 end of support page](https://aka.ms/sqleos)
3129
- [Extended Security Updates frequently asked questions](https://aka.ms/sqleosfaq)
3230
- [Microsoft Security Response Center (MSRC)](https://portal.msrc.microsoft.com/security-guidance/summary)
31+
- [Manage Windows updates by using Azure Automation](https://docs.microsoft.com/azure/automation/automation-tutorial-update-management)
32+
- [Microsoft Data Migration Guide](https://datamigration.microsoft.com/)
33+
3334

3435
---
3536

3637
## <a name="What"></a> What are Extended Security Updates for SQL Server
37-
3838
Extended Security Updates (ESUs) include provision of Security Updates rated **Critical** by [MSRC](https://portal.msrc.microsoft.com/security-guidance/summary).
3939

4040
ESUs will be distributed if and when available, and do not include:
@@ -45,6 +45,9 @@ ESUs will be distributed if and when available, and do not include:
4545
### Support
4646
ESUs do not include technical support, but customers can use an active support contract such as Software Assurance or Premier/Unified Support on SQL Server 2008 / 2008 R2 to get technical support on workloads covered by ESUs if they choose to stay on-premises. Alternatively, if hosting on Azure, customers can use an Azure Support plan to get technical support.
4747

48+
> [!NOTE]
49+
> Microsoft cannot provide technical support for SQL Server 2008 / 2008 R2 instances (both on-premises and in hosting environments) that are not covered with an ESU subscription.
50+
4851
### ESU Availability
4952
**In Azure:** Customers who migrate workloads to Azure Virtual Machines (IaaS) will have access to Extended Security Updates for SQL Server 2008 and 2008 R2 for three years after the End of Support dates for **no additional charges** above the cost of running the virtual machine. Customers do not need Software Assurance to receive Extended Security Updates in Azure.
5053

@@ -53,217 +56,32 @@ ESUs do not include technical support, but customers can use an active support c
5356
For more information, refer to the [Extended Security Updates frequently asked questions](https://aka.ms/sqleosfaq).
5457

5558
### ESU Delivery
56-
**Azure Virtual Machines:** Customers will receive updates automatically through existing SQL Server update channels, whenever vulnerabilities are found, and rated **Critical** by MSRC. If an Azure Virtual Machine is not configured to receive automatic updates, then the on-premises download option applies.
59+
**Azure Virtual Machines:** Customers will receive updates automatically through existing SQL Server update channels, whenever vulnerabilities are found, and rated **Critical** by MSRC. If an Azure Virtual Machine is not [configured to receive automatic updates](https://docs.microsoft.com/azure/automation/automation-tutorial-update-management), then the on-premises download option applies.
5760

58-
**On-premises or hosted environments:** Customers that buy Extended Security Updates will be able to [register the eligible instances](#Reg) and download updates from the Azure Portal to deploy to their on-premises or hosted environments, whenever vulnerabilities are found, and rated **Critical** by MSRC. This is also the process that customers will need to follow for Azure Stack and Azure Virtual Machines that are not configured to receive automatic updates.
61+
**On-premises or hosted environments:** Customers that buy Extended Security Updates will be able to [register the eligible instances](#Registry) and download updates from the Azure Portal to deploy to their on-premises or hosted environments, whenever vulnerabilities are found, and rated **Critical** by MSRC. This is also the process that customers will need to follow for Azure Stack and Azure Virtual Machines that are not configured to receive automatic updates.
5962

6063
---
6164

62-
## <a name="Reg"></a> Prepare to register SQL Server instances
63-
Before being able access the Extended Security Updates (ESU) download area in the Azure portal, the SQL Server instances covered by ESUs must be registered. This ensures that you are able to download an ESU package if and when available.
64-
65-
To register SQL Server instances, you must first create a SQL Server Registry in the [Azure portal](https://portal.azure.com).
66-
67-
1. Open the [Azure portal](https://portal.azure.com) and log in.
68-
69-
2. If this is your first time registering a SQL Server instance, click the plus (+) sign in the top-left area of the page to create a new resource. Then type *SQL Server Registry* in the text box and hit the **Enter** key.
70-
71-
![New Registry Step 1](./media/NewRegistry-Step1.png "New Registry Step 1")
72-
73-
3. The SQL Server Registry resource should be available. Click on it begin the Registry setup process.
74-
75-
![New Registry Step 2](./media/NewRegistry-Step2.png "New Registry Step 2")
76-
77-
4. After selecting the SQL Server Registry resource, click on the *Create* button.
78-
79-
![New Registry Step 3](./media/NewRegistry-Step3.png "New Registry Step 3")
80-
81-
5. In the **PROJECT DETAILS** section, select the ***subscription*** on which to create the Registry. Then, select either an existing ***Resource group***, or create a new one.
82-
83-
![New Registry Step 4](./media/NewRegistry-Step4.png "New Registry Step 4")
84-
85-
In the **SERVICE DETAILS** section, enter a name for the ***SQL Server registry***, and select a ***Region*** on which to deploy this new resource.
86-
87-
![New Registry Step 5](./media/NewRegistry-Step5.png "New Registry Step 5")
88-
89-
And then click on the ***Review + create*** button.
90-
91-
6. If the validation passed, you are presented with a screen that summarizes the choices for the new registry resource. If everything seems correct, click on the ***Create*** button to start deployment of the new resource.
92-
93-
![New Registry Step 6](./media/NewRegistry-Step6.png "New Registry Step 6")
94-
95-
7. Once deployment is complete, click on the ***Go to resource*** button.
96-
97-
![New Registry Step 7](./media/NewRegistry-Step7.png "New Registry Step 7")
98-
99-
![New Registry Step 8](./media/NewRegistry-Step8.png "New Registry Step 8")
100-
101-
8. Now the **SQL Server Registry** is available for you to start registering SQL Server instances.
102-
103-
![New Registry Step 9](./media/NewRegistry-Step9.png "New Registry Step 9")
65+
## <a name="Registry"></a> Prepare to register SQL Server instances for ESUs
66+
To create your SQL Server Registry, which will allow you to register your ESU-enabled SQL Server instances, see [Create the SQL Server Registry](./registry.md).
10467

10568
---
10669

107-
## <a name="RegSingle"></a> Register a single SQL Server instance
108-
109-
1. To register a new SQL Server instance, click the ***+ Register*** button in the top bar.
110-
111-
![New Single Instance Registration Step 1](./media/NewSingleRegistration-Step1.png "New Single Instance Registration Step 1")
112-
113-
2. Enter the required information as seen below:
114-
- **Instance Name:** enter the output of running the command `SELECT @@SERVERNAME` or `SELECT SERVERPROPERTY('ServerName')`
115-
- **SQL Version:** select from the drop-down the applicable version
116-
- 2008
117-
- 2008 R2
118-
- **Edition:** select from the drop-down the applicable edition
119-
- Datacenter
120-
- Developer (free to deploy if purchased ESUs)
121-
- Enterprise
122-
- Standard
123-
- Web
124-
- Workgroup
125-
- **Cores:** enter the number of cores for this instance
126-
- **Host Type:** select from the drop-down the applicable environment
127-
- Virtual Machine (on-premises)
128-
- Physical Server (on-premises)
129-
- Azure Virtual Machine (includes Azure Stack and VMWare on Azure)
130-
- Amazon EC2
131-
- Google Compute Engine
132-
- Other
133-
134-
135-
![New Single Instance Registration Step 2](./media/NewSingleRegistration-Step2.png "New Single Instance Registration Step 2")
136-
137-
If registering an Azure Virtual Machine (VM), additional information is required to complete registration:
138-
- **Subscription Id:** enter the subscription ID on where the VM is created
139-
- **Resource Group:** enter the resource group on where the VM is created
140-
- **Azure VM Name:** enter the VM resource name
141-
- **Azure VM Operating System:** select from the drop-down the applicable Windows Server version
142-
143-
3. When all fields are populated, click the ***Register*** button to complete registration.
144-
145-
![New Single Instance Registration Step 3](./media/NewSingleRegistration-Step3.png "New Single Instance Registration Step 3")
146-
147-
4. The newly registered instance will be available in the ***Registered servers*** section of the page.
148-
149-
![New Single Instance Registration Step 4](./media/NewSingleRegistration-Step4.png "New Single Instance Registration Step 4")
150-
151-
---
152-
153-
## <a name="RegBulk"></a> Bulk register SQL Server instances
154-
155-
1. To bulk register new SQL Server instances, click the ***↑ Bulk Register*** button in the top bar.
156-
157-
![New Bulk Instance Registration Step 1](./media/NewBulkRegistration-Step1.png "New Bulk Instance Registration Step 1")
158-
159-
2. Click the folder icon to search for a previously prepared CSV file that contains all the required information to register SQL Server instances. Once selected, click the ***Register*** button.
160-
161-
![New Bulk Instance Registration Step 2](./media/NewBulkRegistration-Step2.png "New Bulk Instance Registration Step 2")
162-
163-
3. The newly registered instance(s) will be available in the ***Registered servers*** section of the page.
164-
165-
### <a name="csv"></a> Formatting requirements for CSV file
166-
167-
The CSV file **must** be generated with the following format:
168-
- Values are comma separated
169-
- Values are not single or double-quoted
170-
- Column names must be camelCase and precisely named as seen below:
171-
- name
172-
- version
173-
- edition
174-
- cores
175-
- hostType
176-
- subscriptionId <sup>1</sup>
177-
- resourceGroup <sup>1</sup>
178-
- azureVmName <sup>1</sup>
179-
- azureVmOS <sup>1</sup>
180-
181-
<sup>1</sup> Only for Azure Virtual MAchine registrations
182-
183-
> [!TIP]
184-
> Use the Powershell [script examples](#Script-examples) to generate the required CSV files.
185-
186-
#### CSV Example 1 - on-premises
187-
188-
```
189-
name,version,edition,cores,hostType
190-
Server1\SQL2008,2008,Enterprise,12,Physical Server
191-
Server1\SQL2008 R2,2008 R2,Enterprise,12,Physical Server
192-
Server2\SQL2008 R2,2008 R2,Enterprise,24,Physical Server
193-
Server3\SQL2008 R2,2008 R2,Enterprise,12,Virtual Machine
194-
Server4\SQL2008,2008,Developer,8,Physical Server
195-
```
196-
197-
Refer to [MyPhysicalServers.csv](./scripts/MyPhysicalServers.csv) for a CSV file example.
198-
199-
#### CSV Example 2 - Azure VM
200-
201-
```
202-
name,version,edition,cores,hostType,subscriptionId,resourceGroup,azureVmName,azureVmOS
203-
ProdServerUS1\SQL01,2008 R2,Enterprise,12,Azure Virtual Machine,61868ab8-16d4-44ec-a9ff-f35d05922847,RG,VM1,2012
204-
ProdServerUS1\SQL02,2008 R2,Enterprise,24,Azure Virtual Machine,61868ab8-16d4-44ec-a9ff-f35d05922847,RG,VM1,2012
205-
ServerUS2\SQL01,2008,Enterprise,12,Azure Virtual Machine,61868ab8-16d4-44ec-a9ff-f35d05922847,RG,VM2,2012 R2
206-
ServerUS2\SQL02,2008,Enterprise,8,Azure Virtual Machine,61868ab8-16d4-44ec-a9ff-f35d05922847,RG,VM2,2012 R2
207-
SalesServer\SQLProdSales,2008 R2,Developer,8,Azure Virtual Machine,61868ab8-16d4-44ec-a9ff-f35d05922847,RG,VM3,2008 R2
208-
```
209-
210-
Refer to [MyAzureVMs.csv](./scripts/MyAzureVMs.csv) for an Azure VM targetted CSV file example.
70+
## <a name="Register"></a> Registering SQL Server instances for ESUs
71+
To register your ESU-enabled SQL Server instances, see [Registering SQL Server instances for ESUs](./register.md).
21172

21273
---
21374

21475
## <a name="Download"></a> How to download Extended Security Updates
21576

216-
1. To download a security update that is made available throughout the three years of the ESU program, click ***Security Updates***.
77+
1. To download a security update that is made available throughout the three years of the ESU subscription, click ***Security Updates***.
21778
- All available ESU packages available per version will be listed
21879
- A ***Download*** button will appear inline with each available update package, allowing customers to download, to later install in the eligible SQL Server instances.
21980

22081
![Downloads](./media/Downloads.png "Downloads")
22182

222-
## Script examples
223-
224-
### <a name="tsql"></a> T-SQL
225-
To collect data from a single instance, you can use the example T-SQL script [EOS_DataGenerator_SingleInstance.sql](./scripts/EOS_DataGenerator_SingleInstance.sql) below:
226-
227-
```sql
228-
DECLARE @SystemManufacturer NVARCHAR(128), @Edition NVARCHAR(20), @HostType NVARCHAR(30), @Cores int, @SQLVersion NVARCHAR(50)
229-
DECLARE @machineinfo TABLE ([Value] NVARCHAR(256), [Data] NVARCHAR(256))
230-
231-
INSERT INTO @machineinfo
232-
EXEC xp_instance_regread 'HKEY_LOCAL_MACHINE','HARDWARE\DESCRIPTION\System\BIOS','SystemManufacturer';
233-
SELECT @SystemManufacturer = [Data] FROM @machineinfo WHERE [Value] = 'SystemManufacturer';
234-
SET @HostType = 'Physical Server'
235-
IF LOWER(@SystemManufacturer) = 'microsoft' OR LOWER(@SystemManufacturer) = 'vmware'
236-
SET @HostType = 'Virtual Machine'
237-
238-
SELECT @Cores = hyperthread_ratio FROM sys.dm_os_sys_info;
239-
SELECT @Edition = CONVERT(NVARCHAR(20), SERVERPROPERTY('Edition'))
240-
SELECT @SQLVersion = CONVERT(NVARCHAR(50), SERVERPROPERTY('ProductVersion'))
241-
242-
SELECT SERVERPROPERTY('ServerName') AS [name],
243-
CASE LEFT(@SQLVersion,4) WHEN '10.0' THEN '2008'
244-
WHEN '10.5' THEN '2008R2'
245-
WHEN '11.0' THEN '2012'
246-
WHEN '12.0' THEN '2014'
247-
WHEN '13.0' THEN '2016'
248-
WHEN '14.0' THEN '2017'
249-
WHEN '15.0' THEN '2019'
250-
ELSE 'Other'
251-
END AS [version],
252-
LEFT(@Edition,CHARINDEX(' ', @Edition,0)-1) AS edition,
253-
@Cores AS cores,
254-
@HostType AS hostType;
255-
```
256-
> [!NOTE]
257-
> Verify if the **Host Type** is correct for your SQL Server instance.
258-
259-
### <a name="ps"></a> Powershell
260-
261-
To collect data from all instances in a single machine, you can use the example Powershell script [EOS_DataGenerator_LocalDiscovery.ps1](./scripts/EOS_DataGenerator_LocalDiscovery.ps1). Can be used in an Azure VM, on-premises physical server or on-premises VM.
262-
263-
> [!NOTE]
264-
> Verify if the **Host Type** is correct for your SQL Server instance before uploading the CSV file.
83+
---
26584

266-
To collect data from all instances listed in a text file, you can use the example Powershell script [EOS_DataGenerator_InputList.ps1](./scripts/EOS_DataGenerator_InputList.ps1). Refer to [ServerInstances.txt](./scripts/ServerInstances.txt) for an input text file example.
85+
## <a name="scripts"></a> ESU registration script examples
26786

268-
> [!NOTE]
269-
> Verify if the **Host Type** is correct for your SQL Server instance before uploading the CSV file.
87+
For example scripts in T-SQL and Powershell that can generate the required SQL Server instance registration information, see [ESU registration script examples](scripts.md).

0 commit comments

Comments
 (0)