Skip to content

Commit f1de1cf

Browse files
committed
[BULK] Remove hidden non-breaking spaces from repo
1 parent 27ab10f commit f1de1cf

160 files changed

Lines changed: 898 additions & 898 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

azure-sql/database/automated-backups-overview.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -120,23 +120,23 @@ Automatic backups on secondary replicas:
120120

121121
This table summarizes the capabilities and features of [point-in-time restore (PITR)](recovery-using-backups.md#point-in-time-restore), [geo-restore](recovery-using-backups.md#geo-restore), and [long-term retention](long-term-retention-overview.md).
122122

123-
| Backup property | PITR | Geo-restore | LTR |
123+
| Backup property | PITR | Geo-restore | LTR |
124124
|---|---|---|---|
125125
| **Types of SQL backup** | Full, differential, log. | Most recent geo-replicated copies of PITR backups. | Only the full backups. |
126-
| **Recovery point objective (RPO)** | 10 minutes, based on compute size and amount of database activity. | Up to 1 hour, based on geo-replication. <sup>1</sup> | One week (or user's policy).|
127-
| **Recovery time objective (RTO)** | Restore usually takes less than 12 hours but could take longer, depending on size and activity. See [Recovery](recovery-using-backups.md#recovery-time). | Restore usually takes less than 12 hours but could take longer, depending on size and activity. See [Recovery](recovery-using-backups.md#recovery-time). | Restore usually takes less than 12 hours but could take longer, depending on size and activity. See [Recovery](recovery-using-backups.md#recovery-time). |
128-
| **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. |
129-
| **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. |
126+
| **Recovery point objective (RPO)** | 10 minutes, based on compute size and amount of database activity. | Up to 1 hour, based on geo-replication. <sup>1</sup> | One week (or user's policy).|
127+
| **Recovery time objective (RTO)** | Restore usually takes less than 12 hours but could take longer, depending on size and activity. See [Recovery](recovery-using-backups.md#recovery-time). | Restore usually takes less than 12 hours but could take longer, depending on size and activity. See [Recovery](recovery-using-backups.md#recovery-time). | Restore usually takes less than 12 hours but could take longer, depending on size and activity. See [Recovery](recovery-using-backups.md#recovery-time). |
128+
| **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. |
129+
| **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. |
130130
| **Configure backups as [immutable](/azure/storage/blobs/immutable-storage-overview)** | Not supported | Not supported | Not supported |
131-
| **Restoring a new database in the same region** | Supported | Supported | Supported |
131+
| **Restoring a new database in the same region** | Supported | Supported | Supported |
132132
| **Restoring a new database in another region** | Not supported | Supported in any Azure region | Supported in any Azure region |
133133
| **Restoring a new database in another subscription** | Not supported | Not supported<sup>3</sup> | Not supported<sup>3</sup> |
134134
| **Restoring via Azure portal**|Yes|Yes|Yes|
135135
| **Restoring via PowerShell** |Yes|Yes|Yes|
136136
| **Restoring via Azure CLI** |Yes|Yes|Yes|
137137

138138

139-
<sup>1</sup> For business-critical applications that require large databases and must ensure business continuity, use [failover groups](failover-group-sql-db.md).
139+
<sup>1</sup> For business-critical applications that require large databases and must ensure business continuity, use [failover groups](failover-group-sql-db.md).
140140
<sup>2</sup> All PITR backups are stored on geo-redundant storage by default, so geo-restore is enabled by default.
141141
<sup>3</sup> The workaround is to restore to a new server and use Resource Move to move the server to another subscription, or use a [cross-subscription database copy](database-copy.md#copy-to-a-different-subscription).
142142

azure-sql/database/designing-cloud-solutions-for-disaster-recovery.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ In this scenario, the applications have the following characteristics:
3333
* Web tier and data tier must be collocated to reduce latency and traffic cost
3434
* Fundamentally, downtime is a higher business risk for these applications than data loss
3535

36-
In this case, the application deployment topology is optimized for handling regional disasters when all application components need to fail over together. The diagram below shows this topology. For geographic redundancy, the application's resources are deployed to Region A and B. However, the resources in Region B are not utilized until Region A fails. A failover group is configured between the two regions to manage database connectivity, replication and failover. The web service in both regions is configured to access the database via the read-write listener **&lt;failover-group-name&gt;.database.windows.net** (1). Azure Traffic Manager is set up to use [priority routing method](/azure/traffic-manager/traffic-manager-configure-priority-routing-method) (2).  
36+
In this case, the application deployment topology is optimized for handling regional disasters when all application components need to fail over together. The diagram below shows this topology. For geographic redundancy, the application's resources are deployed to Region A and B. However, the resources in Region B are not utilized until Region A fails. A failover group is configured between the two regions to manage database connectivity, replication and failover. The web service in both regions is configured to access the database via the read-write listener **&lt;failover-group-name&gt;.database.windows.net** (1). Azure Traffic Manager is set up to use [priority routing method](/azure/traffic-manager/traffic-manager-configure-priority-routing-method) (2).
3737

3838
> [!NOTE]
3939
> [Azure Traffic Manager](/azure/traffic-manager/traffic-manager-overview) is used throughout this article for illustration purposes only. You can use any load-balancing solution that supports priority routing method.

azure-sql/database/doc-changes-updates-release-notes-whats-new-archive.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Return to [What's new in Azure SQL Database?](doc-changes-updates-release-notes-
3131
|**Always Encrypted with VBS enclaves GA** | November | Take advantage of rich confidential queries and in-place encryption operations for Azure SQL Database with Always Encrypted with virtualization-based security (VBS) enclaves. This feature is now generally available. Review [Always Encrypted with VBS enclaves](always-encrypted-enclaves-getting-started-vbs.md) to get started. |
3232
|**DC-series hardware up to 40 vCores GA** | November | DC-series hardware from 10 to 40 vCores is now generally available for General Purpose, Business Critical, and Hyperscale provisioned compute. Review [Resource limits](resource-limits-vcore-single-databases.md) for more information. |
3333
| **Elastic jobs preview refresh** | November | [Updated with a preview refresh and new capabilities](https://techcommunity.microsoft.com/t5/azure-sql-blog/azure-sql-database-elastic-jobs-preview-refresh/ba-p/3965759), [elastic jobs](elastic-jobs-overview.md) are the SQL Server Agent replacement for Azure SQL Database. Elastic jobs now support Microsoft Entra ID (formerly Azure Active Directory) authentication, private endpoints, management via REST APIs, Azure Alerts, and new capabilities and user interface in the Azure portal. Job Agents now provide four capacity tiers to scale concurrency for job execution. |
34-
|**License-free standby replica preview** | November | Save on licensing costs by configuring your secondary database replica for disaster recovery standby. This feature is currently in preview. Review [License-free standby replica](standby-replica-how-to-configure.md) to learn more.  |
34+
|**License-free standby replica preview** | November | Save on licensing costs by configuring your secondary database replica for disaster recovery standby. This feature is currently in preview. Review [License-free standby replica](standby-replica-how-to-configure.md) to learn more. |
3535
|**Premium-series hardware for Hyperscale elastic pools preview** | November | Premium-series and premium-series memory optimized hardware is now in preview for [Hyperscale elastic pools](hyperscale-elastic-pool-overview.md). |
3636
| **Intelligent applications**| October | Learn how to use AI integration with Azure SQL Database, such as OpenAI, to build intelligent applications. To learn more, review [intelligent applications](ai-artificial-intelligence-intelligent-applications.md). |
3737
| **BASE64_ENCODE and BASE64_DECODE support** | September | The [BASE64_ENCODE](/sql/t-sql/functions/base64-encode-transact-sql) and [BASE64_DECODE](/sql/t-sql/functions/base64-decode-transact-sql) are now available in Azure SQL Database. |

azure-sql/database/elastic-jobs-powershell-create.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ Find-Package PowerShellGet | Install-Package -Force
4848
# Restart your powershell session with administrative access
4949
5050
# Install and import the Az.Sql module, then confirm
51-
Install-Module -Name Az.Sql
51+
Install-Module -Name Az.Sql
5252
Import-Module Az.Sql
5353
Install-Module -Name SqlServer
5454
Import-Module SqlServer

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -190,7 +190,7 @@ using (TransactionScope s = new TransactionScope())
190190
Helper.ExecuteNonQueryOnOpenConnection(conn, "BEGIN DISTRIBUTED TRAN");
191191
// ...
192192
}
193-
 
193+
194194
using (SqlConnection conn2 = new SqlConnection(DB1_ConnectionString)
195195
{
196196
conn2.Open();

azure-sql/database/resource-limits-vcore-single-databases.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ The following table covers these SLOs: `HS_S_Gen5_2`, `HS_S_Gen5_4`, `HS_S_Gen5_
193193
| Max log size (TB) | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited |
194194
| Tempdb max data size (GB) | 64 | 128 | 192 | 256 | 320 | 384 | 448 |
195195
| Storage type | Multi-tiered <sup>1</sup>| Multi-tiered <sup>1</sup>| Multi-tiered <sup>1</sup>| Multi-tiered <sup>1</sup>| Multi-tiered <sup>1</sup>| Multi-tiered <sup>1</sup>| Multi-tiered <sup>1</sup>|
196-
| Max local SSD IOPS <sup>2</sup> | 8000 | 16000 | 24000 | 32000 | 40000 | 48000 | 56000 |
196+
| Max local SSD IOPS <sup>2</sup> | 8000 | 16000 | 24000 | 32000 | 40000 | 48000 | 56000 |
197197
| Max log rate (MBps) | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
198198
| IO latency (approximate) | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup>| Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> |
199199
| Max concurrent workers | 150 | 300 | 450 | 600 | 750 | 900 | 1050 |
@@ -226,7 +226,7 @@ The following table covers these SLOs: `HS_S_Gen5_16`, `HS_S_Gen5_18`, `HS_S_Gen
226226
| Max log size (TB) | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited | Unlimited |
227227
| Tempdb max data size (GB) | 512 | 576 | 640 | 768 | 1024 | 1280 | 2560 |
228228
| Storage type | Multi-tiered <sup>1</sup> | Multi-tiered <sup>1</sup> | Multi-tiered <sup>1</sup> | Multi-tiered <sup>1</sup> | Multi-tiered <sup>1</sup> | Multi-tiered <sup>1</sup> | Multi-tiered <sup>1</sup> |
229-
| Max local SSD IOPS <sup>2</sup> | 64000 | 72000 | 80000 | 96000 | 128000 | 160000 | 204800 |
229+
| Max local SSD IOPS <sup>2</sup> | 64000 | 72000 | 80000 | 96000 | 128000 | 160000 | 204800 |
230230
| Max log rate (MBps) | 100 | 100 | 100 | 100 | 100 | 100 | 100 |
231231
| IO latency (approximate) | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> | Variable <sup>3</sup> |
232232
| Max concurrent workers | 1200 | 1350 | 1500 | 1800 | 2400 | 3000 | 6000 |

azure-sql/database/saas-dbpertenant-get-started-deploy.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,13 @@ A central **Events Hub** page provides a list of links to the tenants in your de
108108

109109
![Events Hub](./media/saas-dbpertenant-get-started-deploy/events-hub.png)
110110

111-
2. Select **Fabrikam Jazz Club** in the Events Hub.
111+
2. Select **Fabrikam Jazz Club** in the Events Hub.
112112

113113
![Events](./media/saas-dbpertenant-get-started-deploy/fabrikam.png)
114114

115115
### Azure Traffic Manager
116116

117-
The Wingtip application uses [*Azure Traffic Manager*](/azure/traffic-manager/traffic-manager-overview) to control the distribution of incoming requests. The URL to access the events page for a specific tenant uses the following format:
117+
The Wingtip application uses [*Azure Traffic Manager*](/azure/traffic-manager/traffic-manager-overview) to control the distribution of incoming requests. The URL to access the events page for a specific tenant uses the following format:
118118

119119
- http://events.wingtip-dpt.&lt;user&gt;.trafficmanager.net/fabrikamjazzclub
120120

@@ -134,7 +134,7 @@ The Wingtip application uses [*Azure Traffic Manager*](/azure/traffic-manager/t
134134
- The catalog is implemented by using *shard map management*.
135135
- The Events Hub uses extended metadata in the catalog to construct the list-of-events page URLs for each tenant.
136136

137-
In a production environment, typically you create a CNAME DNS record to [*point a company internet domain*](/azure/traffic-manager/traffic-manager-point-internet-domain) to the Traffic Manager DNS name.
137+
In a production environment, typically you create a CNAME DNS record to [*point a company internet domain*](/azure/traffic-manager/traffic-manager-point-internet-domain) to the Traffic Manager DNS name.
138138

139139
> [!NOTE]
140140
> It may not be immediately obvious what the use of the traffic manager is in this tutorial. The goal of this series of tutorials is to showcase patterns that can handle the scale of a complex production environment. In such a case, for example, you would have multiple web apps distributed across the globe, co-located with databases and you would need traffic manager to route between these instances.
@@ -147,7 +147,7 @@ Now that the app is deployed, let's put it to work.
147147
The *Demo-LoadGenerator* PowerShell script starts a workload that runs against all tenant databases. The real-world load on many SaaS apps is sporadic and unpredictable. To simulate this type of load, the generator produces a load with randomized spikes or bursts of activity on each tenant. The bursts occur at randomized intervals. It takes several minutes for the load pattern to emerge. Let the generator run for at least three or four minutes before you monitor the load.
148148

149149
1. In the PowerShell ISE, open the ...\\Learning Modules\\Utilities\\*Demo-LoadGenerator.ps1* script.
150-
2. Press F5 to run the script and start the load generator. Leave the default parameter values for now.
150+
2. Press F5 to run the script and start the load generator. Leave the default parameter values for now.
151151
3. Sign in to your Azure account, and select the subscription you want to use, if necessary.
152152

153153
The load generator script starts a background job for each database in the catalog and then stops. If you rerun the load generator script, it stops any background jobs that are running before it starts new ones.
@@ -193,10 +193,10 @@ The initial deployment creates three sample tenants. Now you create another tena
193193

194194
1. Open a new PowerShell ISE.
195195
2. Open ...\\Learning Modules\Provision and Catalog\\*Demo-ProvisionAndCatalog.ps1*.
196-
3. To run the script, press F5. Leave the default values for now.
196+
3. To run the script, press F5. Leave the default values for now.
197197

198198
> [!NOTE]
199-
> Many Wingtip SaaS scripts use *$PSScriptRoot* to browse folders to call functions in other scripts. This variable is evaluated only when the full script is executed by pressing F5. Highlighting and running a selection with F8 can result in errors. To run the scripts, press F5.
199+
> Many Wingtip SaaS scripts use *$PSScriptRoot* to browse folders to call functions in other scripts. This variable is evaluated only when the full script is executed by pressing F5. Highlighting and running a selection with F8 can result in errors. To run the scripts, press F5.
200200
201201
The new tenant database is:
202202

@@ -214,7 +214,7 @@ Refresh the Events Hub to make the new tenant appear in the list.
214214

215215
Now that you've started running a load against the collection of tenants, let's look at some of the resources that were deployed.
216216

217-
1. In the [Azure portal](https://portal.azure.com), browse to your list of SQL servers. Then open the **catalog-dpt-&lt;USER&gt;** server.
217+
1. In the [Azure portal](https://portal.azure.com), browse to your list of SQL servers. Then open the **catalog-dpt-&lt;USER&gt;** server.
218218
- The catalog server contains two databases, **tenantcatalog** and **basetenantdb** (a template database that's copied to create new tenants).
219219

220220
:::image type="content" source="./media/saas-dbpertenant-get-started-deploy/databases.png" alt-text="Screenshot that shows a catalog server Overview page with the two databases." lightbox="./media/saas-dbpertenant-get-started-deploy/databases.png":::
@@ -246,9 +246,9 @@ The two charts illustrate that elastic pools and SQL Database are well suited to
246246
## Additional resources
247247

248248
- For more information, see additional [tutorials that build on the Wingtip Tickets SaaS database-per-tenant application](saas-dbpertenant-wingtip-app-overview.md#sql-database-wingtip-saas-tutorials).
249-
- To learn about elastic pools, see [What is an Azure SQL elastic pool?](elastic-pool-overview.md)
250-
- To learn about elastic jobs, see [Manage scaled-out cloud databases](./elastic-jobs-overview.md).
251-
- To learn about multitenant SaaS applications, see [Design patterns for multitenant SaaS applications](saas-tenancy-app-design-patterns.md).
249+
- To learn about elastic pools, see [What is an Azure SQL elastic pool?](elastic-pool-overview.md)
250+
- To learn about elastic jobs, see [Manage scaled-out cloud databases](./elastic-jobs-overview.md).
251+
- To learn about multitenant SaaS applications, see [Design patterns for multitenant SaaS applications](saas-tenancy-app-design-patterns.md).
252252

253253
## Next steps
254254

azure-sql/database/saas-tenancy-wingtip-app-guidance-tips.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ Setting these values here simply keeps you from having to update these deploymen
4949

5050
### Execute the scripts by pressing F5
5151

52-
Several scripts use *$PSScriptRoot* to navigate folders, and *$PSScriptRoot* is only evaluated when scripts are executed by pressing **F5**.  Highlighting and running a selection (**F8**) can result in errors, so press **F5** when running scripts.
52+
Several scripts use *$PSScriptRoot* to navigate folders, and *$PSScriptRoot* is only evaluated when scripts are executed by pressing **F5**. Highlighting and running a selection (**F8**) can result in errors, so press **F5** when running scripts.
5353

5454
### Step through the scripts to examine the implementation
5555

0 commit comments

Comments
 (0)