2016年7月10日 星期日

他們會帶著獵狗找到我們
they'll be after us with hounds

see 跟 seen用法

A: "Do you watch Friends?" B: "I've seen it, but I don't follow it."
answer:
YES-->Yes. I like watching it.
NO -->No. I don't
NOT 100% sure , use "seen"-->I've seen it, but I don't watch it all the time
                          -->"I've seen it, but I don't follow it."

example:choose whice one is correct ?
you've never seen me climb a tree
you've never see   me climb a tree

2016年6月16日 星期四

更新 SQL SERVER

Use the following table to determine whether your current version of SQL Server already has support for TLS 1.2 or whether you have to download an update to enable TLS 1.2 support. Use the download links in the table to obtain the server updates that are applicable to your environment.
https://support.microsoft.com/en-us/kb/3135244
SQL Server 2014 SP112.0.4439.1Cumulative Update 5 for SQL Server 2014 SP1KB 3052404 FIX: You cannot use the Transport Layer Security protocol version 1.2 to connect to a server that is running SQL Server 2014 or SQL Server 2012

2016年6月15日 星期三

查看blocking現像



SELECT * FROM sys.sysprocesses  s
CROSS APPLY sys.dm_exec_sql_text(sql_handle)
WHERE s.blocked > 0

查看SQL Server Profiler檔案

使用SQL Server Profiler產生d:\20160615.TRC後,使用下列語法查看內容
SELECT *
FROM fn_trace_gettable
('d:\20160615.TRC',DEFAULT)
ORDER BY CPU DESC

2016年6月3日 星期五

SQL Profiler 不適合長時間的進行

SQL Profiler此工具錄製完成後,並沒有圖型化的介面,只有單純的SQL語法檢示,所以只能自行分析找出問題,方法上較常見的就是將追蹤資料轉存到資料庫之後,再透過 SQL 語法進行分析,從其中找出 CPU、I/O 使用資源較高的部份,另外也可以找出執行最久的語法,但是此工具錄製時,由於消耗的資源較多,所以較不適合長時間的進行,若長時間錄製,會出現錯誤訊息或錯誤視窗以中止錄製。

2016年5月25日 星期三

所有資料庫資訊匯入

SELECT DB_NAME(mf.database_id) AS databaseName ,
 mf.physical_name ,
 divfs.num_of_reads ,
 --other columns removed in this section. See Listing 6.14 for complete code
 GETDATE() AS baselineDate
INTO #baseline
FROM sys.dm_io_virtual_file_stats(NULL, NULL) AS divfs
 JOIN sys.master_files AS mf ON mf.database_id = divfs.database_id
 AND mf.file_id = divfs.file_id





查看os_wait_stats狀態

查看os_wait_stats狀態
SELECT wait_type , SUM(wait_time_ms / 1000) AS [wait_time_s]
FROM sys.dm_os_wait_stats DOWS WHERE wait_type NOT IN ( 'SLEEP_TASK', 'BROKER_TASK_STOP', 'SQLTRACE_BUFFER_FLUSH', 'CLR_AUTO_EVENT', 'CLR_MANUAL_EVENT', 'LAZYWRITER_SLEEP' ) GROUP BY wait_type ORDER BY SUM(wait_time_ms) DESC


查看DMOs所有物件清單

查看DMOs所有物件清單如下:
SELECT [name] ,
 CASE [type]
 WHEN 'V' THEN 'DMV'
 WHEN 'IF' THEN 'DMF'
 END AS [DMO Type]
FROM [sys].[sysobjects]
WHERE [name] LIKE 'dm_%'
ORDER BY [name] ;


2016年5月20日 星期五

勞基法36條,勞工每7日應有一日休息當作例假

北市勞動局指出,經調查後超商沒有違規情形,因勞基法36條的規定,勞工只要第一個禮拜第1天休假,跟第二個禮拜最後1天休假就不違反,中間最多可以連續上班12天

勞基法36條,勞工每7日應有一日休息當作例假

2016年5月19日 星期四

測試資料庫備份速度

測試備份速度:
BACKUP DATABASE AdventureWorks2008 TO DISK = 'NUL' WITH COPY_ONLY

產生結果:
Processed 26392 pages for database 'AdventureWorks2008', file 'AdventureWorks2008_Data' on file 1.
Processed 36 pages for database 'AdventureWorks2008', file 'FileStreamDocuments' on file 1.
Processed 1 pages for database 'AdventureWorks2008', file 'AdventureWorks2008_Log' on file 1.
BACKUP DATABASE successfully processed 26428 pages in 0.483 seconds (427.466 MB/sec).

