You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: azure-sql/database/auditing-overview.md
+11-4Lines changed: 11 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,10 +2,10 @@
2
2
title: Auditing
3
3
titleSuffix: Azure SQL Database and Azure Synapse Analytics
4
4
description: SQL Auditing for Azure SQL Database and Azure Synapse Analytics tracks database events and writes them to an audit log in your Azure storage account, Log Analytics workspace, or Event Hubs.
5
-
author: sravanisaluru
6
-
ms.author: srsaluru
7
-
ms.reviewer: wiassaf, vanto, mathoma
8
-
ms.date: 09/04/2025
5
+
author: WilliamDAssafMSFT
6
+
ms.author: wiassaf
7
+
ms.reviewer: srsaluru, vanto, mathoma
8
+
ms.date: 12/19/2025
9
9
ms.service: azure-sql-database
10
10
ms.subservice: security
11
11
ms.topic: conceptual
@@ -54,6 +54,13 @@ You can use SQL Database auditing to:
54
54
- Permissions required to view Audit logs:
55
55
-`VIEW DATABASE SECURITY AUDIT` permission in user database
56
56
57
+
### Recommended auditing approach for large OLTP workloads
58
+
59
+
For environments with many databases running heavy OLTP workloads, using server‑level auditing with default settings can lead to very large audit volumes across the logical server. Since all events from all databases are written into the same audit folder, querying audit logs for a single database becomes slow and operationally expensive. To improve performance and reduce noise:
60
+
61
+
-**Switch to database‑level auditing**. Each database writes to its own audit log folder, reducing the total volume scanned and making retrieval faster.
62
+
-**Review the audit configuration**. Determine whether capturing all batch‑completed events is necessary, or if a custom filtered configuration can meet your security and compliance requirements.
63
+
57
64
## Auditing limitations
58
65
59
66
- Enabling auditing on a paused **Azure Synapse SQL pool** isn't supported. To enable auditing, resume the **Synapse SQL pool**.
@@ -142,7 +142,7 @@ For information on recovery times, see [RTO and RPO](business-continuity-high-av
142
142
|---|---|---|---|
143
143
|**Types of SQL backup**| Full, differential, log. | Most recent geo-replicated copies of PITR backups. | Only the full backups. |
144
144
|**Retention**| 7 days by default, configurable between 1 and 35 days (except Basic databases, which are configurable between 1 and 7 days). | Enabled by default, same as source.<sup>2</sup>| Not enabled by default. Retention is up to 10 years. |
145
-
|**Azure Storage**| Geo-redundant by default. You can optionally configure zone-redundant or locally redundant storage. | Available when PITR backup storage redundancy is set to geo-redundant. Not available when PITR backup storage is zone-redundant or locally redundant. | Geo-redundant by default. You can configure zone-redundant or locally redundant storage. |
145
+
|**Azure Storage**| Geo-redundant by default. You can optionally configure zone-redundant or locally redundant storage. | Available when PITR backup storage redundancy is set to geo-redundant or geo-zone redundant (GZRS). Not available when PITR backup storage is zone-redundant or locally redundant. | Geo-redundant by default. You can configure zone-redundant or locally redundant storage. |
146
146
|**Configure backups as [immutable](/azure/storage/blobs/immutable-storage-overview)**| Not supported | Not supported |[Supported](backup-immutability.md)|
147
147
|**Restoring a new database in the same region**| Supported | Supported | Supported |
148
148
|**Restoring a new database in another region**| Not supported | Supported in any Azure region | Supported in any Azure region |
description: Learn how to connect Microsoft Excel to a database in Azure SQL Database or Azure SQL Managed Instance. Import data into Excel for reporting and data exploration.
You can connect Excel to a database and then import data and create tables and charts based on values in the database. In this tutorial you will set up the connection between Excel and a database table, save the file that stores data and the connection information for Excel, and then create a pivot chart from the database values.
23
23
24
-
You'll need to create a database before you get started. If you don't have one, see [Create a database in Azure SQL Database](single-database-create-quickstart.md) and [Create server-level IP firewall](firewall-create-server-level-portal-quickstart.md) to get a database with sample data up and running in a few minutes.
24
+
You'll need to create a database before you get started. If you don't have one:
25
+
26
+
- You can [create a database in Azure SQL Database](single-database-create-quickstart.md) and [Create server-level IP firewall](firewall-create-server-level-portal-quickstart.md) to get a database with sample data up and running in a few minutes. Use the [Deploy Azure SQL Database for free](free-offer.md) to create a free Azure SQL Database for the life of your subscription.
27
+
- You can also [try Azure SQL Managed Instance for free](../managed-instance/free-offer.md).
28
+
- You can also [create a SQL database in Microsoft Fabric in the Fabric portal](/fabric/database/sql/create).
25
29
26
30
In this article, you'll import sample data into Excel from that article, but you can follow similar steps with your own data.
27
31
@@ -34,7 +38,11 @@ You'll also need a copy of Excel. This article uses [Microsoft Excel 2016](https
34
38
35
39
:::image type="content" source="media/connect-excel/excel-data-source.png" alt-text="Screenshot of the screen to Select data source: Connect Excel to SQL Database.":::
36
40
37
-
1. In the **SQL Server database** dialog box, type the **Server name** you want to connect to in the form `<servername>.database.windows.net`. Optionally, enter in the name of your database. Select **OK** to open the credentials window.
41
+
1. In the **SQL Server database** dialog box, type the **Server name** you want to connect to.
42
+
- In Azure SQL Database, this looks like: `<servername>.database.windows.net`.
43
+
- In Azure SQL Managed Instance, this looks like: `<your-instance-name>.<unique-dns-prefix>.database.windows.net`.
44
+
- In SQL database in Fabric, this looks like: `<server-unique-identifier>.<tenant>.fabric.microsoft.com`.
45
+
1. Optionally, enter in the name of your database. Select **OK** to open the credentials window.
38
46
1. In the **SQL Server database** dialog box, select **Database** on the left side, and then enter in your **User Name** and **Password** for the server you want to connect to. Select **Connect** to open the **Navigator**.
39
47
40
48
> [!TIP]
@@ -92,5 +100,4 @@ To save the connection details permanently, you can create an .odc file and make
92
100
## Related content
93
101
94
102
-[Quickstart: Use SSMS to connect to and query Azure SQL Database or Azure SQL Managed Instance](connect-query-ssms.md)
95
-
-[Elastic pools](elastic-pool-overview.md)
96
-
-[create a web application that connects to Azure SQL Database on the back-end](/azure/app-service/app-service-web-tutorial-dotnet-sqldatabase)
103
+
-[Create a web application that connects to Azure SQL Database on the back-end](/azure/app-service/app-service-web-tutorial-dotnet-sqldatabase)
This article demonstrates creating a sample application that uses Java and [JDBC](https://en.wikipedia.org/wiki/Java_Database_Connectivity) to store and retrieve information in [Azure SQL Database](/azure/sql-database/).
23
+
This article demonstrates creating a sample application that uses Java and [JDBC](https://wikipedia.org/wiki/Java_Database_Connectivity) to store and retrieve information in [Azure SQL Database](/azure/sql-database/).
24
24
25
25
JDBC is the standard Java API to connect to traditional relational databases.
This article provides steps to restore an Azure SQL Database server, also known as a logical server, if it was accidentally deleted.
22
22
23
23
> [!IMPORTANT]
24
-
> Currently, the ability to restore a deleted logical server is in preview. The ability to restore a deleted logical server is enabled only for specific subscriptions, and also for all SQL logical servers that are at least two years old.
24
+
> Currently, the ability to restore or hard delete a deleted logical server is in preview. The ability to restore or hard-delete a deleted logical server is enabled only for specific subscriptions, and also for all SQL logical servers that are at least two years old.
25
+
26
+
## Restore an Azure SQL Database logical server
25
27
26
28
You can restore a deleted Azure SQL logical server and its underlying databases with one of the following two methods:
27
29
28
-
## Restore an Azure SQL Database logical server using PowerShell and REST API
30
+
###Restore an Azure SQL Database logical server using PowerShell and REST API
29
31
30
32
Follow these steps to set up the variables needed to restore the deleted logical server, using PowerShell to invoke a REST API call.
31
33
@@ -64,7 +66,7 @@ Follow these steps to set up the variables needed to restore the deleted logical
64
66
Invoke-AzRestMethod -Path $path -Method PUT -Payload $body
65
67
```
66
68
67
-
## Restore an Azure SQL Database logical server using PowerShell
69
+
###Restore an Azure SQL Database logical server using PowerShell
68
70
69
71
Use the following steps to restore your deleted Azure SQL logical server using [Restore-AzSqlServer](/powershell/module/az.sql/restore-azsqldatabase).
70
72
@@ -114,7 +116,11 @@ Once the logical server is restored, restoring the databases is next. Look in th
## Delete the logical server without possibility of recovery using PowerShell and REST API
119
+
## Delete the logical server without possibility of recovery
120
+
121
+
The ability to hard-delete your logical server, without the possibility of recovery, is currently a limited preview feature enabled only for specific subscriptions, and also for all SQL logical servers that are at least two years old.
122
+
123
+
### Hard-delete a logical server using PowerShell and REST API
118
124
119
125
Follow these steps to set up the variables needed to hard-delete the soft-deleted logical server, using PowerShell to invoke a REST API call.
Copy file name to clipboardExpand all lines: azure-sql/database/dynamic-data-masking-configure-portal.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -23,7 +23,7 @@ This article shows you how to implement [dynamic data masking](dynamic-data-mask
23
23
24
24
## Enable dynamic data masking
25
25
26
-
1. Launch the Azure portal at [https://portal.azure.com](https://portal.azure.com).
26
+
1. Launch the [Azure portal](https://portal.azure.com).
27
27
1. Go to your database resource in the Azure portal.
28
28
1. Under the **Security** section, select **Dynamic Data Masking**.
29
29
1. In the **Dynamic Data Masking** configuration page, you might see some database columns that the recommendations engine has flagged for masking. In order to accept the recommendations, select **Add Mask** for one or more columns, and a mask is created based on the default type for this column. You can change the masking function by selecting on the masking rule and editing the masking field format to a different format of your choice. Select **Save** to save your settings. In the following screenshot, you can see recommended dynamic data masks for the sample `AdventureWorksLT` database.
Copy file name to clipboardExpand all lines: azure-sql/database/elastic-jobs-overview.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -303,7 +303,7 @@ Set the number of concurrent databases a job runs on by setting the `sp_add_jobs
303
303
304
304
### Idempotent scripts
305
305
306
-
An elastic job's T-SQL scripts must be [idempotent](https://en.wikipedia.org/wiki/Idempotence). **Idempotent** means that if the script succeeds, and it's run again, the same result occurs. A script can fail due to transient network issues. In that case, the job will automatically retry running the script a preset number of times before desisting. An idempotent script has the same result even if it's been successfully run twice (or more).
306
+
An elastic job's T-SQL scripts must be [idempotent](https://wikipedia.org/wiki/Idempotence). **Idempotent** means that if the script succeeds, and it's run again, the same result occurs. A script can fail due to transient network issues. In that case, the job will automatically retry running the script a preset number of times before desisting. An idempotent script has the same result even if it's been successfully run twice (or more).
307
307
308
308
A simple tactic is to test for the existence of an object before creating it. The following is a hypothetical example:
0 commit comments