Lokasi ngalangkungan proxy:   [ UP ]  
[Ngawartoskeun bug]   [Panyetelan cookie]                
Skip to content

Commit 8e7e1c8

Browse files
committed
resolve merge conflict
2 parents 51b13a2 + deff6ee commit 8e7e1c8

5 files changed

Lines changed: 48 additions & 10 deletions

File tree

docs/database-engine/install-windows/latest-updates-for-microsoft-sql-server.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ Each of the following links provides information for all of the applicable produ
3131
|Product Versions | Latest Service Pack | Latest GDR | Latest cumulative update | CU Release Date | General Guidance |
3232
|--|--|--|--|--|--|
3333
|SQL Server 2019|N/A|[KB 4517790](https://support.microsoft.com/help/4517790)|CU 5 [(KB 4552255)](https://support.microsoft.com/help/4552255)|6/11/2020|[SQL Server 2019 Installation](https://docs.microsoft.com/sql/database-engine/install-windows/installation-for-sql-server)|
34-
|SQL Server 2017|N/A|[KB 4505224](https://support.microsoft.com/help/4505224)|CU 20 [(KB 4541283)](https://support.microsoft.com/help/4541283)|2/5/2020|[SQL Server 2017 Installation](https://docs.microsoft.com/sql/database-engine/install-windows/installation-for-sql-server)|
34+
|SQL Server 2017|N/A|[KB 4505224](https://support.microsoft.com/help/4505224)|CU 20 [(KB 4541283)](https://support.microsoft.com/help/4541283)|4/7/2020|[SQL Server 2017 Installation](https://docs.microsoft.com/sql/database-engine/install-windows/installation-for-sql-server)|
3535
|SQL Server 2016|SP2 [(KB 4052908)](https://support.microsoft.com/help/4052908)|[KB 4532097](https://support.microsoft.com/help/4532097)|CU 13 [(KB 4549825)](https://support.microsoft.com/kb/4549825)|5/28/2020|[SQL Server 2016 Installation](https://technet.microsoft.com/library/bb500469.aspx)|
3636
|SQL Server 2016|SP1 [(KB 3182545)](https://support.microsoft.com/help/3182545/sql-server-2016-service-pack-1-release-information)|[KB 4505219](https://support.microsoft.com/help/4505219)|CU 15 + GDR [(KB 4505221)](https://support.microsoft.com/help/4505221)|7/9/2019|[SQL Server 2016 Installation](https://technet.microsoft.com/library/bb500469.aspx)|
3737
|SQL Server 2016|N/A|[KB4058560](https://support.microsoft.com/help/4058560)|CU 9 [(KB 4058559)](https://support.microsoft.com/help/4058559)|11/22/2017|[SQL Server 2016 Installation](https://technet.microsoft.com/library/bb500469.aspx)|

docs/relational-databases/system-dynamic-management-views/sys-dm-os-tasks-transact-sql.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ On [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)] Premium Tiers, requires the
5858
> [!NOTE]
5959
> A **request_id** is unique within a session.
6060
61-
```
61+
```sql
6262
SELECT
6363
task_address,
6464
task_state,
@@ -79,7 +79,7 @@ SELECT
7979
### B. Associating session IDs with Windows threads
8080
You can use the following query to associate a session ID value with a Windows thread ID. You can then monitor the performance of the thread in the Windows Performance Monitor. The following query does not return information for sessions that are sleeping.
8181

82-
```
82+
```sql
8383
SELECT STasks.session_id, SThreads.os_thread_id
8484
FROM sys.dm_os_tasks AS STasks
8585
INNER JOIN sys.dm_os_threads AS SThreads
@@ -88,7 +88,7 @@ SELECT STasks.session_id, SThreads.os_thread_id
8888
ORDER BY STasks.session_id;
8989
GO
9090
```
91-
91+
9292
## See Also
9393
[SQL Server Operating System Related Dynamic Management Views (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sql-server-operating-system-related-dynamic-management-views-transact-sql.md)
9494
[Thread and Task Architecture Guide](../../relational-databases/thread-and-task-architecture-guide.md)

docs/relational-databases/system-dynamic-management-views/sys-dm-os-waiting-tasks-transact-sql.md

Lines changed: 35 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ monikerRange: ">=aps-pdw-2016||=azuresqldb-current||=azure-sqldw-latest||>=sql-s
2727
Returns information about the wait queue of tasks that are waiting on some resource. For more information about tasks, see the [Thread and Task Architecture Guide](../../relational-databases/thread-and-task-architecture-guide.md).
2828

2929
> [!NOTE]
30-
> To call this from [!INCLUDE[ssSDWfull](../../includes/sssdwfull-md.md)] or [!INCLUDE[ssPDW](../../includes/sspdw-md.md)], use the name **sys.dm_pdw_nodes_os_waiting_tasks**.
30+
> To call this from [!INCLUDE[ssSDWfull](../../includes/sssdwfull-md.md)] or [!INCLUDE[ssPDW](../../includes/sspdw-md.md)], use the name **sys.dm_pdw_nodes_os_waiting_tasks**.
3131
3232
|Column name|Data type|Description|
3333
|-----------------|---------------|-----------------|
@@ -134,12 +134,44 @@ On [!INCLUDE[ssNoVersion_md](../../includes/ssnoversion-md.md)], requires `VIEW
134134
On [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)] Premium Tiers, requires the `VIEW DATABASE STATE` permission in the database. On [!INCLUDE[ssSDS_md](../../includes/sssds-md.md)] Standard and Basic Tiers, requires the **Server admin** or an **Azure Active Directory admin** account.
135135

136136
## Example
137-
This example will identify blocked sessions. Execute the [!INCLUDE[tsql](../../includes/tsql-md.md)] query in [!INCLUDE[ssManStudioFull](../../includes/ssmanstudiofull-md.md)].
137+
### A. Identify tasks from blocked sessions.
138138

139139
```sql
140140
SELECT * FROM sys.dm_os_waiting_tasks
141141
WHERE blocking_session_id IS NOT NULL;
142-
```
142+
```
143+
144+
### B. View waiting tasks per connection
145+
146+
```sql
147+
SELECT st.text AS [SQL Text], c.connection_id, w.session_id,
148+
w.wait_duration_ms, w.wait_type, w.resource_address,
149+
w.blocking_session_id, w.resource_description, c.client_net_address, c.connect_time
150+
FROM sys.dm_os_waiting_tasks AS w
151+
INNER JOIN sys.dm_exec_connections AS c ON w.session_id = c.session_id
152+
CROSS APPLY (SELECT * FROM sys.dm_exec_sql_text(c.most_recent_sql_handle)) AS st
153+
WHERE w.session_id > 50 AND w.wait_duration_ms > 0
154+
ORDER BY c.connection_id, w.session_id
155+
GO
156+
```
157+
158+
### C. View waiting tasks for all user processes with additional information
159+
160+
```sql
161+
SELECT 'Waiting_tasks' AS [Information], owt.session_id,
162+
owt.wait_duration_ms, owt.wait_type, owt.blocking_session_id,
163+
owt.resource_description, es.program_name, est.text,
164+
est.dbid, eqp.query_plan, er.database_id, es.cpu_time,
165+
es.memory_usage*8 AS memory_usage_KB
166+
FROM sys.dm_os_waiting_tasks owt
167+
INNER JOIN sys.dm_exec_sessions es ON owt.session_id = es.session_id
168+
INNER JOIN sys.dm_exec_requests er ON es.session_id = er.session_id
169+
OUTER APPLY sys.dm_exec_sql_text (er.sql_handle) est
170+
OUTER APPLY sys.dm_exec_query_plan (er.plan_handle) eqp
171+
WHERE es.is_user_process = 1
172+
ORDER BY owt.session_id;
173+
GO
174+
```
143175

144176
## See Also
145177
[SQL Server Operating System Related Dynamic Management Views (Transact-SQL)](../../relational-databases/system-dynamic-management-views/sql-server-operating-system-related-dynamic-management-views-transact-sql.md)

docs/relational-databases/thread-and-task-architecture-guide.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,21 @@ In the scope of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)], a **requ
3131

3232
A **task** represents the unit of work that needs to be completed to fulfill the request. One or more tasks can be assigned to a single request. Parallel requests will have several active tasks that are executed concurrently instead of serially. A request that executes serially will only have one active task at any given point in time. Tasks exist in various states throughout their lifetime. For more information about task states, see [sys.dm_os_tasks](../relational-databases/system-dynamic-management-views/sys-dm-os-tasks-transact-sql.md). Tasks in SUSPENDED state are waiting on resources required to execute the task to become available. For more information about waiting task, see [sys.dm_os_waiting_tasks](../relational-databases/system-dynamic-management-views/sys-dm-os-waiting-tasks-transact-sql.md).
3333

34-
A [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] **worker thread**, also known as worker or thread, is a logical representation of an operating system thread. When executing serial requests, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] will spawn a worker to execute the active task. When executing parallel requests in [row mode](../relational-databases/query-processing-architecture-guide.md#execution-modes), the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] assigns a worker to coordinate the child workers responsible for completing tasks assigned to them. The number of worker threads spawned for each task depends on:
34+
A [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] **worker thread**, also known as worker or thread, is a logical representation of an operating system thread. When executing serial requests, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] will spawn a worker to execute the active task (1:1). When executing parallel requests in [row mode](../relational-databases/query-processing-architecture-guide.md#execution-modes), the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] assigns a worker to coordinate the child workers responsible for completing tasks assigned to them (also 1:1). The number of worker threads spawned for each task depends on:
3535
- Whether the request was eligible for parallelism as determined by the Query Optimizer.
3636
- What is the actual available [degree of parallelism (DOP)](../relational-databases/query-processing-architecture-guide.md#DOP) in the system based on current load. This may differ from estimated DOP which is based on the server configuration for max degree of parallelism (MAXDOP). For example, the server configuration for MAXDOP may be 8 but the available DOP at runtime can be only 2, which affects query performance.
3737

3838
> [!NOTE]
39-
> The **max degree of parallelism (MAXDOP)** limit is set per task, not per request. This means that during a parallel query execution, a single request can spawn multiple tasks, and each task can use multiple workers up to the MAXDOP limit. For more information about MAXDOP, see [Configure the max degree of parallelism Server Configuration Option](../database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option.md).
39+
> The **max degree of parallelism (MAXDOP)** limit is set per task, not per request. This means that during a parallel query execution, a single request can spawn multiple tasks up to the MAXDOP limit, and each task will use one worker. For more information about MAXDOP, see [Configure the max degree of parallelism Server Configuration Option](../database-engine/configure-windows/configure-the-max-degree-of-parallelism-server-configuration-option.md).
4040
4141
A **scheduler**, also known as SOS scheduler, manages worker threads that require processing time to carry out work on behalf of tasks. Each scheduler is mapped to an individual processor (CPU). The time a worker can remain active in a scheduler is called the OS quantum, with a maximum of 4 ms. After its quantum time expires, a worker yields its time to other workers that need to access CPU resources, and changes its state. This cooperation between workers to maximize access to CPU resources is called **cooperative scheduling**, also known as non-preemptive scheduling. In turn, the change in worker state is propagated to the task associated with that worker, and to the request associated with the task. For more information about worker states, see [sys.dm_os_workers](../relational-databases/system-dynamic-management-views/sys-dm-os-workers-transact-sql.md). For more information about schedulers, see [sys.dm_os_schedulers ](../relational-databases/system-dynamic-management-views/sys-dm-os-schedulers-transact-sql.md).
4242

43+
> [!NOTE]
44+
> Imagine an application sends a query (request) to a [!INCLUDE[ssde_md](../includes/ssde_md.md)] that's configured with MAXDOP 32, and CPU Affinity is configured for 8 CPUs (schedulers). The query plan has a join between two tables, with a total of 3 query plan operators. Each of the operators is executed in parallel, and spawns 32 tasks (the MAXDOP limit) plus a coordinating task.
45+
> At any given time, the request has at least 99 tasks. Each task will be assigned to a worker, and when a worker assigned to a task gets active scheduler time (its quantum time), the task will be in the RUNNING state.
46+
> Because there are only 8 schedulers, only 8 workers can be active at any given point. A worker can only remain active for the duration of its quantum (4ms) and must yield its scheduler after that quantum has elapsed, so that a worker assigned to another task may become active. When a worker's quantum expires and is no longer active, the respective task is placed in a FIFO queue in a RUNNABLE state, until it moves to a RUNNING state again (assuming the task won't require access to resources that are not available at the moment, such as a latch or lock, in which case the task would be placed in a SUSPENDED state instead of RUNNABLE, until such time those resources are available).
47+
> This means that during a parallel query execution, a single request can spawn multiple tasks, and each task is assigned to a worker, up to the MAXDOP limit.
48+
4349
### Allocating threads to a CPU
4450
By default, each instance of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] starts each thread, and the operating system distributes threads from instances of [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] among the processors (CPUs) on a computer, based on load. If process affinity has been enabled at the operating system level, then the operating system assigns each thread to a specific CPU. In contrast, the [!INCLUDE[ssDEnoversion](../includes/ssdenoversion-md.md)] assigns [!INCLUDE[ssNoVersion](../includes/ssnoversion-md.md)] **worker threads** to **schedulers** that distribute the threads evenly among the CPUs.
4551

docs/reporting-services/report-server/rsreportserver-config-configuration-file.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ For more information on editing the file, see [Modify a Reporting Services Confi
171171
|**RecycleTime**|Specifies a recycle time for the application domain, measured in minutes. Valid values range from 0 to maximum integer. The default is 720.|N,S|
172172
|**MaxAppDomainUnloadTime**|Specifies an interval during which the application domain is allowed to unload during a recycle operation. If recycling does not complete during this time period, all processing in the application domain is stopped. For more information, see [Application Domains for Report Server Applications](../../reporting-services/report-server/application-domains-for-report-server-applications.md).<br /><br /> This value is specified in minutes. Valid values range from 0 to maximum integer. The default is **30**.|N,S,P|
173173
|**MaxQueueThreads**|Specifies the number of threads used by the Report Server Windows service for concurrent processing of subscriptions and notifications. Valid values range from 0 to maximum integer. The default is 0. If you choose 0, the report server determines the maximum number of threads. If you specify an integer, the value you specify sets the upper limit on threads that can be created at one time. For more information about how the Report Server Windows service manages memory for running processes, see [Configure Available Memory for Report Server Applications](../../reporting-services/report-server/configure-available-memory-for-report-server-applications.md).|N,S,P|
174-
|**UrlRoot**|Used by the report server delivery extensions to compose URLs that are used by reports delivered in e-mail and file share subscriptions. The value must be a valid URL address to the report server from which the published report is accessed. Used by the report server to generate URLs for offline or unattended access. These URLs are used in exported reports, and by delivery extensions to compose a URL that is included in delivery messages such as links in e-mails. The report server determines URLs in reports based on the following behavior:<br /><br /> When **UrlRoot** is blank (the default value) and there are URL reservations, the report server automatically determines URLs the same way that URLs are generated for the ListReportServerUrls method. The first URL returned by the ListReportServerUrls method is used. Or, if SecureConnectionLevel is greater than zero (0), the first TLS URL is used.<br /><br /> When **UrlRoot** is set to a specific value, the explicit value is used.<br /><br /> When **UrlRoot** is blank and there are no URL reservations configured, the URLs in rendered reports and in e-mail links are incorrect.|N,S,P|
174+
|**UrlRoot**|Used by the report server delivery extensions to compose URLs that are used by reports delivered in e-mail and file share subscriptions, also used by report processing when resolving expressions using Globals!ReportServerUrl. The value must be a valid URL address to the report server from which the published report is accessed. Used by the report server to generate URLs for offline or unattended access. These URLs are used in exported reports, and by delivery extensions to compose a URL that is included in delivery messages such as links in e-mails. The report server determines URLs in reports based on the following behavior:<br /><br /> When **UrlRoot** is blank (the default value) and there are URL reservations, the report server automatically determines URLs the same way that URLs are generated for the ListReportServerUrls method. The first URL returned by the ListReportServerUrls method is used. Or, if SecureConnectionLevel is greater than zero (0), the first TLS URL is used.<br /><br /> When **UrlRoot** is set to a specific value, the explicit value is used.<br /><br /> When **UrlRoot** is blank and there are no URL reservations configured, the URLs in rendered reports and in e-mail links are incorrect.|N,S,P|
175175
|**UnattendedExecutionAccount**|Specifies a user name, password, and domain used by the report server to run a report. These values are encrypted. Use the [!INCLUDE[ssRSnoversion](../../includes/ssrsnoversion-md.md)] Configuration tool or the **rsconfig** utility to set these values. For more information, see [Configure the Unattended Execution Account &#40;SSRS Configuration Manager&#41;](../../reporting-services/install-windows/configure-the-unattended-execution-account-ssrs-configuration-manager.md).<br /><br /> For SharePoint mode, you set the execution account for a [!INCLUDE[ssRSnoversion](../../includes/ssrsnoversion-md.md)] service application using SharePoint Central Administration. For more information, see [Manage a Reporting Services SharePoint Service Application](../../reporting-services/report-server-sharepoint/manage-a-reporting-services-sharepoint-service-application.md)|N,P|
176176
|**PolicyLevel**|Specifies the security policy configuration file. The valid value is Rssrvrpolicy.config. For more information, see [Using Reporting Services Security Policy Files](../../reporting-services/extensions/secure-development/using-reporting-services-security-policy-files.md).|N,S,P|
177177
|**IsWebServiceEnabled**|Specifies whether the Report Server Web service responds to SOAP and URL access requests. This value is set when you enable or disable service using the Surface Area Configuration for Reporting Services facet of Policy-Based Management.|N,S|

0 commit comments

Comments
 (0)