揭秘SQL Server數(shù)據(jù)庫系統(tǒng)的編譯_Mssql數(shù)據(jù)庫教程
推薦:怎樣清除SQL Server日志方法一 一般情況下,SQL數(shù)據(jù)庫的收縮并不能很大程度上減小數(shù)據(jù)庫大小,其主要作用是收縮日志大小,應(yīng)當(dāng)定期進(jìn)行此操作以免數(shù)據(jù)庫日志過大 1、設(shè)置數(shù)據(jù)庫模式為簡(jiǎn)單模式:打開SQL企業(yè)管理器,在控制臺(tái)根目錄中依次點(diǎn)開Microsoft SQL Server--
你知道SQL Server這么龐大的企業(yè)級(jí)數(shù)據(jù)庫服務(wù)器產(chǎn)品是如何build出來的嗎?
這有些相關(guān)的數(shù)據(jù):
每個(gè)build 的大小在300GB左右。
每個(gè)完整的build需要幾十臺(tái)高端的服務(wù)器運(yùn)行2.5天。
每個(gè)完整的build由幾千個(gè)job、10000多個(gè)參數(shù)組成。
我們每天同時(shí)做20個(gè)左右的build,每周130個(gè)。
位于美國(guó)微軟總部雷蒙德和北京的build團(tuán)隊(duì)能夠保證build全天24小時(shí)不間斷的順利進(jìn)行。
從去年至今,我們build team已經(jīng)成功而準(zhǔn)時(shí)地完成了數(shù)以千計(jì)的build。
也許你會(huì)問:你們的build怎么這么大?怎么需要這么長(zhǎng)的時(shí)間?為什么你們每天要做這么多build?
為什么我們的一個(gè)build這么大?比如說你的32位中文零售開發(fā)版SQL Server的DVD,包括工具和幫助文檔是4GB,那么你可以這樣估算一下:首先加上一些內(nèi)部的build信息和統(tǒng)計(jì),以及用于debug的Symbol,然后乘以2(retail版,debug 版),再乘以3(CPU 類型:x86、x64和ia64),再乘以所有的版本數(shù)(企業(yè)版、開發(fā)版、標(biāo)準(zhǔn)版等),最后再乘以支持的語言數(shù)。不只1個(gè)TB 了吧?J 幸好SQL 2008 的setup 團(tuán)隊(duì)采用了consolidated setup模式,這樣在一個(gè)語言包中,安裝程序可以判定你的CPU類型并根據(jù)你輸入的產(chǎn)品序列號(hào),自動(dòng)安裝對(duì)應(yīng)的版本。由此我們的build才壓縮到了300GB。
為什么我們的一個(gè)build需要這么長(zhǎng)時(shí)間?Build這么龐大的企業(yè)級(jí)數(shù)據(jù)庫服務(wù)器產(chǎn)品是一個(gè)極其復(fù)雜的過程,況且SQL Server的build 系統(tǒng)已經(jīng)是微軟內(nèi)最為高效的系統(tǒng)之一。她是圖形化用戶界面并且高度自動(dòng)化的。歷經(jīng)60小時(shí),多數(shù)build會(huì)順利的自動(dòng)完成并通知相關(guān)人員其build的狀態(tài)及信息。如果build失敗,其也會(huì)提供詳細(xì)的錯(cuò)誤信息用于debug。SQL Server的build 系統(tǒng)不僅如此易用和高效,同時(shí)可以靈活的適應(yīng)某些特殊的需求和build工作流。SQL Server的build 系統(tǒng)是由Windows Workflow Foundation驅(qū)動(dòng)的,其數(shù)以千計(jì)的job被并行或串行的分發(fā)到幾十臺(tái) build機(jī)器上并完成。build的過程包括:
將幾十GB的源文件及相關(guān)的所需文件和資源同步到build機(jī)器上
源代碼靜態(tài)分析
編譯所有的可執(zhí)行文件和測(cè)試文件并簽名
生成系統(tǒng)數(shù)據(jù)庫
優(yōu)化
本地化
制作安裝文件和安裝包并簽名
索引Symbol和源文件
我們每天做這么多的build正體現(xiàn)了我們?nèi)绾沃С终麄(gè)SQL Server工程體系和構(gòu)架:
首先需要聲明的是我們隨時(shí)都在為多個(gè)產(chǎn)品提供支持,比如當(dāng)前的SQL Server 2005和即將發(fā)布的SQL Server 2008。
在SQL Server 2008的工程體系和構(gòu)架中,我們將每個(gè)需要增加或增強(qiáng)的功能特性做成一個(gè)單獨(dú)的分支,在這個(gè)功能特性開發(fā)和測(cè)試完成后,其代碼才會(huì)合并到SQL Server的主線代碼中。因此根據(jù)功能特性的優(yōu)先級(jí)和大小,SQL Server分成了幾十個(gè)不同的團(tuán)隊(duì),每個(gè)團(tuán)隊(duì)包括了架構(gòu)師、項(xiàng)目經(jīng)理、開發(fā)和測(cè)試人員,幫助及案例文檔專員,甚至科學(xué)家和科研人員。每個(gè)分支都需要build來進(jìn)行及時(shí)的測(cè)試,因此有了這個(gè)我們當(dāng)前每周需要的build個(gè)數(shù)——130。當(dāng)build結(jié)束后,Test Execution team和其分支團(tuán)隊(duì)會(huì)執(zhí)行自動(dòng)測(cè)試來確保其代碼的質(zhì)量符合嚴(yán)格的要求和標(biāo)準(zhǔn)。最后當(dāng)這個(gè)功能特性開發(fā)和測(cè)試完成后,其代碼將會(huì)融入到SQL Server的主線代碼中,然后其它各個(gè)分支團(tuán)隊(duì)將重新獲取主線代碼并融合其分支的當(dāng)前代碼,來保證和主線代碼的同步
分享:解決SQL Server數(shù)據(jù)庫權(quán)限沖突的三大妙招在SQL Server數(shù)據(jù)庫中,主要是通過角色來繼承相關(guān)的權(quán)限。但是,這個(gè)權(quán)限繼承很容易造成權(quán)限上的沖突。如現(xiàn)在有個(gè)銷售員賬戶SALE1,有一個(gè)銷售部門角色DE_SALES。其中銷售部門角色DE_SALES具有查詢所有客戶信息,即CUSTOM表的權(quán)限。但是銷售員賬戶SALE1其由
- sql 語句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數(shù)據(jù)庫,提示 無法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫教程推薦
- 實(shí)例演示left join/right join/inner join
- SQL Server儲(chǔ)過程加密和解密原理深入分析
- 黑客經(jīng)驗(yàn)談 MSSQL SA權(quán)限入侵的感悟
- 解讀sql中獲得部分時(shí)間的方法
- 解決Mysql服務(wù)無法啟動(dòng)的1067錯(cuò)誤
- 關(guān)于SQL Server 2008中報(bào)表服務(wù)的詳解
- 解析SQL Server數(shù)據(jù)庫觸發(fā)器安全隱患
- 怎樣改善SQL Server數(shù)據(jù)庫的內(nèi)存管理
- 當(dāng)SQL Server數(shù)據(jù)庫崩潰時(shí)如何恢復(fù)
- 淺談Oracle數(shù)據(jù)庫開發(fā)技術(shù)經(jīng)驗(yàn)
猜你也喜歡看這些
- C# Mysql 查詢 Rownum的解決方法
- mysql導(dǎo)出數(shù)據(jù)庫幾種方法
- MySQL出現(xiàn)大量unauthenticated user
- mysql占用CPU過高的解決辦法(添加索引)
- 網(wǎng)站模板:利用Shell腳本實(shí)現(xiàn)遠(yuǎn)程MySQL自動(dòng)查詢
- 解決MYSQL導(dǎo)入腳本數(shù)據(jù)中文亂碼
- 遠(yuǎn)程連接mysql數(shù)據(jù)庫注意點(diǎn)記錄
- 基于一致性hash算法(consistent hashing)的使用詳解
- SQL語句替換字段中的換行符,回車符
- 深入SQLite基本操作的總結(jié)詳解
- 相關(guān)鏈接:
- 教程說明:
Mssql數(shù)據(jù)庫教程-揭秘SQL Server數(shù)據(jù)庫系統(tǒng)的編譯
。