[SQL][問題處理]肥得要死的 tempdb 如何縮減

https://dotblogs.com.tw/jamesfu/2014/05/20/shrinktempdb

可以參考 Technet 上的文章,一般來說當你連線結束之後,所佔用的資源應該會被釋放,但目前他們的 tempdb 會長到那麼大的話,我們直接使用壓縮指令又無法壓縮的狀況下,因此建議朋友先使用以下的指令來試試看:

-- 避免還有資料還在記憶體內,手動進行 Checkpoint
Checkpoint
GO

-- 強制釋放佔用的記憶體
DBCC FREESYSTEMCACHE ('ALL')
DBCC FREEPROCCACHE
DBCC DROPCLEANBUFFERS
DBCC FREESESSIONCACHE
GO

完成上述指令之後,再重新進行一次壓縮 tempdb,果然就可以順利把 tempdb 給壓縮了。

DBCC SHRINKDATABASE(N'tempdb')

SublimeText3外掛安裝及使用

https://tw.saowen.com/a/ec2279f13177d6aef7ebbf35b7c5e10739f504d94b6718a869c006585abe3133


Alignment

程式碼對齊
對應的快捷鍵: Ctrl+Alt+A

BracketHighlighter

提供行數高亮的各種配對的語法符號。也就是可以匹配[ ]、{ }等,高亮標記,便於檢視起始和結束標記。

Color Highlighter

可以展示當前所選擇的顏色程式碼的真正顏色

ColorPicker

使用一個取色器改變顏色

對應的快捷鍵: Ctrl+Shift+C

DocBlockr

可以添加註釋塊
輸入/**,按回車鍵就可以了

Emmet

這個真的超級好用!

使用仿CSS選擇器的語法來生成程式碼,大大提高了HTML/CSS程式碼編寫的速度。

這裡不詳細講用法了,可以網上搜一下。

對應的快捷鍵: Ctrl+Alt+Enter

HTML Beautify

功能如其名,HTML格式化

HTML-CSS-JS Prettify

格式化HTML-CSS-JS程式碼

安裝完後要修改一下配置文件:
preference–Package Settings–HTML/CSS/JS Prettify–Plugin Options-Default

修改nodejs的安裝路徑(Windows使用者在命令列輸入where node即可檢視)

這裡寫圖片描述

增強右鍵選單文件操作功能。
在側邊欄的文件上右擊時,這個外掛提供了大量更多的選擇。開啟,查詢,複製和貼上,等等。

ConvertToUTF8

曾經遇到過開啟一個文件,裡邊的中文亂碼的情況。

修改文件編碼什麼的都不行,然後網上有人說安裝這個外掛和GBK Support。不過發現安裝完這個外掛就已經解決了。不知道為什麼我安裝完GBK Support後開啟html文件會出現一個相應的html.dump文件。

View in Browser

通過預設瀏覽器開啟當前文件

JavaScript Completions

支援JavaScript原生語法提示

SublimeCodeIntel

設定JavaScript程式碼自動補全

sublimeLinter和sublimeLinter-jshint

寫JavaScript時候能夠提示程式碼問題。這個裝好之後可以去修改一下.jshintrc文件,安裝完成後有一些預設設定的。

這裡寫圖片描述

這裡粘一下我目前的設定,以後有新的再補充。關於這個,可以網上搜一下,很多資料。

  "browser": true,
  "esnext": true,
  "globals": {
      "$": false
  },
  /**
   * 是否必須用"use strict"
   */
  "strict": false,
  "undef": true,
  "unused": true,

  /**
   * 是否強制使用嚴格等號
   */
  "eqeqeq": false,

  /**
   * 使用js保留字時提出警告
   */
  "futurehostile":true

markdownEditing和markdownLivePreview

安裝這兩個的時候搞了很久,主要是因為安裝markdownEditing這個外掛的時候遇到了一個問題,最後在官網上找到了答案。如下圖:

這裡寫圖片描述

我安裝完之後彈出了一個對話方塊是error loading syntax files,解除安裝重新安裝也不對。其實是因為我安裝這個外掛的時候打開了之前寫的md文件。關掉這些文件重新安裝就好了。

第二點就是,markdown的主題設定。sublime text剛裝好的時候就換了主題,然後markdown這裡預設的是白色背景,有時候從js文件切換到md文件覺得畫風轉換太快不適應,所以就修改了一下。
方法是:在preference-package settings–Markdown Editing–Markdown GFM Settings – user文件中新增以下設定:

{
    "color_scheme": "Packages/MarkdownEditing/MarkdownEditor-Dark.tmTheme"
}

