星期日, 3月 30, 2014

星期五, 3月 28, 2014

[SSMS] 產生 Script

一個 SSMS 的小技巧,可以一次產生全部 Script,下面利用 Alert 來說明

在 SSMS => 警示 => 預匯出 Script 的 Alert => 滑鼠右鍵 => 編寫警示的指令碼,此作法缺點是一次只能匯出一個

在 SSMS => 警示 => 物件總管詳細資料 => 滑鼠點選搭配 Shift 鍵,可以選擇全部的 Alert => 滑鼠右鍵 => 編寫警示的指令碼,這樣操作就可以一口氣匯出全部的 Alert Script


重點在於物件總管詳細資料內可以一次多選檔案並匯出

星期五, 3月 21, 2014

[SQL] 查詢 Store Procedure 內容

利用 sys.sql_modules 來查詢 Store Procedure 內容,但假如 Store Procedure 有加密,definition 欄位回傳值是 NULL,就無法解析內容
DECLARE @SPContent TABLE (SPName sysname , [definition] nvarchar(max))

INSERT INTO @SPContent (SPName,[definition])
SELECT 
  O.name AS SPName, 
  SM.[definition]
FROM sys.sql_modules as SM
  JOIN sys.objects AS O ON SM.[object_id] = O.[object_id]
WHERE O.type = 'P';

SELECT * FROM @SPContent WHERE [definition] LIKE '%keyword%'

星期一, 3月 17, 2014

MVA Error

在 MVA 學習時,測驗無法進行,發現該測驗的測試時間竟然是 0,想說大概是這個原因造成,每一次完成第一題就整個結束了

MVA Error - 1

星期五, 3月 14, 2014

[SQL] 正規化

實務上知道要怎麼正規化,但每次看理論都霧煞煞,趁著這次上課機會整理筆記內容

原始 Table 架構

第一正規化:分離會導致主鍵重覆欄位
第二正規化:獨立不完全依附主鍵相依
第三正規化:獨立完全不相依主鍵對應
整理正規化後的關聯性
第四與第五正規化型式的學術性大於實用性,實務上只要做到第三正規化,就可以滿足商業邏輯需求,並確保交易執行,對於 OLTP 來說,正規化有助於 INSERT、UPDATE 和 DELETE,但對於 SELECT 不利,而矛盾的是大多數的 OLTP 系統 80% 的操作都是 SELECT

星期五, 3月 07, 2014

[SQL] APPLY

Apply 從 SQL Server 2005 有,通常搭配資料表值函數(Table-Valued Function;TVF),而 Apply 有兩種模式:
  1. CROSS APLLY:搭配 TVF 可以產生類似 JOIN 效果
  2. OUTER APPLY:搭配 TVF 可以產生類似 LEFT JOIN 效果

星期一, 3月 03, 2014

[SSRS] 圖例

圖表圖例(Legend)包含圖表中每一個類別項目的描述,此論壇上問題是要如何解決圖表圖例上文字被截斷的情況,詳見下圖

[SSRS] 圖例-1

建立一個圓餅圖(PieChart)來說明情況
  • DataSet T-SQL 語法
USE [AdventureWorks2012]
GO

IF OBJECT_ID('PieChart') IS NOT NULL
  DROP TABLE PieChart

CREATE TABLE PieChart (BookName nchar(50),SalesQty int)
INSERT INTO PieChart VALUES
    (N'SQL SERVER 2012 T-SQL 撰寫',333),
    (N'SQL Server 2012 管理',213),
    (N'SQL Server 2012 調校',154),
    (N'SQL Server CLR',13),
    (N'SQL Server 備份',34)