Skip to content

Commit e022cc5

Browse files
committed
Updating SQL user voice links
1 parent 8601f3e commit e022cc5

10 files changed

+92
-99
lines changed

articles/azure-sql/database/elastic-convert-to-use-elastic-tools.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ For information on common data architecture patterns of multi-tenant software-as
163163

164164
## Questions and feature requests
165165

166-
For questions, use the [Microsoft Q&A question page for SQL Database](/answers/topics/azure-sql-database.html) and for feature requests, add them to the [SQL Database feedback forum](https://feedback.azure.com/forums/217321-sql-database/).
166+
For questions, use the [Microsoft Q&A question page for SQL Database](/answers/topics/azure-sql-database.html) and for feature requests, add them to the [SQL Database feedback forum](https://feedback.azure.com/d365community/forum/04fe6ee0-3b25-ec11-b6e6-000d3a4f0da0).
167167

168168
<!--Image references-->
169169
[1]: ./media/elastic-convert-to-use-elastic-tools/listmapping.png

articles/azure-sql/database/elastic-transactions-overview.md

Lines changed: 42 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
---
22
title: Distributed transactions across cloud databases (preview)
33
description: Overview of Elastic Database Transactions with Azure SQL Database and Azure SQL Managed Instance.
4-
services: sql-database
54
ms.service: sql-database
65
ms.subservice: scale-out
76
ms.custom: sqldbrb=1
8-
ms.devlang:
97
ms.topic: conceptual
108
author: scoriani
119
ms.author: scoriani
@@ -77,7 +75,7 @@ Note that the installer for .NET 4.6.1 may require more temporary storage during
7775

7876
### Multi-database applications
7977

80-
The following sample code uses the familiar programming experience with .NET System.Transactions. The TransactionScope class establishes an ambient transaction in .NET. (An ambient transaction is one that lives in the current thread.) All connections opened within the TransactionScope participate in the transaction. If different databases participate, the transaction is automatically elevated to a distributed transaction. The outcome of the transaction is controlled by setting the scope to complete to indicate a commit.
78+
The following sample code uses the familiar programming experience with .NET System.Transactions. The TransactionScope class establishes an ambient transaction in .NET. (An "ambient transaction" is one that lives in the current thread.) All connections opened within the TransactionScope participate in the transaction. If different databases participate, the transaction is automatically elevated to a distributed transaction. The outcome of the transaction is controlled by setting the scope to complete to indicate a commit.
8179

8280
```csharp
8381
using (var scope = new TransactionScope())
@@ -175,51 +173,51 @@ The following sample Transact-SQL code uses [BEGIN DISTRIBUTED TRANSACTION](/sql
175173
Here is an example where transaction is explicitly promoted to distributed transaction with Transact-SQL.
176174

177175
```csharp
178-
using (TransactionScope s = new TransactionScope())
179-
{
180-
using (SqlConnection conn = new SqlConnection(DB0_ConnectionString)
181-
{
182-
conn.Open();
183-
184-
// Transaction is here promoted to distributed by BEGIN statement
185-
//
186-
Helper.ExecuteNonQueryOnOpenConnection(conn, "BEGIN DISTRIBUTED TRAN");
187-
// ...
188-
}
189-
 
190-
using (SqlConnection conn2 = new SqlConnection(DB1_ConnectionString)
191-
{
192-
conn2.Open();
193-
// ...
194-
}
195-
196-
s.Complete();
197-
}
176+
using (TransactionScope s = new TransactionScope())
177+
{
178+
using (SqlConnection conn = new SqlConnection(DB0_ConnectionString)
179+
{
180+
conn.Open();
181+
182+
// Transaction is here promoted to distributed by BEGIN statement
183+
//
184+
Helper.ExecuteNonQueryOnOpenConnection(conn, "BEGIN DISTRIBUTED TRAN");
185+
// ...
186+
}
187+
 
188+
using (SqlConnection conn2 = new SqlConnection(DB1_ConnectionString)
189+
{
190+
conn2.Open();
191+
// ...
192+
}
193+
194+
s.Complete();
195+
}
198196
```
199197

200198
Following example shows a transaction that is implicitly promoted to distributed transaction once the second SqlConnecton was started within the TransactionScope.
201199

202200
```csharp
203-
using (TransactionScope s = new TransactionScope())
204-
{
205-
using (SqlConnection conn = new SqlConnection(DB0_ConnectionString)
206-
{
207-
conn.Open();
208-
// ...
209-
}
210-
211-
using (SqlConnection conn = new SqlConnection(DB1_ConnectionString)
212-
{
213-
// Because this is second SqlConnection within TransactionScope transaction is here implicitly promoted distributed.
214-
//
215-
conn.Open();
216-
Helper.ExecuteNonQueryOnOpenConnection(conn, "BEGIN DISTRIBUTED TRAN");
217-
Helper.ExecuteNonQueryOnOpenConnection(conn, lsQuery);
218-
// ...
219-
}
220-
221-
s.Complete();
222-
}
201+
using (TransactionScope s = new TransactionScope())
202+
{
203+
using (SqlConnection conn = new SqlConnection(DB0_ConnectionString)
204+
{
205+
conn.Open();
206+
// ...
207+
}
208+
209+
using (SqlConnection conn = new SqlConnection(DB1_ConnectionString)
210+
{
211+
// Because this is second SqlConnection within TransactionScope transaction is here implicitly promoted distributed.
212+
//
213+
conn.Open();
214+
Helper.ExecuteNonQueryOnOpenConnection(conn, "BEGIN DISTRIBUTED TRAN");
215+
Helper.ExecuteNonQueryOnOpenConnection(conn, lsQuery);
216+
// ...
217+
}
218+
219+
s.Complete();
220+
}
223221
```
224222

225223
## Transactions across multiple servers for Azure SQL Database
@@ -274,8 +272,7 @@ The following limitations currently apply to distributed transactions in Managed
274272
![Private endpoint connectivity limitation][4]
275273
## Next steps
276274

277-
* For questions, reach out to us on the [Microsoft Q&A question page for SQL Database](/answers/topics/azure-sql-database.html).
278-
* For feature requests, add them to the [SQL Database feedback forum](https://feedback.azure.com/forums/217321-sql-database/) or [Managed Instance forum](https://feedback.azure.com/forums/915676-sql-managed-instance).
275+
* For questions, reach out to us on the [Microsoft Q&A question page for SQL Database](/answers/topics/azure-sql-database.html).https://feedback.azure.com/d365community/forum/04fe6ee0-3b25-ec11-b6e6-000d3a4f0da0) or [Managed Instance forum](https://feedback.azure.com/forums/915676-sql-managed-instance).
279276
280277

281278

articles/azure-sql/database/saas-tenancy-elastic-tools-multi-tenant-row-level-security.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
---
22
title: Multi-tenant apps with RLS and elastic database tools
33
description: Use elastic database tools with row-level security to build an application with a highly scalable data tier.
4-
services: sql-database
54
ms.service: sql-database
65
ms.subservice: scenario
76
ms.custom: sqldbrb=1
@@ -40,7 +39,7 @@ The goal is to use the elastic database client library [data-dependent routing](
4039

4140
This project extends the one described in [Elastic DB Tools for Azure SQL - Entity Framework Integration](elastic-scale-use-entity-framework-applications-visual-studio.md) by adding support for multi-tenant shard databases. The project builds a simple console application for creating blogs and posts. The project includes four tenants, plus two multi-tenant shard databases. This configuration is illustrated in the preceding diagram.
4241

43-
Build and run the application. This run bootstraps the elastic database tools shard map manager, and performs the following tests:
42+
Build and run the application. This run bootstraps the elastic database tools' shard map manager, and performs the following tests:
4443

4544
1. Using Entity Framework and LINQ, create a new blog and then display all blogs for each tenant
4645
2. Using ADO.NET SqlClient, display all blogs for a tenant
@@ -233,7 +232,7 @@ CREATE FUNCTION rls.fn_tenantAccessPredicate(@TenantId int)
233232
WITH SCHEMABINDING
234233
AS
235234
RETURN SELECT 1 AS fn_accessResult
236-
-- Use the user in your applications connection string.
235+
-- Use the user in your application's connection string.
237236
-- Here we use 'dbo' only for demo purposes!
238237
WHERE DATABASE_PRINCIPAL_ID() = DATABASE_PRINCIPAL_ID('dbo')
239238
AND CAST(SESSION_CONTEXT(N'TenantId') AS int) = @TenantId;
@@ -340,7 +339,7 @@ GO
340339

341340
## Summary
342341

343-
Elastic database tools and row-level security can be used together to scale out an applications data tier with support for both multi-tenant and single-tenant shards. Multi-tenant shards can be used to store data more efficiently. This efficiency is pronounced where a large number of tenants have only a few rows of data. Single-tenant shards can support premium tenants which have stricter performance and isolation requirements. For more information, see [Row-Level Security reference][rls].
342+
Elastic database tools and row-level security can be used together to scale out an application's data tier with support for both multi-tenant and single-tenant shards. Multi-tenant shards can be used to store data more efficiently. This efficiency is pronounced where a large number of tenants have only a few rows of data. Single-tenant shards can support premium tenants which have stricter performance and isolation requirements. For more information, see [Row-Level Security reference][rls].
344343

345344
## Additional resources
346345

@@ -352,7 +351,7 @@ Elastic database tools and row-level security can be used together to scale out
352351

353352
## Questions and Feature Requests
354353

355-
For questions, contact us on the [Microsoft Q&A question page for SQL Database](/answers/topics/azure-sql-database.html). And add any feature requests to the [SQL Database feedback forum](https://feedback.azure.com/forums/217321-sql-database/).
354+
For questions, contact us on the [Microsoft Q&A question page for SQL Database](/answers/topics/azure-sql-database.html). And add any feature requests to the [SQL Database feedback forum](https://feedback.azure.com/d365community/forum/04fe6ee0-3b25-ec11-b6e6-000d3a4f0da0).
356355

357356
<!--Image references-->
358357
[1]: ./media/saas-tenancy-elastic-tools-multi-tenant-row-level-security/blogging-app.png

articles/synapse-analytics/sql-data-warehouse/backup-and-restore.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ order by run_id desc
4343
This feature enables you to manually trigger snapshots to create restore points of your data warehouse before and after large modifications. This capability ensures that restore points are logically consistent, which provides additional data protection in case of any workload interruptions or user errors for quick recovery time. User-defined restore points are available for seven days and are automatically deleted on your behalf. You cannot change the retention period of user-defined restore points. **42 user-defined restore points** are guaranteed at any point in time so they must be [deleted](/powershell/module/azurerm.sql/remove-azurermsqldatabaserestorepoint) before creating another restore point. You can trigger snapshots to create user-defined restore points through [PowerShell](/powershell/module/az.sql/new-azsqldatabaserestorepoint?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.jsont#examples) or the Azure portal.
4444

4545
> [!NOTE]
46-
> If you require restore points longer than 7 days, please vote for this capability [here](https://feedback.azure.com/forums/307516-sql-data-warehouse/suggestions/35114410-user-defined-retention-periods-for-restore-points). You can also create a user-defined restore point and restore from the newly created restore point to a new data warehouse. Once you have restored, you have the dedicated SQL pool online and can pause it indefinitely to save compute costs. The paused database incurs storage charges at the Azure Synapse storage rate. If you need an active copy of the restored data warehouse, you can resume which should take only a few minutes.
46+
> If you require restore points longer than 7 days, please vote for this capability [here](https://feedback.azure.com/d365community/idea/4c446fd9-0b25-ec11-b6e6-000d3a4f07b8). You can also create a user-defined restore point and restore from the newly created restore point to a new data warehouse. Once you have restored, you have the dedicated SQL pool online and can pause it indefinitely to save compute costs. The paused database incurs storage charges at the Azure Synapse storage rate. If you need an active copy of the restored data warehouse, you can resume which should take only a few minutes.
4747
4848
### Restore point retention
4949

@@ -69,7 +69,7 @@ A geo-backup is created once per day to a [paired data center](../../best-practi
6969
If you do not require geo-backups for your dedicated SQL pool, you can disable them and save on disaster recovery storage costs. To do so, refer to [How to guide: Disable geo-backups for a dedicated SQL pool (formerly SQL DW)](disable-geo-backup.md). Note that if you disable geo-backups, you will not be able to recover your dedicated SQL pool to your paired Azure region if your primary Azure data center is unavailable.
7070

7171
> [!NOTE]
72-
> If you require a shorter RPO for geo-backups, vote for this capability [here](https://feedback.azure.com/forums/307516-sql-data-warehouse). You can also create a user-defined restore point and restore from the newly created restore point to a new data warehouse in a different region. After you have restored, you have the data warehouse online and can pause it indefinitely to save compute costs. The paused database incurs storage charges at the Azure Premium Storage rate. Another common pattern for a shorter recovery point is to ingest data into primary and secondary instances of a data warehouse in parallel. In this scenario, data is ingested from a source (or sources) and persisted to two separate instances of the data warehouse (primary and secondary). To save on compute costs, you can pause the secondary instance of the warehouse. If you need an active copy of the data warehouse, you can resume, which should take only a few minutes.
72+
> If you require a shorter RPO for geo-backups, vote for this capability [here](https://feedback.azure.com/d365community/idea/dc4975e5-0b25-ec11-b6e6-000d3a4f07b8). You can also create a user-defined restore point and restore from the newly created restore point to a new data warehouse in a different region. After you have restored, you have the data warehouse online and can pause it indefinitely to save compute costs. The paused database incurs storage charges at the Azure Premium Storage rate. Another common pattern for a shorter recovery point is to ingest data into primary and secondary instances of a data warehouse in parallel. In this scenario, data is ingested from a source (or sources) and persisted to two separate instances of the data warehouse (primary and secondary). To save on compute costs, you can pause the secondary instance of the warehouse. If you need an active copy of the data warehouse, you can resume, which should take only a few minutes.
7373
7474
## Data residency
7575

@@ -99,7 +99,7 @@ To restore a deleted or paused data warehouse, you can [create a support ticket]
9999

100100
## Cross subscription restore
101101

102-
If you need to directly restore across subscription, vote for this capability [here](https://feedback.azure.com/forums/307516-sql-data-warehouse/suggestions/36256231-enable-support-for-cross-subscription-restore). Restore to a different server and ['Move'](../../azure-resource-manager/management/move-resource-group-and-subscription.md?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json) the server across subscriptions to perform a cross subscription restore.
102+
If you need to directly restore across subscription, vote for this capability [here](https://feedback.azure.com/d365community/idea/dea9ea22-0a25-ec11-b6e6-000d3a4f07b8). Restore to a different server and ['Move'](../../azure-resource-manager/management/move-resource-group-and-subscription.md?toc=/azure/synapse-analytics/sql-data-warehouse/toc.json&bc=/azure/synapse-analytics/sql-data-warehouse/breadcrumb/toc.json) the server across subscriptions to perform a cross subscription restore.
103103

104104
## Geo-redundant restore
105105

0 commit comments

Comments
 (0)