2016年5月18日 星期三

查詢時間過久問題

發生過程:
查詢資料庫時,回應時間有時要等三秒才會回應,
關閉所有程式,結果一樣會停頓回應,
防毒程式移除後,就不會發生。

問題原因:
因安裝家用版防毒程式於Server主機上,在更新上來不及處理,有時會Q住,
須安裝伺服器版本防毒程式,才能解決該問題。

count (*)快

count(column)相當耗用I/O,這是因為count(column)需要額外檢查該欄位是否存在null
count (*) 比coun(column)快,整體系統查詢效能提高20倍以上

2016年5月8日 星期日

忘記adminstrator密碼

光碟片開機:
「疑難排解」-->選擇「命令提示字元」
c:\windows\system32\「Utilman.exe」,先將其給更改名稱 「cmd.exe]

本機開機:
點選放大鏡,進入命令提示字元
net user test P@ssw0rd /add
net localgroup administrators test /add

HOT KEY

Windows 8 可以提供 Win + Shift +方向鍵左 和 Win + Shift +方向鍵右,這樣應用程式就可以方便的在多個螢幕上切換了。
Win + D  切換到桌面
Win + E  開啟檔案總管
Win + I  開啟設定選單
Win + L  鎖定螢幕,要暫時離開座位的時候可以方便使用。
Win + X  開啟系統工具設定
Win + Q 應用程式搜尋
Win + C 開啟右邊 Charms Bar
Win + Print Screen 擷取螢幕畫面

2016年4月21日 星期四

欄位自動加總

自動加總
新增一欄位xe,它會自動加總,其語法如下:
alter table a1
add xe as xid + xname persisted

2016年4月14日 星期四

INTERSECT 的語法和 UNION 指令
INTERSECT 的語法和 UNION 指令類似,INTERSECT 也是對兩個 SQL 語句所產生的結果做處理的。不同的地方是, UNION 基本上是一個 OR (如果這個值存在於第一句或是第二句,它就會被選出),而 INTERSECT 則 比較像 AND (這個值要存在於第一句和第二句才會被選出)。UNION 是聯集,而 INTERSECT 是交集。

2016年4月13日 星期三

查詢是否有啟用 XACT_ABORT 選項

在設計交易程式時,可以利用 XACT_ABORT 選項,指定當 Transact-SQL 陳述式產生執行階段錯誤時,SQL Server 是否自動回復目前的交易。
依據預設值,每個連線並未啟用 XACT_ABORT。

所以有朋友詢問,要如何檢視是否有啟用 XACT_ABORT 呢?
建議:可以利用 DBCC USEROPTIONS:傳回目前連接在使用中 (已設定) 的 SET 選項。 
請參考以下 範例碼:
USE master
GO

/*
DBCC USEROPTIONS
傳回目前連接在使用中 (已設定) 的 SET 選項。
*/
-- 預設僅顯示有啟用的SET 選項。未啟用的選項,並不會顯示出來。
DBCC USEROPTIONS;

-- 啟用 SET XACT_ABORT ON
/*
當 SET XACT_ABORT 是 ON 時,如果 Transact-SQL 陳述式產生執行階段錯誤,就會終止和回復整個交易。

當 SET XACT_ABORT 是 OFF 時,在某些情況下,只會回復產生錯誤的 Transact-SQL 陳述式,交易會繼續進行。
隨著錯誤嚴重性而不同,即使 SET XACT_ABORT 是 OFF,也有可能回復整個交易。OFF 是預設值。

SET XACT_ABORT 不會影響到如語法錯誤之類的編譯錯誤。
*/
SET XACT_ABORT ON

-- 多增加一筆記錄,有顯示 XACT_ABORT。

DBCC USEROPTIONS;

2016年4月12日 星期二

SQL 2005移除步驟

1.備份資料:這是首要工作喔!。

2.停止所有的SQL SERVER服務:避免在移除過程中,SQL SERVER仍在執行導致無法正確移除。從「我的電腦」→「右鍵」→「管理」→「服務」把所有SQL SERVER的服務停止。

3.執行ARPWrapper.exe /Remove:

4.在命令提示字元下,輸入”cd C:\Program Files\Microsoft SQL Server\90\Setup Bootstrap\ARPWrapper.exe /Remove”。(如果有安裝Expreee版本,請再執行一次)。

5.勾擇移除所有SQL SERVER 2005相關檔案。移除時間會有點長。

