0. 跟蹤標記 (Trace Flag) 簡介

来源:http://www.cnblogs.com/seusoftware/archive/2016/07/27/5711207.html
-Advertisement-
Play Games

一. 什麼是跟蹤標記 SQL Server 跟蹤標記(Trace Flag),像是一個開關,可用來自定義SQL Server的某種行為或特性,在性能診斷,系統調試等方面較為常用。比如:開啟1204或1222跟蹤標記,可在errorlog里記錄死鎖信息的明細。 跟蹤標記有會話級和實例級兩種。 二. 如 ...


. 什麼是跟蹤標記

SQL Server 跟蹤標記(Trace Flag),像是一個開關,可用來自定義SQL Server的某種行為或特性,在性能診斷,系統調試等方面較為常用。比如:開啟1204或1222跟蹤標記,可在errorlog里記錄死鎖信息的明細。

跟蹤標記有會話級和實例級兩種。

 

. 如何開啟跟蹤標記

1. SQL Server 服務啟動時開啟

SQL Server服務從類似如下路徑啟動程式:

C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQL2016\MSSQL\Binn\sqlservr.exe

而sqlservr.exe接受一些啟動參數,其中就包含了跟蹤標記。

 

以命名實例MSSQL2016,跟蹤標記610 為例: 

1.1 使用sqlservr.exe來啟動

(1) 先停掉服務 (以管理員身份運行cmd命令視窗)

預設實例:net stop MSSQLSERVER / net stop "SQL Server (MSSQLSERVER)"

命名實例:net stop MSSQL$MSSQL2016 / net stop "SQL Server (MSSQL2016)"

 

(2) 啟動服務 (先cd切換到sqlservr.exe目錄)

預設實例:sqlservr.exe –T610

命名實例:sqlservr.exe -sMSSQL2016 –T610

 

命令行舉例:

C:\Windows\system32>net stop MSSQL$MSSQL2016
The SQL Server (MSSQL2016) service is stopping.
The SQL Server (MSSQL2016) service was stopped successfully.

C:\Windows\system32>cd C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQL2016\MSSQL\Binn\
C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQL2016\MSSQL\Binn>sqlservr -sMSSQL2016 -T610

 

在資料庫里執行SQL語句,可看到已啟動的跟蹤標記:

dbcc tracestatus(-1)
--TraceFlag    Status    Global    Session
--610    1    1    0

 

註:

(1) 以這種方式啟動的SQL Server,服務狀態仍然是停止,但是SSMS/SQLCMD均可以連接並執行SQL語句,通常用於系統故障診斷/維護時,不作為常規啟動方式使用;

(2) 關閉當前的cmd視窗,即可關閉該次啟動;

 

1.2使用net命令來啟動

(1) 先停掉服務 (以管理員身份運行cmd命令視窗)

預設實例:net stop MSSQLSERVER 或 net stop "SQL Server (MSSQLSERVER)"

命名實例:net stop MSSQL$MSSQL2016或 net stop "SQL Server (MSSQL2016)"

 

(2) 啟動服務(以管理員身份運行cmd命令視窗)

預設實例:net start MSSQLSERVER /T610 或net start "SQL Server (MSSQLSERVER)" /T610

命名實例:net start MSSQL$MSSQL2016 /T610 或net start "SQL Server (MSSQL2016)" /T610

 

命令行舉例:

C:\Windows\system32>net stop MSSQL$MSSQL2016
The SQL Server (MSSQL2016) service is stopping.
The SQL Server (MSSQL2016) service was stopped successfully.

C:\Windows\system32>net start MSSQL$MSSQL2016 /T610
The SQL Server (MSSQL2016) service is starting.
The SQL Server (MSSQL2016) service was started successfully.

 

在資料庫里執行SQL語句,可看到已啟動的跟蹤標記:

dbcc tracestatus(-1)
--TraceFlag    Status    Global    Session
--610    1    1    0

 

註:

(1) 以net命令啟動SQL Server服務時,exe程式的參數通過斜線(/)來傳遞而不是橫線(-):/T610;

 

1.3 使用配置管理器 (Configuration Manager) 來啟動

打開SQL Server 配置管理器\SQL Server 服務\選擇相應實例:

(1) 停止相應實例的服務

(2) 屬性\啟動參數, 輸入-T610 並添加