第三點,安裝完後發現始終有那麼一部分割槽域啥都沒有,就只是佔著地方。原來是因為default中有設定Layout,所以這裡也是要修改設定,還是在上一步中的文件,新增以下:

    "draw_centered": false,//default中為true
    "word_wrap": true,
    "wrap_width": 80,
    "rulers": []

瀏覽器快捷鍵

除了這些外掛外,我還配置了文件在IE、FireFox、Chrome中開啟的快捷鍵,方法如下:

修改快捷鍵設定,但是注意不要跟預設設定中的衝突

//ie
{ "keys": ["ctrl+f12"], "command": "side_bar_files_open_with", "args": { "paths": [], "application": "C:/Program Files/Internet Explorer/iexplore.exe", "extensions": ".*" } },
//chorme
    { "keys": ["alt+f12"], "command": "side_bar_files_open_with", "args": { "paths": [], "application": "C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "extensions": ".*" } },
//firefox
    { "keys": ["f12"], "command": "side_bar_files_open_with", "args": { "paths": [], "application": "D:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "extensions": ".*" } }

keys為相應的快捷鍵,path對應瀏覽器的安裝路徑

SQL TABLE內資料的全文檢索

https://blog.miniasp.com/post/2010/07/12/Search-all-columns-of-all-tables-in-a-database-for-a-keyword.aspx

感謝保哥,讚嘆保哥

DECLARE @SearchStr nvarchar(200) = N'使用者本文'


-- Copyright © 2002 Narayana Vyas Kondreddi. All rights reserved.
-- Purpose: To search all columns of all tables for a given search string
-- Written by: Narayana Vyas Kondreddi
-- Site: http://vyaskn.tripod.com
-- Tested on: SQL Server 7.0 and SQL Server 2000
-- Date modified: 28th July 2002 22:50 GMT


CREATE TABLE #Results (ColumnName nvarchar(370), ColumnValue nvarchar(3630))

SET NOCOUNT ON

DECLARE @TableName nvarchar(256), @ColumnName nvarchar(128), @SearchStr2 nvarchar(110)
SET  @TableName = ''
SET @SearchStr2 = QUOTENAME('%' + @SearchStr + '%','''')

WHILE @TableName IS NOT NULL
BEGIN
	SET @ColumnName = ''
	SET @TableName = 
	(
		SELECT MIN(QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME))
		FROM 	INFORMATION_SCHEMA.TABLES
		WHERE 		TABLE_TYPE = 'BASE TABLE'
			AND	QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME) > @TableName
			AND	OBJECTPROPERTY(
					OBJECT_ID(
						QUOTENAME(TABLE_SCHEMA) + '.' + QUOTENAME(TABLE_NAME)
						 ), 'IsMSShipped'
					       ) = 0
	)

	WHILE (@TableName IS NOT NULL) AND (@ColumnName IS NOT NULL)
	BEGIN
		SET @ColumnName =
		(
			SELECT MIN(QUOTENAME(COLUMN_NAME))
			FROM 	INFORMATION_SCHEMA.COLUMNS
			WHERE 		TABLE_SCHEMA	= PARSENAME(@TableName, 2)
				AND	TABLE_NAME	= PARSENAME(@TableName, 1)
				AND	DATA_TYPE IN ('char', 'varchar', 'nchar', 'nvarchar')
				AND	QUOTENAME(COLUMN_NAME) > @ColumnName
		)

		IF @ColumnName IS NOT NULL
		BEGIN
			INSERT INTO #Results
			EXEC
			(
				'SELECT ''' + @TableName + '.' + @ColumnName + ''', LEFT(' + @ColumnName + ', 3630) 
				FROM ' + @TableName + ' (NOLOCK) ' +
				' WHERE ' + @ColumnName + ' LIKE ' + @SearchStr2
			)
		END
	END	
END

SELECT * FROM #Results

DROP TABLE #Results

LINK SERVER的怪問題

情境:
LINK到另一台的SP將SELECT結果取回入TEMP,但會出現”無法執行作業,因為連結伺服器 “ESWEB1” 的 OLE DB 提供者 “SQLNCLI10” 無法開始分散式交易。”的錯誤訊息
改DTC也無效(https://dotblogs.com.tw/abbee/2017/01/20/163135)

EXEC sp_configure
exec sp_configure 'show advanced options', 1;
RECONFIGURE;
exec sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

原語法:

insert into #tmp
exec [link].SP

改為OPENQUERY:

insert into #tmp
select * from openquery([link],'SET FMTONLY OFF;SET NOCOUNT ON;exec SP')