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:
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)
Copy file name to clipboardExpand all lines: docs/reporting-services/application-integration/using-the-webforms-reportviewer-control.md
+14-13Lines changed: 14 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,7 +1,7 @@
1
1
---
2
2
title: "Use WebForms ReportViewer control"
3
3
description: To view reports deployed to a report server or on a local file system, you can use the WebForms ReportViewer control to render them in a Web application.
4
-
ms.date: 09/25/2024
4
+
ms.date: 03/18/2026
5
5
ms.service: reporting-services
6
6
ms.subservice: application-integration
7
7
ms.topic: reference
@@ -11,11 +11,12 @@ helpviewer_keywords:
11
11
- "ReportViewer controls"
12
12
---
13
13
# Use the WebForms ReportViewer control
14
-
To view reports deployed to a report server or reports that exist on the local file system, you can use the WebForms ReportViewer control to render them in a Web application.
14
+
15
+
The WebForms ReportViewer control renders reports deployed to a report server or stored on the local file system in a Web application.
15
16
16
17
## Use the ReportViewer control in a Web application
17
18
18
-
1. Create a new [!INCLUDE[msCoName](../../includes/msconame-md.md)] ASP.NET Web Site using either [!INCLUDE[msCoName](../../includes/msconame-md.md)][!INCLUDE[c-sharp](../../includes/c-sharp-md.md)] or [!INCLUDE[msCoName](../../includes/msconame-md.md)][!INCLUDE[visual-basic](../../includes/visual-basic-md.md)].
19
+
1. Create a new [!INCLUDE[msCoName](../../includes/msconame-md.md)] ASP.NET Web Site by using either [!INCLUDE[msCoName](../../includes/msconame-md.md)][!INCLUDE[c-sharp](../../includes/c-sharp-md.md)] or [!INCLUDE[msCoName](../../includes/msconame-md.md)][!INCLUDE[visual-basic](../../includes/visual-basic-md.md)].
19
20
20
21
\- Or -
21
22
@@ -29,11 +30,11 @@ helpviewer_keywords:
29
30
30
31
The **ReportViewer** control named reportViewer1 is added to the form.
31
32
32
-
After the control is added to the form, the **ReportViewer Tasks** smart tag appears, prompting you to select a report. If the report you wish to view is deployed to a report server, select the **\<Server Report>** option from the **Choose Report** drop-down list. Once the **\<Server Report>** option is selected two more properties appear,**Report Server Url** and **Report Path**. The **Report Server Url** is the address to the report server and the **Report Path** is the full path to the report you want to render.
33
+
After you add the control to the form, the **ReportViewer Tasks** smart tag appears and prompts you to select a report. If the report you want to view is deployed to a report server, select the **\<Server Report>** option from the **Choose Report** drop-down list. After you select the **\<Server Report>** option, two more properties appear:**Report Server Url** and **Report Path**. The **Report Server Url** is the address to the report server, and the **Report Path** is the full path to the report you want to render.
33
34
34
-
If you want to view a report in local mode, select either the **Design a new report** option to launch the report designer or select a report that is already part of the existing project. After you select a report, be sure to enter the name of the report RDLC file in the **ReportPath** property of the ReportViewer control. This property appears under the **LocalReport** node in the **Properties** pane.
35
+
If you want to view a report in local mode, select either the **Design a new report** option to launch the report designer or select a report that's already part of the existing project. After you select a report, enter the name of the report RDLC file in the **ReportPath** property of the ReportViewer control. This property appears under the **LocalReport** node in the **Properties** pane.
35
36
36
-
You have the option of hiding one or more of the items on the ReportViewer toolbar when the report is rendered. For example, you can hide the print button. To hide toolbar items, set the following ReportViewer properties to **False** in the **Properties** pane.
37
+
You can hide one or more items on the ReportViewer toolbar when you render the report. For example, to hide the print button, set the following ReportViewer properties to **False** in the **Properties** pane.
37
38
38
39
-**ShowBackButton**
39
40
@@ -50,9 +51,9 @@ helpviewer_keywords:
50
51
-**ShowZoomControl**
51
52
52
53
## View reports in remote processing mode
53
-
The following example demonstrates how to render a report that is deployed to a report server. This example uses the Sales Order Detail report that is included with the [!INCLUDE[ssSampleDBobject](../../includes/sssampledbobject-md.md)] sample reports project.
54
+
The following example demonstrates how to render a report deployed to a report server. This example uses the Sales Order Detail report included with the [!INCLUDE[ssSampleDBobject](../../includes/sssampledbobject-md.md)] sample reports project.
54
55
55
-
The example uses integrated Windows Authentication so you first must enable impersonation. To do this insert the following line into the **web.config** file:
56
+
The example uses integrated Windows Authentication, so you must first enable impersonation. To enable it, insert the following line into the **web.config** file:
56
57
57
58
```
58
59
<!-- Web.config file. -->
@@ -132,11 +133,11 @@ End Class
132
133
```
133
134
134
135
## View reports in local processing mode
135
-
The following example demonstrates how to render a report that is part of the Windows application and isn't deployed to a report server.
136
+
The following example demonstrates how to render a report that's part of the Windows application and isn't deployed to a report server.
136
137
137
138
###### To add the Sales Order Detail report to a Web site
138
139
139
-
1. Open the Web Site that the report will be added to.
140
+
1. Open the Web Site where you want to add the report.
140
141
141
142
2. From the **Website** menu, select **Add Existing Item**.
142
143
@@ -146,11 +147,11 @@ End Class
146
147
147
148
4. Select the Sales Order Detail.rdl file and select the **Add** button.
148
149
149
-
The Sales Order Detail.rdl file should now be part of the project.
150
+
The Sales Order Detail.rdl file is now part of the project.
150
151
151
152
5. Right-click the Sales Order Detail.rdl file in Solution Explorer and select **Rename**. Rename the report to **Sales Order Detail.rdlc** and press ENTER.
152
153
153
-
If Solution Explorer isn't visible, you can open it from the **View** menu by selecting Solution Explorer.
154
+
If Solution Explorer isn't visible, you can open it from the **View** menu by selecting **Solution Explorer**.
154
155
155
156
The following code example creates a dataset for the sales order data and then renders the Sales Order Detail report in local mode.
0 commit comments