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
This article explains how to configure a service principal so it can create Microsoft Entra users in Azure SQL Database. This capability enables programmatic configuration of access management to Azure SQL resources for users and applications in your Microsoft Entra tenant.
22
+
This article explains how to configure a service principal so it can create Microsoft Entra users in Azure SQL Database. This capability lets you programmatically manage access to Azure SQL resources for users and applications in your Microsoft Entra tenant.
23
23
24
24
[!INCLUDE [entra-id](../includes/entra-id.md)]
25
25
26
-
For more information on Microsoft Entra authentication for Azure SQL, see the article [Use Microsoft Entra authentication](authentication-aad-overview.md).
26
+
For more information on Microsoft Entra authentication for Azure SQL, see [Use Microsoft Entra authentication](authentication-aad-overview.md).
27
27
28
28
In this tutorial, you learn how to:
29
29
@@ -36,7 +36,7 @@ In this tutorial, you learn how to:
36
36
37
37
## Prerequisites
38
38
39
-
- An existing [Azure SQL Database](single-database-create-quickstart.md) deployment. We assume you have a working SQL Database for this tutorial.
39
+
- An existing [Azure SQL Database](single-database-create-quickstart.md) deployment. This tutorial assumes you have a working SQL Database.
40
40
- Microsoft Entra `Privileged Role Administrator` permissions in the tenant where your SQL database resides.
41
41
- The latest version of the [Az.Sql](https://www.powershellgallery.com/packages/Az.Sql/) PowerShell module.
42
42
- The latest version of the [Microsoft.Graph](https://www.powershellgallery.com/packages/Microsoft.Graph) PowerShell module.
@@ -70,7 +70,7 @@ In this tutorial, you learn how to:
70
70
$xyz.identity
71
71
```
72
72
73
-
Your output should show you`PrincipalId`, `Type`, and `TenantId`. The identity assigned is the `PrincipalId`.
73
+
Your output shows`PrincipalId`, `Type`, and `TenantId`. The identity assigned is the `PrincipalId`.
74
74
75
75
1. You can also check the identity by going to the [Azure portal](https://portal.azure.com).
76
76
@@ -190,7 +190,7 @@ Connect to your SQL Database using a Microsoft Entra identity that has permissio
190
190
GO
191
191
```
192
192
193
-
1.In order to create other Microsoft Entra users, at minimum, the `ALTER ANY USER` SQL permission is required. This permission is also inherited through membership in `db_owner`, and through assignment as the Microsoft Entra admin. The following examples demonstrate three different options to assign permissions to *DBOwnerApp* that allow it to create other Microsoft Entra users in the database.
193
+
1.To create other Microsoft Entra users, at minimum, the `ALTER ANY USER` SQL permission is required. This permission is also inherited through membership in `db_owner`, and through assignment as the Microsoft Entra admin. The following examples demonstrate three different options to assign permissions to *DBOwnerApp* that allow it to create other Microsoft Entra users in the database.
194
194
195
195
You can add *DBOwnerApp* to the `db_owner` role with [sp_addrolemember](/sql/relational-databases/system-stored-procedures/sp-addrolemember-transact-sql):
196
196
@@ -206,7 +206,7 @@ Connect to your SQL Database using a Microsoft Entra identity that has permissio
206
206
GO
207
207
```
208
208
209
-
You can set the *DBOwnerApp* as the Microsoft Entra admin. This can be done using the Azure portal, PowerShell, or Azure CLI commands. For more information, see [Set Microsoft Entra admin](authentication-aad-configure.md#azure-sql-database-and-azure-synapse-analytics).
209
+
You can set the *DBOwnerApp* as the Microsoft Entra admin. Use the Azure portal, PowerShell, or Azure CLI commands. For more information, see [Set Microsoft Entra admin](authentication-aad-configure.md#azure-sql-database-and-azure-synapse-analytics).
@@ -220,6 +220,9 @@ Connect to your SQL Database using a Microsoft Entra identity that has permissio
220
220
- Replace `<ServerName>` with your logical server name. If your server name is `myserver.database.windows.net`, replace `<ServerName>` with `myserver`.
221
221
- Replace `<database name>` with your SQL Database name.
222
222
223
+
> [!NOTE]
224
+
> The following script requires the **Microsoft.Data.SqlClient** assembly. Install it from the [NuGet package](https://www.nuget.org/packages/Microsoft.Data.SqlClient) and load the DLL with `Add-Type -Path "path\to\Microsoft.Data.SqlClient.dll"` before running the script.
225
+
223
226
```powershell
224
227
# PowerShell script for creating a new SQL user called myapp using application DBOwnerApp with secret
225
228
# DBOwnerApp is an admin for the server
@@ -242,7 +245,7 @@ Connect to your SQL Database using a Microsoft Entra identity that has permissio
242
245
$DatabaseName = "<database name>" # Azure SQL database name
Alternatively, you can use the following code: [Microsoft Entra service principal authentication to Azure SQL Database](https://techcommunity.microsoft.com/t5/azure-sql-database/azure-ad-service-principal-authentication-to-sql-db-code-sample/ba-p/481467). Modify the script to execute the DDL statement `CREATE USER [myapp] FROM EXTERNAL PROVIDER`. The same script can be used to create a Microsoft Entra user or group in your database.
265
+
Alternatively, you can use the following code: [Microsoft Entra service principal authentication to Azure SQL Database](https://techcommunity.microsoft.com/t5/azure-sql-database/azure-ad-service-principal-authentication-to-sql-db-code-sample/ba-p/481467). Modify the script to execute the DDL statement `CREATE USER [myapp] FROM EXTERNAL PROVIDER`. Use the same script to create a Microsoft Entra user or group in your database.
263
266
264
267
1. Check if the user *myapp* exists in the database by executing the following command:
PolyBase on APS supports reading and writing to Hadoop (HDFS) file system and Azure Blob Storage. PolyBase also has the ability to push some computation to Hadoop nodes as mapreduce jobs to optimize the overall query performance. PolyBase on APS can operate on delimited text, ORC and Parquet files. See [What is PolyBase](../relational-databases/polybase/polybase-guide.md) for a full description and its capabilities.
18
+
PolyBase on APS supports reading and writing to Hadoop (HDFS) file system and Azure Blob Storage. PolyBase also has the ability to push some computation to Hadoop nodes as mapreduce jobs to optimize the overall query performance. PolyBase on APS can operate on delimited text, ORC and Parquet files. See [What is PolyBase](../relational-databases/polybase/overview.md) for a full description and its capabilities.
19
19
20
20
> [!NOTE]
21
21
> APS currently only supports standard general purpose v1 locally redundant (LRS) Azure Blob Storage.
Copy file name to clipboardExpand all lines: docs/database-engine/configure-windows/allow-polybase-export.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,7 @@ The `allow polybase export` server configuration option allows the export of dat
18
18
19
19
- In [!INCLUDE [sssql22-md](../../includes/sssql22-md.md)] and later versions, the [CREATE EXTERNAL TABLE AS SELECT](../../t-sql/statements/create-external-table-as-select-transact-sql.md) (CETAS) statement requires that you enable `allow polybase export` using `sp_configure`. This setting allows for data to be exported to a CSV or Parquet file. For examples, see [Use CREATE EXTERNAL TABLE AS SELECT exporting data as parquet](../../t-sql/statements/create-external-table-as-select-transact-sql.md#d-use-create-external-table-as-select-exporting-data-as-parquet).
20
20
21
-
- In [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)] and earlier versions, enabling `allow polybase export` allows Hadoop to export data out of [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] to an external table. For more information, see [PolyBase connectors](../../relational-databases/polybase/polybase-guide.md#polybase-connectors) and [Export data](../../relational-databases/polybase/polybase-queries.md#export-data).
21
+
- In [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)] and earlier versions, enabling `allow polybase export` allows Hadoop to export data out of [!INCLUDE [ssnoversion-md](../../includes/ssnoversion-md.md)] to an external table. For more information, see [PolyBase connectors](../../relational-databases/polybase/overview.md#polybase-connectors) and [Export data](../../relational-databases/polybase/polybase-queries.md#export-data).
22
22
23
23
The possible values are described in the following table:
Copy file name to clipboardExpand all lines: docs/database-engine/install-windows/install-sql-server-database-engine.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
@@ -56,7 +56,7 @@ The following features are installed when you select **SQL Server Database Engin
56
56
> [!NOTE]
57
57
> In this release, selecting the **Data Quality Services** check box in setup doesn't install the Data Quality Services (DQS) server. You'll have to perform additional steps post installation to install DQS server. For more information, see [Install Data Quality Services](../../data-quality-services/install-windows/install-data-quality-services.md).
58
58
59
-
-[Data virtualization with PolyBase in SQL Server](../../relational-databases/polybase/polybase-guide.md) is an optional component. In [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)], a Java connector for HDFS data sources is also available.
59
+
-[Data virtualization with PolyBase in SQL Server](../../relational-databases/polybase/overview.md) is an optional component. In [!INCLUDE [sssql19-md](../../includes/sssql19-md.md)], a Java connector for HDFS data sources is also available.
60
60
61
61
The following additional features are options for many typical user scenarios:
Copy file name to clipboardExpand all lines: docs/master-data-services/develop/create-a-custom-workflow-example.md
+7-6Lines changed: 7 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,7 +4,7 @@ description: Create a Custom Workflow - Example
4
4
author: meetdeepak
5
5
ms.author: dkhare
6
6
ms.reviewer: mikeray
7
-
ms.date: 03/05/2026
7
+
ms.date: 03/18/2026
8
8
ms.service: sql
9
9
ms.subservice: master-data-services
10
10
ms.topic: reference
@@ -19,16 +19,16 @@ ms.custom:
19
19
20
20
In [!INCLUDE[ssMDSshort](../../includes/ssmdsshort-md.md)], when you create a custom workflow class library, you create a class that implements the Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender interface. This interface includes one method, [Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow*](/previous-versions/sql/sql-server-2016/hh759009(v=sql.130)) , that is called by SQL Server MDS Workflow Integration Service when a workflow starts. The [Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow*](/previous-versions/sql/sql-server-2016/hh759009(v=sql.130)) method contains two parameters: *workflowType* contains the text you entered in the **Workflow type** text box in [!INCLUDE[ssMDSmdm](../../includes/ssmdsmdm-md.md)], and *dataElement* contains metadata and item data for the item that triggered the workflow business rule.
21
21
22
-
## Custom Workflow Example
23
-
The following code example shows how you how to implement the [Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow*](/previous-versions/sql/sql-server-2016/hh759009(v=sql.130)) method to extract the Name, Code, and LastChgUserName attributes from the XML data for the element that triggered the workflow business rule, and how to call a stored procedure to insert them into another database. For an example of the item data XML and an explanation of the tags it contains, see [Custom Workflow XML Description (Master Data Services)](../../master-data-services/develop/create-a-custom-workflow-xml-description.md).
22
+
## Custom workflow example
23
+
The following code example shows how to implement the [Microsoft.MasterDataServices.WorkflowTypeExtender.IWorkflowTypeExtender.StartWorkflow*](/previous-versions/sql/sql-server-2016/hh759009(v=sql.130)) method to extract the Name, Code, and LastChgUserName attributes from the XML data for the element that triggered the workflow business rule, and how to call a stored procedure to insert them into another database. For an example of the item data XML and an explanation of the tags it contains, see [Custom Workflow XML Description (Master Data Services)](../../master-data-services/develop/create-a-custom-workflow-xml-description.md).
24
24
25
25
```csharp
26
26
usingSystem;
27
27
usingSystem.Collections.Generic;
28
28
usingSystem.Linq;
29
29
usingSystem.Text;
30
30
usingSystem.IO;
31
-
usingSystem.Data.SqlClient;
31
+
usingMicrosoft.Data.SqlClient;
32
32
usingSystem.Xml;
33
33
34
34
usingMicrosoft.MasterDataServices.Core.Workflow;
@@ -67,5 +67,6 @@ namespace MDSWorkflowTestLib
67
67
}
68
68
```
69
69
70
-
## See Also
71
-
[Create a Custom Workflow (Master Data Services)](../../master-data-services/develop/create-a-custom-workflow-master-data-services.md)
70
+
## Related content
71
+
72
+
-[Create a Custom Workflow (Master Data Services)](../../master-data-services/develop/create-a-custom-workflow-master-data-services.md)
0 commit comments