Time of Update: 2017-02-27
問題我需要一個建立能夠保持最新資料字典的方法。我對資料庫做了很多更改,而我花費於資料 庫文檔更新的時間多於資料庫管理的時間。專家解答如果你將中繼資料存放區為擴充屬性, 那麼你可以使用SQL Server 2005在幾秒之內為一個資料庫建立一個資料字典。SQL Server 2005 AdventureWorks樣本資料庫包含了眾多擴充屬性,所以這個資料庫是一個很好的樣本。在這篇文章裡, 我們將介紹兩個核心內容。首先是一組指令碼樣本,它為表和欄位添加擴充屬性。其次是產生HTML格式數 據字典的T-
Time of Update: 2017-02-27
或許在應用程式代碼中找到的最常見的錯誤就是這樣的查詢請求:它不是使用準備好的查詢或程式, 而是使用非參數特設的查詢從資料庫中請求資料。不準備你的查詢或者不使用預存程序會增加不必要的SQL Server計畫快取。什麼是計畫快取呢?簡單 地說,它是SQL Server共用記憶體池的一部分,在這裡,解析、編譯和執行最佳化這些查詢之後,查詢執行 計劃仍被儲存。無論何時執行一個查詢,記憶體的這個地區都會被尋找,以便確定現有的一個計劃是否可
Time of Update: 2017-02-27
這節我們主要講講我的遊戲交易資料分析項目的ETL(資料幫浦、載入、轉換)具體是怎麼做的。先來講下源系統吧,因為我們的交易主站的伺服器不是架在公司的,因此不能直接從源系統直接抽取 資料了。事實上我們已經存在一個簡單的資料分析系統了,只不過這個是以前人家做的,沒有採用 sqlserver2005的BI平台來做,而是直接寫winform程式來弄的。原來的資料幫浦是主站那邊提供匯出的
Time of Update: 2017-02-27
因為項目還沒有真正開始,但是接觸BI已有半年多,手癢,這幾天準備搞一個簡化版本的BI項目。一 方面給剛BI入門的朋友一個參考,另外一方面也為自己的將要開始的項目做個準備,讓自己能夠考慮到 一些項目的細節。同時也希望對BI有研究的朋友提供一些建議和經驗。因為我們的這個案例是採用微軟 的sqlserver2005的BI平台開發的,所以這裡先貼一張WebCast裡面截來的圖,這張圖主要反映了採用
Time of Update: 2017-02-27
接著我們上次那篇《一步一步學習sqlserverBi--多維資料庫建立》,現在我們多維資料庫已經有了 ,並且裡面也已經有了資料,那麼趕快進入咱們程式員的主題吧。今天我要在這個多維資料庫上 面開發兩個應用:1。按天統計各個部門的交易量2。按天統計各個部門和各個遊戲的交 易量首先設計強型別的資料集,如下圖。按部門統計資料集按部門和遊戲交叉統 計資料集設計MDX語句,在資料層執行MDX,並返回CellSet/**//// <summary>/// 按天統計各個部門的交易資料/// <
Time of Update: 2017-02-27
Sqlserver2005 中的analysis services支援兩種資料庫連接方式(1)windows驗證方式(形如 "Data Source=limj;Catalog=Analysis Services Tutorial;ConnectTo=9.0;Integrated Security=SSPI");(2)http驗證方式(形如"Provider=MSOLAP;User ID=administrator;Password=119;Persist
Time of Update: 2017-02-27
SQL Server BI Step by Step SSIS 7 (End) - 事務,錯誤輸出,事件處理,日誌記錄和其它程式一樣,SSIS包同樣需要健壯,穩定的運行,這樣的程式才有可靠性和延展性。SSIS提供了如下方面的支援:1.事務: 可以對一個程式包設定成一個或者多個事務,甚至可以對兩個程式包設定成一個事務。為了 保證資料的一致性,你還可以DTC事務或者SQL Server引擎級的事務。2.檢查點: 用來記錄一個程式包出錯時任務的運行情況,以便程式包再次啟動時,直接從發生錯誤的
Time of Update: 2017-02-27
SSIS不僅是一個ETL工具,其實它的功能非常強大。就拿它的WMI Data Reader任務和Event Watcher 任務來說,甚至可以擷取很多作業系統的資訊。Windows管理規範(Windows Management Instrumentation)是Windows中的“最高機密”之一. WMI通過WQL查詢,可以來完成以下應用
Time of Update: 2017-02-27
忙了一段,終於有時間來完成這一系列了。sql server 2008正式版已經發布了,接下來的系列都將基於sql server 2008+vs.net 2008開發。引言在一個B2B項目中遇到這樣的一個情況,每天老闆都想看到所有的新的訂單資訊,而這個老闆很懶,不想登入系統後台,而是想通過查看郵件的方式。當然實現方式很多,這裡我們介紹一個怎麼使用SSIS包來實現這樣的一個功能。使用SQL XML
Time of Update: 2017-02-27
本文配套源碼我們已經介紹了三種方法來實現資料流源和資料庫資料的合并,也就是Excel中的資料和資料庫裡面的 資料進行同步,存在的資料進行更新操作,不存在的添加資料,另外還可以擴充為,如果資料庫為的資料在 Excel資料來源中不存在,則執行刪除操作.接下來我們來介紹其它的方法來實現這樣的目標. 我們 在合并資料1中曾經介紹過,直接通過Merge和Merge Jone是無法直接實現的,不過我們可以通過變通的方
Time of Update: 2017-02-27
本文配套源碼上次我們並沒有實現Excel中的資料與資料庫中的資料進行整合,存在即更新,不存在即插入.這次主要 介紹幾種方法來實現:1.使用Lookup2.使用execute SQL task調用預存程序3. 使用script component指令碼實現4.使用MERGE 語句(SQL SERVER 2008)5.使用上次我們 用到的Merge來實現6.使用第三方組件SCD Component看起來能夠實現的方法確實不少,
Time of Update: 2017-02-27
本文配套源碼我們已經實現了把Excel中的資料匯入到資料流目的地,也就是資料庫中,但是我們只是類比了不重複的 資料,也就是都是資料庫中此時不存在的資料.那麼如果資料流源Excel中的資料和資料庫中的資料的主鍵 相同的情況下,再進行插入操作就會出現異常,怎麼才能實現自動的更新操作呢?也就是自動的判斷資料來源 的資料,如果資料庫中存在就執行更新,不存在就執行插入呢?可能叫做合并資料會有些誤解,這裡 的合并資料與資料流中的Merge組件和Merge
Time of Update: 2017-02-27
本文配套源碼上一次我們已經介紹了簡單的資料匯出和匯入,但是只是對單一檔案進行操作,如果我們想同時對一個目錄下面的所有的檔案執行資料匯入怎麼實現呢?相當簡單,SSIS在控制流程中提供了Foreach迴圈容器,很容易理解,它和序列容器相比就是能夠迴圈的遍曆執行,能夠對指定列舉程式的每個成員重複執行控制流程:可以看到,Foreach迴圈窗器遍曆檔案夾可以通過一些設定或者是正則來匹配,使用 Foreach 迴圈 容器,可以枚舉:•ADO 記錄集行和架構資訊•檔案和目錄
Time of Update: 2017-02-27
本文配套源碼讓我們首先開始學習SSIS吧,利用SSIS把SQL Server中的資料匯出.首先,開啟Vs.net 2005,選擇商業 智能項目,然後選擇模板中的Integration Service項目,輸入項目名稱:建立好後,我 們就在預設的Package包中進行設計(關於一些概念性的就不介紹了,請參照這個文章, 或者是其它的教程 或者書籍).首先向控制流程中添加一個資料流組件(Data Flow Task),雙擊進入資料流.從左邊的工具箱中 選擇OLEDB資料來源(OLE DB
Time of Update: 2017-02-27
今天我們開始SQL SERVER BI的另外一個重要的部分 --Reporting Service,相對於Integration Service和Analysis Service,Reporing Service在國內的使用者應該多很多.一方面由於Reporing Service費用比較低,直接附屬在SQL SERVER中,另外一方面其實SSRS在很大程度上還是滿足我們的報表 需求的。 在SQL Server
Time of Update: 2017-02-27
大部分人都知道用oledb來讀取資料到dataset,但是讀取之後怎麼處理dataset就千奇百怪了。很多人通過迴圈來拼接sql,這樣做不但容易出錯而且效率低下,System.Data.SqlClient.SqlBulkCopy 對於新手來說還是比較陌生的,這個就是傳說中效率極高的bcp,6萬多資料從excel匯入到sql只需要4.5秒。using System;using System.Data;using System.Windows.Forms;using
Time of Update: 2017-02-27
最佳化資料庫的注意事項:1、關鍵字段建立索引。2、使用預存程序,它使SQL變得更加靈活和高效。3、備份資料庫和清除垃圾資料。4、SQL語句文法的最佳化。(可以用Sybase的SQL
Time of Update: 2017-02-27
我做的網站基本上都要用到一個無限級的目錄表,用來分門別類組織各種文章類的資訊。這個表只有三個欄位(Id,ParentId,Name),一直就是這樣用也沒出現過什麼問題。直到昨天,碰到了一個問題。我需要知道某個目錄下面所有的子孫目錄都有哪些。如果以Id或ParentId來尋找的話,只能取得父Id和子Id,卻不知道爺爺Id、老爺Id、孫子Id、重孫Id...。於是就在博問上發表了問題:http://space.cnblogs.com/question/3963/有園友提示在表中增加一個路徑欄位,也有
Time of Update: 2017-02-27
其實刪除資料庫中資料的方法並不複雜,為什麼我還要多此一舉呢,一是我這裡介紹的是刪除資料庫的所有資料,因為資料之間可能形成相互約束關係,刪除操作可能陷入死迴圈,二是這裡使用了微軟未正式公開的sp_MSForEachTable預存程序。也許很多讀者朋友都經曆過這樣的事情:要在開發資料庫基礎上清理一個空庫,但由於對資料庫結構缺乏整體瞭解,在刪除一個表的記錄時,刪除不了,因為可能有外鍵約束,一個常見的資料庫結構是一個主表,一個子表,這種情況下一般都得先刪除子表記錄,再刪除主表記錄。說道刪除資料記錄,往往
Time of Update: 2017-02-27
大多數情況下,將資料庫升級到 SQL Server 2008 會提高查詢效能。 但是,如果您具有已針對效能進行過認真最佳化的任務關鍵查詢,在升級前最好為每個查詢建立一個計劃指南,以保留這些查詢的查詢計劃。 如果在升級後,查詢最佳化工具為一個或多個查詢選擇了效率較低的計劃,則可以啟用這些計劃指南並強制查詢最佳化工具使用升級前的計劃。若要在升級前建立計劃指南,請按照以下步驟執行操作:通過使用 sp_create_plan_guide 預存程序並在 USE PLAN