6.執行”新增/移除程式”:移除完成後再將「控制台」→「新增移除程式」→「Microsoft SQL Server Native Client 元件」解除安裝;

7.移除完成:所有的SQL SERVER 2005就算移除完畢囉!

2016年3月22日 星期二

記憶體_buffer Pool

--Query to find the Buffer Pool usage per each Database
DECLARE @total_buffer INT;
SELECT @total_buffer = cntr_value
   FROM sys.dm_os_performance_counters
   WHERE RTRIM([object_name]) LIKE '%Buffer Manager'
   AND counter_name = 'Total Pages';

;WITH BufCount AS
(
  SELECT
       database_id, db_buffer_pages = COUNT_BIG(*)
       FROM sys.dm_os_buffer_descriptors
       WHERE database_id BETWEEN 5 AND 32766
       GROUP BY database_id
)
SELECT
   [Database_Name] = CASE [database_id] WHEN 32767
       THEN 'MSSQL System Resource DB'
       ELSE DB_NAME([database_id]) END,
   [Database_ID],
   db_buffer_pages as [Buffer Count (8KB Pages)],
   [Buffer Size (MB)] = db_buffer_pages / 128,
   [Buffer Size (%)] = CONVERT(DECIMAL(6,3),
       db_buffer_pages * 100.0 / @total_buffer)
FROM BufCount
ORDER BY [Buffer Size (MB)] DESC;



參閱:http://thesqldude.com/2012/12/14/scripts-to-monitor-sql-server-memory-usage-in-buffer-pool-plan-cache-and-identify-query-memory-grants-waits-by-session/

清單_資料庫容量

(1)
sp_helpdb
(2)
select * from  sys.dm_os_performance_counters
where counter_name in ('Data File(s) Size (KB)','Log File(s) Size (KB)','Log File(s) Used Size (KB)')

2016年3月18日 星期五

清單_失效日期

SELECT name AS LoginName,
   DATEADD(DAY, CAST(LOGINPROPERTY(name, 'DaysUntilExpiration') AS int), GETDATE()) AS ExpirationDate,
   create_date
   FROM sys.server_principals
   WHERE type = 'S'

清單_索引

select o.name
 , i.*
from sys.objects o
inner join sys.indexes i on i.object_id = o.object_id
where o.is_ms_shipped = 0
  and i.object_id > 100
  and i.index_id > 0
order by o.name
   , i.index_id;



清單_使用者

SELECT * FROM Sys.login_token
where type='SQL LOGIN'

清單_所有資料庫

--所有資料庫清單
select suser_sname(owner_sid) as 'Owner', state_desc, *
from sys.databases

--資料庫角色
SELECT * FROM sys.database_principals

清單_資料表

SELECT * FROM msdb.information_schema.tables

WHERE TABLE_TYPE='BASE TABLE'
-- WHERE TABLE_TYPE != 'VIEW

==================
SELECT sobjects.name
FROM sysobjects sobjects
WHERE sobjects.xtype = 'U'
Here is a list of other object types you can search for as well:
  • AF: Aggregate function (CLR)
  • C: CHECK constraint
  • D: Default or DEFAULT constraint
  • F: FOREIGN KEY constraint
  • L: Log
  • FN: Scalar function
  • FS: Assembly (CLR) scalar-function
  • FT: Assembly (CLR) table-valued function
  • IF: In-lined table-function
  • IT: Internal table
  • P: Stored procedure
  • PC: Assembly (CLR) stored-procedure
  • PK: PRIMARY KEY constraint (type is K)
  • RF: Replication filter stored procedure
  • S: System table
  • SN: Synonym
  • SQ: Service queue
  • TA: Assembly (CLR) DML trigger
  • TF: Table function
  • TR: SQL DML Trigger
  • TT: Table type
  • U: User table
  • UQ: UNIQUE constraint (type is K)
  • V: View
  • X: Extended stored procedure
trigger的語法如下:

Oracle

Oracle

Azure

Azure

雜項

雜項

SQL Server 高可用性

SQL Server 高可用性

SSIS

SSIS

Hyper-V

Hyper-V

2016年3月6日 星期日

SQL Server刪除Agent Job時發生錯誤547

1.維護計劃已消失,但job工作無法刪除時,我們可以透過下圖語法來刪掉dbo.sysmaintplan_subplans中關聯Job資料表的相關資料
clip_image028

2011年6月8日 星期三


