查詢執行很久的SQL
SELECT TOP 10
[總執行時間(秒)] =CAST(a.total_elapsed_time / 1000000.0 AS DECIMAL(16, 2))
, [執行次數] =a.execution_count
, [平均執行時間(秒)] =CAST(a.total_elapsed_time / 1000000.0 / a.execution_count AS DECIMAL(16, 2))
, [SQL指令] =SUBSTRING (b.text,(a.statement_start_offset/2) + 1,500)
FROM sys.dm_exec_query_stats a CROSS APPLY sys.dm_exec_sql_text(a.sql_handle) as b
WHERE a.total_elapsed_time > 0 AND B.[text] NOT LIKE '%SCHEMA_NAME%'--去除一些系統的SQL指令
ORDER BY [平均執行時間(秒)] DESC
查詢資料庫版本
SELECT @@VERSION AS 'SQL Server Version Details'
Microsoft SQL Server 2014 - 12.0.2000.8 (X64)
Feb 20 2014 20:04:26
Copyright (c) Microsoft Corporation
Standard Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
權限認識
MS SQL 伺服器角色
Data type mapping for other data types:
固定伺服器層級角色 |
描述 |
sysadmin |
sysadmin 固定伺服器角色的成員可以執行伺服器中的所有活動。 |
serveradmin |
serveradmin 固定伺服器角色的成員可以變更全伺服器組態選項及關閉伺服器。 |
securityadmin |
securityadmin 固定伺服器角色的成員可以管理登入及其屬性。 他們可以 GRANT (授與)、DENY (拒絕) 和 REVOKE (撤銷) 伺服器層級權限。 如果他們擁有資料庫的存取權,也可以 GRANT、DENY 和 REVOKE 資料庫層級權限。 此外,他們可以重設SQL Server登入的密碼。 重要: 授與 Database Engine 存取權並設定使用者權限的能力,可讓安全性系統管理員指派大部分的伺服器許可權。 您應該將 securityadmin 角色視為相當於 系統管理員 角色。 |
processadmin |
processadmin固定伺服器角色的成員可以結束SQL Server實例中執行的進程。 |
setupadmin |
setupadmin固定伺服器角色的成員可以使用 Transact-SQL 語句來新增和移除連結的伺服器。 使用 Management Studio.) 時,需要 (系統管理員 成員資格 |
bulkadmin |
bulkadmin 固定伺服器角色的成員可以執行 BULK INSERT 陳述式。 Linux 上的 SQL Server不支援bulkadmin角色或 ADMINISTER BULK OPERATIONS 許可權。 只有系統管理員可以針對Linux 上的 SQL Server執行大量插入。 |
diskadmin |
diskadmin 固定伺服器角色是用來管理磁碟檔案。 |
dbcreator |
dbcreator 固定伺服器角色的成員可以建立、改變、卸除及還原任何資料庫。 |
public |
每個SQL Server登入都屬於公用伺服器角色。 當伺服器主體尚未授與或拒絕安全性實體物件上的特定許可權時,使用者會繼承該物件上授與 公用 的許可權。 只有當您想要將任何物件提供給所有使用者使用時,才指派該物件的 public 權限。 您無法變更公用中的成員資格。注意:public 的實作方式不同於其他角色,您可以授與、拒絕或撤銷 public 固定伺服器角色的權限。 |
資料型態
SQL Server Datetime vs Datetime2
Feature |
Datetime |
Datetime2 |
Syntax |
datetime |
datetime2(n) |
Where n represents fractional seconds precision |
|
|
Format |
YYYY-MM-DD hh-mm-ss.nnn |
YYYY-MM-DD hh-mm-ss.nnnnnnn |
Date Range |
1753-01-01 To 9999-12-31 |
0001-01-01 To 9999-12-31 |
Time Range |
00:00:00 To 23:59:59.997 |
00:00:00 To 23:59:59.9999999 |
Default Value |
1900-01-01 00:00:00 |
1900-01-01 00:00:00 |
Accuracy |
Rounded to increments of .000, .003, or .007 seconds |
.0000001 seconds (100 nanoseconds ) |
ANSI SQL Compliant |
No |
SQL Standards and is ISO Compliant (ISO 8601) |
Time zone offset |
No |
No |
Character Length |
19 positions minimum & |
|
23 maximum |
19 positions minimum & |
|
27 |
|
|
Storage Size |
8 bytes |
6 to 8 bytes, depending on the precision* |
User-Defined Precision |
No |
Yes |
Usage |
DECLARE @DateTime datetime CREATE TABLE table_name ( Column1 datetime ) |
DECLARE @DateTime2 datetime2(7) CREATE TABLE table_name ( Column1 datetime2(7) ) |
參考資料