Skip to content

Commit 36c8d8f

Browse files
committed
Merging changes synced from https://github.com/MicrosoftDocs/sql-docs-pr (branch live)
2 parents b04791c + 485bbf8 commit 36c8d8f

25 files changed

Lines changed: 833 additions & 79 deletions

docs/relational-databases/security/permissions-database-engine.md

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,18 @@ For tips on planning a permissions system, see [Getting Started with Database En
355355
|XML SCHEMA COLLECTION|EXECUTE|EX|SCHEMA|EXECUTE|
356356
|XML SCHEMA COLLECTION|REFERENCES|RF|SCHEMA|REFERENCES|
357357
|XML SCHEMA COLLECTION|TAKE OWNERSHIP|TO|SCHEMA|CONTROL|
358-
|XML SCHEMA COLLECTION|VIEW DEFINITION|VW|SCHEMA|VIEW DEFINITION|
358+
|XML SCHEMA COLLECTION|VIEW DEFINITION|VW|SCHEMA|VIEW DEFINITION|
359+
360+
## <a name="asdbpermissions"></a> Azure SQL Database Permissions
361+
362+
These permissions currently only apply to Azure SQL Database, but are not the only permissions for Azure SQL Database. See the [Permission](#_permissions) section above for additional Azure SQL Database permissions.
363+
364+
| Base securable | Granular permissions on base securable | Permission type code | Securable that contains base securable | Permission on container securable that implies granular permission on base securable |Description |
365+
|--|--|--|--|--|--|
366+
|DATABASE|ENABLE LEDGER|EL|SERVER|CONTROL|Enables the grantee to create new ledger tables.|
367+
|DATABASE|ALTER LEDGER|ALR|SERVER|CONTROL|Enables the grantee to drop ledger tables.|
368+
|DATABASE|VIEW LEDGER CONTENT|VLC|SERVER|CONTROL|Enables the grantee to view database-level ledger catalog views and invoke verification.|
369+
|DATABASE|GENERATE LEDGER DIGEST|GLD|SERVER|CONTROL|Enables the grantee to generate a ledger digest.|
359370

360371
## <a name="_algorithm"></a> Summary of the Permission Check Algorithm
361372
Checking permissions can be complex. The permission check algorithm includes overlapping group memberships and ownership chaining, both explicit and implicit permission, and can be affected by the permissions on securable classes that contain the securable entity. The general process of the algorithm is to collect all the relevant permissions. If no blocking DENY is found, the algorithm searches for a GRANT that provides sufficient access. The algorithm contains three essential elements, the **security context**, the **permission space**, and the **required permission**.

docs/relational-databases/system-catalog-views/security-catalog-views-transact-sql.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description: "Security Catalog Views (Transact-SQL)"
33
title: "Security Catalog Views (Transact-SQL) | Microsoft Docs"
44
ms.custom: ""
5-
ms.date: "02/27/2017"
5+
ms.date: "05/25/2021"
66
ms.prod: sql
77
ms.prod_service: "database-engine"
88
ms.reviewer: ""
@@ -170,6 +170,30 @@ ms.author: vanto
170170
:::column-end:::
171171
:::row-end:::
172172

173+
## Ledger Views
174+
175+
:::row:::
176+
:::column:::
177+
[sys.database_ledger_transactions](../../relational-databases/system-catalog-views/sys-database-ledger-transactions-transact-sql.md)
178+
:::column-end:::
179+
:::column:::
180+
[sys.database_ledger_blocks](../../relational-databases/system-catalog-views/sys-database-ledger-blocks-transact-sql.md)
181+
:::column-end:::
182+
:::row-end:::
183+
:::row:::
184+
:::column:::
185+
[sys.ledger_table_history](../../relational-databases/system-catalog-views/sys-ledger-table-history-transact-sql.md)
186+
:::column-end:::
187+
:::column:::
188+
[sys.ledger_column_history](../../relational-databases/system-catalog-views/sys-ledger-column-history-transact-sql.md)
189+
:::column-end:::
190+
:::row-end:::
191+
:::row:::
192+
:::column:::
193+
[sys.database_ledger_digest_locations](../../relational-databases/system-catalog-views/sys-database-ledger-digest-locations-transact-sql.md)
194+
:::column-end:::
195+
:::row-end:::
196+
173197
&nbsp;
174198

175199
## Permissions

docs/relational-databases/system-catalog-views/sys-all-columns-transact-sql.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description: "sys.all_columns (Transact-SQL)"
33
title: "sys.all_columns (Transact-SQL) | Microsoft Docs"
44
ms.custom: ""
5-
ms.date: "03/14/2017"
5+
ms.date: "05/25/2021"
66
ms.prod: sql
77
ms.prod_service: "database-engine, sql-database, synapse-analytics, pdw"
88
ms.reviewer: ""
@@ -54,8 +54,10 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
5454
|rule_object_id|**int**|ID of the stand-alone rule bound to the column by using sys.sp_bindrule.<br /><br /> 0 = No stand-alone rule.<br /><br /> For column-level CHECK constraints, see [sys.check_constraints &#40;Transact-SQL&#41;](../../relational-databases/system-catalog-views/sys-check-constraints-transact-sql.md).|
5555
|is_sparse|bit|1 = Column is a sparse column. For more information, see [Use Sparse Columns](../../relational-databases/tables/use-sparse-columns.md).|
5656
|is_column_set|bit|1 = Column is a column set. For more information, see [Use Column Sets](../../relational-databases/tables/use-column-sets.md).|
57-
|generated_always_type|**tinyint**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later.<br /><br /> The numeric value representing the type of column:<br /><br /> 0 = NOT_APPLICABLE<br /><br /> 1 = AS_ROW_START<br /><br /> 2 = AS_ROW_END|
58-
|generated_always_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later.<br /><br /> The text description of the type of column:<br /><br /> NOT_APPLICABLE<br /><br /> AS_ROW_START<br /><br /> AS_ROW_END|
57+
|generated_always_type|**tinyint**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)]. 7, 8, 9, 10 only applies to [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Identifies when the column value is generated (will always be 0 for columns in system tables):<br /><br /> 0 = NOT_APPLICABLE<br /> 1 = AS_ROW_START<br /> 2 = AS_ROW_END<br />7 = AS_TRANSACTION_ID_START<br />8 = AS_TRANSACTION_ID_END<br />9 = AS_SEQUENCE_NUMBER_START<br />10 = AS_SEQUENCE_NUMBER_END<br /><br /> For more information, see [Temporal Tables &#40;Relational databases&#41;](../../relational-databases/tables/temporal-tables.md).|
58+
|generated_always_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Textual description of `generated_always_type`'s value (always NOT_APPLICABLE for columns in system tables) <br /><br /> NOT_APPLICABLE<br /> AS_ROW_START<br /> AS_ROW_END<br /><br />**Applies to**: [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)]<br /><br />AS_TRANSACTION_ID_START<br />AS_TRANSACTION_ID_END<br />AS_SEQUENCE_NUMBER_START<br />AS_SEQUENCE_NUMBER_END|
59+
|ledger_view_column_type|**tinyint**|**Applies to**: [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> If not NULL, indicates the type of a column in a ledger view:<br /><br /> 1 = TRANSACTION_ID<br /> 2 = SEQUENCE_NUMBER<br /> 3 = OPERATION_TYPE<br /> 4 = OPERATION_TYPE_DESC<br/><br/>For more information on database ledger, see [Azure SQL Database ledger](/azure/azure-sql/database/ledger-overview).|
60+
|ledger_view_column_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> If not NULL, contains a textual description of the the type of a column in a ledger view:<br /><br /> TRANSACTION_ID<br /> SEQUENCE_NUMBER<br /> OPERATION_TYPE<br /> OPERATION_TYPE_DESC|
5961

6062
## Permissions
6163
[!INCLUDE[ssCatViewPerm](../../includes/sscatviewperm-md.md)] For more information, see [Metadata Visibility Configuration](../../relational-databases/security/metadata-visibility-configuration.md).

docs/relational-databases/system-catalog-views/sys-columns-transact-sql.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description: "sys.columns (Transact-SQL)"
33
title: "sys.columns (Transact-SQL)"
44
ms.custom: ""
5-
ms.date: "04/30/2021"
5+
ms.date: "05/25/2021"
66
ms.prod: sql
77
ms.prod_service: "database-engine, sql-database, synapse-analytics, pdw"
88
ms.reviewer: ""
@@ -67,8 +67,8 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
6767
|rule_object_id|**int**|ID of the stand-alone rule bound to the column by using sys.sp_bindrule.<br /><br /> 0 = No stand-alone rule. For column-level CHECK constraints, see [sys.check_constraints &#40;Transact-SQL&#41;](../../relational-databases/system-catalog-views/sys-check-constraints-transact-sql.md).|
6868
|is_sparse|**bit**|1 = Column is a sparse column. For more information, see [Use Sparse Columns](../../relational-databases/tables/use-sparse-columns.md).|
6969
|is_column_set|**bit**|1 = Column is a column set. For more information, see [Use Sparse Columns](../../relational-databases/tables/use-sparse-columns.md).|
70-
|generated_always_type|**tinyint**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Identifies when the column value is generated (will always be 0 for columns in system tables):<br /><br /> 0 = NOT_APPLICABLE<br /><br /> 1 = AS_ROW_START<br /><br /> 2 = AS_ROW_END<br /><br /> For more information, see [Temporal Tables &#40;Relational databases&#41;](../../relational-databases/tables/temporal-tables.md).|
71-
|generated_always_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Textual description of `generated_always_type`'s value (always NOT_APPLICABLE for columns in system tables) <br /><br /> NOT_APPLICABLE<br /><br /> AS_ROW_START<br /><br /> AS_ROW_END|
70+
|generated_always_type|**tinyint**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)]. 7, 8, 9, 10 only applies to [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Identifies when the column value is generated (will always be 0 for columns in system tables):<br /><br /> 0 = NOT_APPLICABLE<br /> 1 = AS_ROW_START<br /> 2 = AS_ROW_END<br />7 = AS_TRANSACTION_ID_START<br />8 = AS_TRANSACTION_ID_END<br />9 = AS_SEQUENCE_NUMBER_START<br />10 = AS_SEQUENCE_NUMBER_END<br /><br /> For more information, see [Temporal Tables &#40;Relational databases&#41;](../../relational-databases/tables/temporal-tables.md).|
71+
|generated_always_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Textual description of `generated_always_type`'s value (always NOT_APPLICABLE for columns in system tables) <br /><br /> NOT_APPLICABLE<br /> AS_ROW_START<br /> AS_ROW_END<br /><br />**Applies to**: [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)]<br /><br />AS_TRANSACTION_ID_START<br />AS_TRANSACTION_ID_END<br />AS_SEQUENCE_NUMBER_START<br />AS_SEQUENCE_NUMBER_END|
7272
|encryption_type|**int**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Encryption type:<br /><br /> 1 = Deterministic encryption<br /><br /> 2 = Randomized encryption|
7373
|encryption_type_desc|**nvarchar(64)**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Encryption type description:<br /><br /> RANDOMIZED<br /><br /> DETERMINISTIC|
7474
|encryption_algorithm_name|**sysname**|**Applies to**: [!INCLUDE[sssql16-md](../../includes/sssql16-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Name of encryption algorithm.<br /><br /> Only AEAD_AES_256_CBC_HMAC_SHA_512 is supported.|
@@ -78,9 +78,10 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
7878
|is_masked|**bit**|**Applies to**: [!INCLUDE[ssCurrentLong](../../includes/sscurrent-md.md)] and later, [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> Indicates if the column is masked by a dynamic data masking:<br /><br /> 0 = regular, not-masked column<br /><br /> 1 = column is masked|
7979
|graph_type |**int** |Internal column with a set of values. The values are between 1-8 for graph columns and `NULL` for others. |
8080
|graph_type_desc |**nvarchar(60)** |internal column with a set of values |
81+
|ledger_view_column_type|**tinyint**|**Applies to**: [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> If not NULL, indicates the type of a column in a ledger view:<br /><br /> 1 = TRANSACTION_ID<br /> 2 = SEQUENCE_NUMBER<br /> 3 = OPERATION_TYPE<br /> 4 = OPERATION_TYPE_DESC<br/><br/>For more information on database ledger, see [Azure SQL Database ledger](/azure/azure-sql/database/ledger-overview).|
82+
|ledger_view_column_type_desc|**nvarchar(60)**|**Applies to**: [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)].<br /><br /> If not NULL, contains a textual description of the the type of a column in a ledger view:<br /><br /> TRANSACTION_ID<br /> SEQUENCE_NUMBER<br /> OPERATION_TYPE<br /> OPERATION_TYPE_DESC|
8183

8284

83-
8485
## Permissions
8586
[!INCLUDE[ssCatViewPerm](../../includes/sscatviewperm-md.md)] For more information, see [Metadata Visibility Configuration](../../relational-databases/security/metadata-visibility-configuration.md).
8687

@@ -91,4 +92,3 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
9192
[Querying the SQL Server System Catalog FAQ](../../relational-databases/system-catalog-views/querying-the-sql-server-system-catalog-faq.yml)
9293
[sys.all_columns &#40;Transact-SQL&#41;](../../relational-databases/system-catalog-views/sys-all-columns-transact-sql.md)
9394
[sys.system_columns &#40;Transact-SQL&#41;](../../relational-databases/system-catalog-views/sys-system-columns-transact-sql.md)
94-

docs/relational-databases/system-catalog-views/sys-computed-columns-transact-sql.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
description: "sys.computed_columns (Transact-SQL)"
33
title: "sys.computed_columns (Transact-SQL) | Microsoft Docs"
44
ms.custom: ""
5-
ms.date: "03/15/2017"
5+
ms.date: "05/25/2021"
66
ms.prod: sql
77
ms.prod_service: "database-engine, sql-database, synapse-analytics, pdw"
88
ms.reviewer: ""
@@ -33,6 +33,8 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
3333
|**definition**|**nvarchar(max)**|SQL text that defines this computed-column.|
3434
|**uses_database_collation**|**bit**|1 = The column definition depends on the default collation of the database for correct evaluation; otherwise, 0. Such a dependency prevents changing the database default collation.|
3535
|**is_persisted**|**bit**|Computed column is persisted.|
36+
37+
3638

3739
## Permissions
3840
[!INCLUDE[ssCatViewPerm](../../includes/sscatviewperm-md.md)] For more information, see [Metadata Visibility Configuration](../../relational-databases/security/metadata-visibility-configuration.md).
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
description: "sys.database_ledger_blocks (Transact-SQL)"
3+
title: "sys.database_ledger_blocks (Transact-SQL) | Microsoft Docs"
4+
ms.custom: ""
5+
ms.date: "05/25/2021"
6+
ms.prod: sql
7+
ms.reviewer: ""
8+
ms.technology: system-objects
9+
ms.topic: "reference"
10+
dev_langs:
11+
- "TSQL"
12+
author: VanMSFT
13+
ms.author: vanto
14+
monikerRange: "=azuresqldb-current"
15+
---
16+
# sys.database_ledger_blocks (Transact-SQL)
17+
[!INCLUDE [Azure SQL Database](../../includes/applies-to-version/asdb.md)]
18+
19+
Captures the cryptographically chained blocks, each of which represents a block of transactions against ledger tables.
20+
21+
For more information on database ledger, see [Azure SQL Database ledger](/azure/azure-sql/database/ledger-overview)
22+
23+
|Column name|Data type|Description|
24+
|-----------------|---------------|-----------------|
25+
|**block_id**|**bigint**|A sequence number identifying the row in this view.|
26+
|**transaction_root_hash**|**binary(32)**|The hash of the root of the Merkle tree, formed by transactions stored in the block.|
27+
|**block_size**|**bigint**|The number of transactions in the block.|
28+
|**previous_block_hash**|**binary(32)**|A SHA-256 hash of the previous row in the view.|
29+
30+
## Permissions
31+
32+
Requires the **VIEW LEDGER CONTENT** permission.
33+
34+
## See also
35+
36+
- [sys.database_ledger_transactions (Transact-SQL)](sys-database-ledger-transactions-transact-sql.md)
37+
- [sys.ledger_table_history (Transact-SQL)](sys-ledger-table-history-transact-sql.md)
38+
- [sys.ledger_column_history (Transact-SQL)](sys-ledger-column-history-transact-sql.md)
39+
- [sys.database_ledger_digest_locations (Transact-SQL)](sys-database-ledger-digest-locations-transact-sql.md)
40+
- [sys.sp_generate_database_ledger_digest (Transact-SQL)](../system-stored-procedures/sys-sp-generate-database-ledger-digest-transact-sql.md)
41+
- [sys.sp_verify_database_ledger (Transact-SQL)](../system-stored-procedures/sys-sp-verify-database-ledger-transact-sql.md)
42+
- [sys.sp_verify_database_ledger_from_digest_storage (Transact-SQL)](../system-stored-procedures/sys-sp-verify-database-ledger-from-digest-storage-transact-sql.md)
43+
- [Azure SQL Database ledger](/azure/azure-sql/database/ledger-overview)
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
---
2+
description: "sys.database_ledger_digest_locations (Transact-SQL)"
3+
title: "sys.database_ledger_digest_locations (Transact-SQL) | Microsoft Docs"
4+
ms.custom: ""
5+
ms.date: "05/25/2021"
6+
ms.prod: sql
7+
ms.reviewer: ""
8+
ms.technology: system-objects
9+
ms.topic: "reference"
10+
dev_langs:
11+
- "TSQL"
12+
author: VanMSFT
13+
ms.author: vanto
14+
monikerRange: "=azuresqldb-current"
15+
---
16+
# sys.database_ledger_digest_locations (Transact-SQL)
17+
18+
[!INCLUDE [Azure SQL Database](../../includes/applies-to-version/asdb.md)]
19+
20+
Captures the current and the historical ledger digest storage endpoints for the ledger feature.
21+
22+
For more information on database ledger, see [Azure SQL Database ledger](/azure/azure-sql/database/ledger-overview).
23+
24+
|Column name|Data type|Description|
25+
|-----------------|---------------|-----------------|
26+
|**path**|**nvarchar(4000)**|The location of storage digests. For example, a path for a container in [Azure Blob storage](/azure/storage/blobs/storage-blobs-introduction).|
27+
|**last_digest_block_id**|**bigint**|The block ID for the last digest uploaded. |
28+
|**is_current**|**bit**|Indicates whether this is the current path or a path used in the past.|
29+
30+
## Permissions
31+
32+
Requires the **VIEW LEDGER CONTENT** permission.
33+
34+
## See also
35+
36+
- [sys.database_ledger_transactions (Transact-SQL)](sys-database-ledger-transactions-transact-sql.md)
37+
- [sys.database_ledger_blocks (Transact-SQL)](sys-database-ledger-blocks-transact-sql.md)
38+
- [sys.ledger_table_history (Transact-SQL)](sys-ledger-table-history-transact-sql.md)
39+
- [sys.ledger_column_history (Transact-SQL)](sys-ledger-column-history-transact-sql.md)
40+
- [sys.sp_generate_database_ledger_digest (Transact-SQL)](../system-stored-procedures/sys-sp-generate-database-ledger-digest-transact-sql.md)
41+
- [sys.sp_verify_database_ledger (Transact-SQL)](../system-stored-procedures/sys-sp-verify-database-ledger-transact-sql.md)
42+
- [sys.sp_verify_database_ledger_from_digest_storage (Transact-SQL)](../system-stored-procedures/sys-sp-verify-database-ledger-from-digest-storage-transact-sql.md)
43+
- [Azure SQL Database ledger](/azure/azure-sql/database/ledger-overview).

0 commit comments

Comments
 (0)