捐贈40組再生電腦,期能帶動社區學校數位學習的步履,社區中家庭經濟較具挑戰的學生們,也能運用再生電腦開始數位化學習;更讓平日僅以紙筆製作教案的老師們,運用再生筆電隨時編寫教材,便利教學多元性。

2011年3月28日 星期一

少一塊,多四串玉蘭花

那天早上(3/28)起得晚,急急忙忙趕著上班,停好車後,眼看打卡時間己經遲到了,心情跟著急了起來。
一轉頭,眼前突然出現一位賣玉蘭花老婆婆,問我:「要不要買玉蘭花?」玉蘭花純白潔淨與淡淡幽香令人喜愛,我心想上班都來不及了那有時間買東西?「一串二十塊!」老婆婆又用深切期待的眼神看著我。
看著老婆婆瘦小的身影,基於同情心,我陶出身上的零錢交給婆婆,算一算只有十九塊,翻遍所有口袋,卻再也擠不出一塊錢。這時,老婆婆體諒地說:「少一塊沒關係拉!」
可我心想少一塊是少,少一千塊也是少,絶對不可以占老人家一點便宜,也不可以像對菜販一樣砍價,就把十九塊收回來,從錢包裡陶出一佰元交給婆婆,說:「我買一佰元玉蘭花!」老婆婆先是一楞,接著算了五串玉蘭花給我。
進了辦公室,除了二串拿去供佛,三串還送給女同事結緣。一整天,辦公室除了瀰漫著花香,還多了收到花的女同事心中的竊喜。

2011年2月9日 星期三

IE我的最愛,無法讀取資料

此問題是因為 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders 旁邊的設定有問題導致

1. 請把該畫面右邊的 Favorites 點右鍵 - 刪除

2. 在右邊空白處點右鍵 - 新增 - 可擴充字串值 , 名稱輸入 "Favorites" (不包含雙引號)

3. 對Favorites點兩下 , 把他的值設定成 "%USERPROFILE%\Favorites" (不包含雙引號)

2009年11月14日 星期六

忘記root密碼

以下分享一個簡單的作法:(如果因為不知道密碼而無法重新開機,那就按硬體的Reboot吧Orz)

●重新開機後在進入GRUB時選擇「FailSafe」,並且在畫面最下方的「Boot Option」的後面加上「init=/bin/bash」



按下Enter等待開機完成便會進入shell模式。



●輸入「passwd」設定新的root密碼。

●再輸入「mount -o remount,rw /」,將/掛回ro模式。

●最後再重新開機即可。

2009年11月10日 星期二

英文單字

至今保持滿分紀錄的會二甲郭佳翎表示,他對英文很有興趣,也持續參加英檢考試,畢業後有機會想出國深造,因此每天背單字,有助於他保持單字記憶力。而他被單字的秘訣是:搭配音節、看例句,知道單字如何使用才能牢記。(T)

2009年11月8日 星期日

製造業中電子零組件業

主計處完成受僱員工動向調查報告揭示了勞動市場兩極化的走勢,這份以97年底為調查時點的資料指出,國內具研究所學歷的受僱人力總計有26.9萬人,其中近半數(12.6萬)分佈在製造業,而製造業中,又以電子零組件業進用最多,高達6.4萬人。


主計處官員表示,電子零組件業所僱用的碩、博士占全體製造業所僱用的碩、博士總數高達51%,高學歷人力流向高科技業的情況極為明顯,主因半導體等高科技產業都擁有龐大的研發部門,對研發人才的需求相當殷切。


雖然電子零組件業所僱用的高學歷人力總數居各業之冠,但若以各業高學歷人力的比率觀察,電子零組件業每百名僱用者中的碩、博士雖達12.2人,但並非最高,包括電信、電腦系統設計、法律會計、建築工程及技術檢測這4個行業的碩、博士比例都比電子零組件業來得高。

取得教職非常困難

「學生來源減少,現在大學幾乎開不出新教師名額,加上私立大學為讓評鑑成績好看,紛紛找公立大學退休教授任職,堵死了年輕博士的機會。」阿宗感慨說,如果時間可以倒流,他不會讀碩士、博士。阿宗的高中同學中,有七個人當警察,二十歲開始工作、起薪就五萬元。阿宗說,他晚同學二十年才開始工作,現在薪水四萬多元,真不知讀博士要幹什麼?


年輕博士任教之路艱難,造成正在讀博士班學生心生警惕。清大光電所博士班一年級王奕智說,要在大學取得教職非常困難。除非再到國外進修,然後好的研究成果,加上有力人士推薦,才可能找到教職。