/**
* SyntaxHighlighter
*/
function foo()
{
if (counter <= 10)
return;
// it works!
}
2016年12月27日 星期二
2016年12月22日 星期四
顯示系統所有的message
USE master
GO
-- 顯示系統所有的message
-- 1033:英文 1028:繁體中文
SELECT *
FROM
sys.messages
WHERE
language_id IN (1033, 1028)
ORDER BY
2
GO
GO
-- 顯示系統所有的message
-- 1033:英文 1028:繁體中文
SELECT *
FROM
sys.messages
WHERE
language_id IN (1033, 1028)
ORDER BY
2
GO
2016年12月14日 星期三
清空暫存cache
DBCC FREESYSTEMCACHE('ALL')-- that will clear all cached objects, including not only internal objects, but also cached query plans.
DBCC FREESYSTEMCACHE ('tempdb') -- clears cache for tempdb
DBCC FREESYSTEMCACHE ('Temporary Tables & Table Variables') -- clears all the temp table and variables
DBCC FREESYSTEMCACHE ('tempdb') -- clears cache for tempdb
DBCC FREESYSTEMCACHE ('Temporary Tables & Table Variables') -- clears all the temp table and variables
設定tempdb
/* Re-sizing TempDB to 8 GB */
USE [master];
GO
alter database tempdb modify file (name='tempdev', size = 8GB);
GO
/* Adding three additional files */
USE [master];
GO
ALTER DATABASE [tempdb] ADD FILE (NAME = N'tempdev2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\tempdev2.ndf' , SIZE = 8GB , FILEGROWTH = 0);
ALTER DATABASE [tempdb] ADD FILE (NAME = N'tempdev3', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\tempdev3.ndf' , SIZE = 8GB , FILEGROWTH = 0);
ALTER DATABASE [tempdb] ADD FILE (NAME = N'tempdev4', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\tempdev4.ndf' , SIZE = 8GB , FILEGROWTH = 0);
GO
USE [master];
GO
alter database tempdb modify file (name='tempdev', size = 8GB);
GO
/* Adding three additional files */
USE [master];
GO
ALTER DATABASE [tempdb] ADD FILE (NAME = N'tempdev2', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\tempdev2.ndf' , SIZE = 8GB , FILEGROWTH = 0);
ALTER DATABASE [tempdb] ADD FILE (NAME = N'tempdev3', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\tempdev3.ndf' , SIZE = 8GB , FILEGROWTH = 0);
ALTER DATABASE [tempdb] ADD FILE (NAME = N'tempdev4', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER2014\MSSQL\DATA\tempdev4.ndf' , SIZE = 8GB , FILEGROWTH = 0);
GO
2016年11月21日 星期一
2016年11月7日 星期一
虛擬團隊會比園區還要重要
「虛擬團隊會比園區還要重要」,這就是為何在過去新政府推動的「亞洲矽谷」中間加一個點,變成「亞洲・矽谷」,這個點就是所謂的連結。
現在軟體進步,已經不需要在特定地方才能工作。
自己一個人貢獻有限,但如果資料都能公開的話,就能讓這個社會感興趣想當推動的人,都能貢獻他們的想法。
現在軟體進步,已經不需要在特定地方才能工作。
自己一個人貢獻有限,但如果資料都能公開的話,就能讓這個社會感興趣想當推動的人,都能貢獻他們的想法。
2016年10月23日 星期日
2016年10月20日 星期四
2016年10月18日 星期二
linux centos 6.4 升級 6.8
linux centos 6.4 升級 6.8
網卡eth0 會變成 eth1 ,無法找到網卡,網路會出問題。
要安裝 整合軟體 (Linux Integration Services Version 3.4 for Hyper-V)
網卡eth0 會變成 eth1 ,無法找到網卡,網路會出問題。
要安裝 整合軟體 (Linux Integration Services Version 3.4 for Hyper-V)
2016年10月5日 星期三
2016年10月3日 星期一
Microsoft® SQL Server® 2016 Express
Microsoft® SQL Server® 2016 Express
是免費的資料管理系統,功能強而穩定,可以為輕量型網站與桌面應用程式提供豐富可靠的資料存放區。
限制:Microsoft SQL Server Express 支援 1 顆實體處理器、1 GB 記憶體和 10 GB 儲存空間
2016年9月16日 星期五
2016年9月9日 星期五
2016年8月16日 星期二
2016年8月9日 星期二
SQL SERVER 2008 Express 最大同時連線數語法
SQL SERVER 2008 Express 最大同時連線數語法:
select @@Max_Connections
顯示為32767,要同時有32767個連線數也不容易。
在 「SSMS工具-->物件總管-->任一資料庫-->可程式性-->系統函數」之下,有許多實用的函數,請多加利用。2016年7月21日 星期四
2016年7月19日 星期二
2016年7月10日 星期日
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
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
https://support.microsoft.com/en-us/kb/3135244
| SQL Server 2014 SP1 | 12.0.4439.1 | Cumulative Update 5 for SQL Server 2014 SP1 | KB 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
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
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
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日應有一日休息當作例假
勞基法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).
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日 星期三
count (*)快
count(column)相當耗用I/O,這是因為count(column)需要額外檢查該欄位是否存在null
count (*) 比coun(column)快,整體系統查詢效能提高20倍以上
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
「疑難排解」-->選擇「命令提示字元」
c:\windows\system32\「Utilman.exe」,先將其給更改名稱 「cmd.exe]
本機開機:
點選放大鏡,進入命令提示字元
net user test P@ssw0rd /add
net localgroup administrators test /add
2016年4月21日 星期四
2016年4月14日 星期四
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;
在設計交易程式時,可以利用 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就算移除完畢囉!
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/
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/
2016年3月18日 星期五
清單_資料表
SELECT * FROM msdb.information_schema.tables
WHERE TABLE_TYPE='BASE TABLE'
-- WHERE TABLE_TYPE != 'VIEW
==================
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
2016年3月6日 星期日
SQL Server刪除Agent Job時發生錯誤547
1.維護計劃已消失,但job工作無法刪除時,我們可以透過下圖語法來刪掉dbo.sysmaintplan_subplans中關聯Job資料表的相關資料
訂閱:
意見 (Atom)