(3) 啟動相應實例的服務

 

在資料庫里執行SQL語句,可看到已啟動的跟蹤標記:

dbcc tracestatus(-1)
--TraceFlag    Status    Global    Session
--610    1    1    0

 

註:

(1) 啟動參數被保存在註冊表裡,在服務啟動時載入,所以會一直有效,直到在啟動參數中刪除該項並保存;

(2) 在配置管理器中修改SQL Server服務相關的參數為最佳實踐(Best Practice),推薦;

 

2. SQL Server 服務啟動後開啟

在SQL Server服務啟動後,可通過DBCC命令來開/關跟蹤標記

--開啟會話級跟蹤標記
dbcc traceon(610)
--會話級跟蹤標記,只能在所在會話關閉
dbcc traceoff(610)

--開啟實例級跟蹤標記
dbcc traceon(610,-1)
--實例級跟蹤標記,在所有會話都可關閉
dbcc traceoff(610,-1)

--指定-1,顯示所有已開啟跟蹤標記
dbcc tracestatus(-1)

 

註:

(1) 會話級跟蹤標記,只對當前會話有效,其他會話不受影響;

(2) 實例級跟蹤標記,整個實例有效;

 

小結:

(1)    以上幾種方式,只有在SQL Server配置管理器里修改啟動參數添加跟蹤標記,會被保存到註冊表,從而每次啟動服務時跟蹤標記都可以生效,其他幾種方式只是在當前的命令行里開啟了跟蹤標記選項,正常重啟服務後,跟蹤標記就不見了;

(2)    只有DBCC traceon 可開啟會話級跟蹤標記,其他開啟方式均為實例級;

(3)    如果要在生產環境使用,請儘可能多的測試,尤其是非文檔記載的跟蹤標記;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1. viewport:也就是可視區域。對於桌面瀏覽器,我們都很清楚viewport是什麼,就是出去了所有工具欄、狀態欄、滾動條等等之後用於看網頁的區域,這是真正有效的區域。由於移動設備屏幕寬度不同於傳統web,因此我們需要改變viewport; 實際上我們可以操作的屬性有4 個: width - ...
  • 1 <meta content=”width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;” name=”viewport” /> <meta content=”yes” name=”apple-mobile ...
  • 一、用js計算 12.32 * 7 結果是多少? 答案:86.24000000000001 為什麼會出現這種問題?怎麼解決? js在處理小數的乘除法的時候有一個bug,解決的方法可以是:將小數變為整數來處理。 以上的計算可以改為: 12.32 * 100 * 7 /100 得出的結果是:86.24, ...
  • 在JS中設置節點的屬性與屬性值用到setAttribute(),獲得節點的屬性與屬性值用到getAttribute(),而在jquery中,用一個attr()就可以全部搞定了,贊一個先 ^^ jquery中用attr()方法來獲取和設置元素屬性,attr是attribute(屬性)的縮寫,在jQue ...
  • 創建臨時表,往臨時表插入數據的時候報的錯誤。 一開始提示沒有打開主鍵,後來打開主鍵就提示上述錯誤異常。 從網上查找資料沒有找到,然後又到群里問各位大牛,一位大牛告訴我是沒有設置主鍵。 我又仔細看看提示,恍然大悟,我就給臨時設置了主鍵。 沒有主鍵之前的代碼: 執行的話就會報“表 '#TT' 沒有標識屬 ...
  • 我怎麼一步一步追到ODBO了? mondrian核心api—>olap4j—>jedox也在用olap4j—>ODBO? ODBO是什麼呢? OLE DB for OLAP (Object Linking and Embedding Database for Online Analytical Pr... ...
  • Laxcus是Laxcus大數據實驗室歷時五年,全體系自主設計研發的國內首套大數據管理系統。能夠支撐百萬台級電腦節點,提供EB量級存儲和計算能力,相容SQL和關係資料庫。最新的2.x版本已經完整覆蓋和集成大數據主流技術和功能,並投入到國內多個超算項目中使用。部署laxcus集群很簡單,一個普通用戶... ...
  • 今天,我和大家分享下redis在運維數據分析中的去重統計方式。 為了避免混淆,本文中對於redis的數據結構做如下約定: SET:saddkey member ZSET:zaddkeyscoremember HYPERLOGLOG:pfaddkeyelement STRING:setbitkeyof ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...