2016年12月27日 星期二

test

    /**
     * SyntaxHighlighter
     */
    function foo()
    {
        if (counter <= 10)
            return;
        // it works!
    }

2016年12月22日 星期四

顯示系統所有的message

USE master
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

設定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


2016年11月21日 星期一

2016年11月7日 星期一

虛擬團隊會比園區還要重要

「虛擬團隊會比園區還要重要」,這就是為何在過去新政府推動的「亞洲矽谷」中間加一個點,變成「亞洲・矽谷」,這個點就是所謂的連結。
現在軟體進步,已經不需要在特定地方才能工作。
自己一個人貢獻有限,但如果資料都能公開的話,就能讓這個社會感興趣想當推動的人,都能貢獻他們的想法。

2016年10月23日 星期日

A flat file

A flat file can be a plain text file or a binary file.
例如:本文,文件,圖片等,非結構化儲存於資料庫中

2016年10月20日 星期四

DOS備份至備援機

echo on
net use y: /delete /yes
net use y: \\172.18.2.254\SQLBackup
c:\windows\system32\robocopy C:\SQLBackup  Y:  /E /MOV

2016年10月18日 星期二

不上網的方法:


一、 不設定gateway ,或指錯gateway ip 位址
二、 設定靜態路由
Route  add  211.20.148.228  MASK  255.255.255.255  172.18.12.254 

若要永久存在,請加上” -P “

linux centos 6.4 升級 6.8

linux centos 6.4 升級 6.8
網卡eth0 會變成 eth1 ,無法找到網卡,網路會出問題。
要安裝  整合軟體 (Linux Integration Services Version 3.4 for Hyper-V)

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日 星期五

3D打印的机器人 可跳舞和直立行走

http://www.56dao.com/news/1110.html

3D打印的机器人 可跳舞和直立行走

2016年8月16日 星期二

統計總資料表數量

統計總資料表數量
SELECT COUNT(*) FROM information_schema.tables

2016年8月9日 星期二

SQL SERVER 2008 Express 最大同時連線數語法

SQL SERVER 2008 Express 最大同時連線數語法:

select @@Max_Connections

顯示為32767,要同時有32767個連線數也不容易。
SSMS工具-->物件總管-->任一資料庫-->可程式性-->系統函數」之下,有許多實用的函數,請多加利用。


2016年7月21日 星期四

Adventure Works 2014 Sample Databases

http://msftdbprodsamples.codeplex.com/releases/view/55330

2016年7月19日 星期二

使用jquery兩種方法

使用jquery兩種方法


2016年7月10日 星期日

我們躲不過獵狗
we can't outrun hounds forever
我們甩了他們很遠
we got a good start on them
他們會帶著獵狗找到我們
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