在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

將靜態(tài)分析與編譯器和數(shù)據(jù)庫(kù)集成

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:S. Tucker Taft ? 2022-06-28 14:09 ? 次閱讀

靜態(tài)分析工具正越來(lái)越多地集成到軟件開(kāi)發(fā)過(guò)程中。在過(guò)程中保存來(lái)自編譯器的數(shù)據(jù)、更改歷史記錄和錯(cuò)誤信息,而不是作為后置代碼步驟,可以提高靜態(tài)分析的效率。

高級(jí)靜態(tài)分析工具在嵌入式系統(tǒng)開(kāi)發(fā)中變得越來(lái)越重要。遠(yuǎn)遠(yuǎn)超出實(shí)際上是編碼風(fēng)格檢查器的舊靜態(tài)分析工具,新工具靜態(tài)分析源程序的控制和數(shù)據(jù)流,從而檢測(cè)錯(cuò)誤和漏洞,例如潛在的緩沖區(qū)溢出、未初始化變量的使用、通過(guò)空指針訪問(wèn),以及對(duì)安全攻擊(SQL 注入、跨站點(diǎn)腳本等)的敏感性。

然而,這些先進(jìn)的工具提出了幾個(gè)問(wèn)題。首先,工具需要了解被分析程序的語(yǔ)義——也就是說(shuō),它們必須編譯程序——以執(zhí)行所需的控制和數(shù)據(jù)流分析。為此,它們必須緊密集成到構(gòu)建環(huán)境中,以便在編譯時(shí)識(shí)別和使用所有可能需要的包含文件或其他規(guī)范模塊。其次,這些高級(jí)工具產(chǎn)生的輸出量可能令人望而生畏,每條診斷信息都需要仔細(xì)審查,以確定它是否反映了一個(gè)真正的問(wèn)題,如果是,如何解決它。

將靜態(tài)分析工具與軟件開(kāi)發(fā)工具鏈更緊密地集成可以緩解這兩個(gè)挑戰(zhàn)。在第一種情況下,將靜態(tài)分析工具與編譯器緊密集成在很大程度上消除了構(gòu)建環(huán)境問(wèn)題,并使用戶界面變得簡(jiǎn)單和熟悉。在第二種情況下,可以通過(guò)將所有輸出存儲(chǔ)在歷史數(shù)據(jù)庫(kù)中來(lái)管理大量輸出,從而允許程序員專注于已知良好版本和源當(dāng)前狀態(tài)之間的增量,而不是在每一步處理所有消息。

與編譯器集成

超越簡(jiǎn)單語(yǔ)法檢查的靜態(tài)分析工具通常需要編譯器前端的大部分功能,以便它可以根據(jù)程序的語(yǔ)義進(jìn)行分析。這是因?yàn)橄嗤木浞ㄐ问酵ǔ?梢愿鶕?jù)其成分的含義有不同的解釋。例如,Ada 中的表達(dá)式 F(N) 可能(除其他外)是數(shù)組引用、函數(shù)調(diào)用或類型轉(zhuǎn)換。

訪問(wèn)程序的底層語(yǔ)義允許該工具跟隨程序中出現(xiàn)的每個(gè)名稱回到引入該名稱的聲明,即使存在重載、通用模板或重命名也是如此。該工具將知道每個(gè)對(duì)象和每個(gè)表達(dá)式的類型,并將識(shí)別任何隱式運(yùn)行時(shí)檢查發(fā)生的位置。這些隱式運(yùn)行時(shí)檢查可能包括對(duì)取消引用空指針的檢查和對(duì)數(shù)組邊界之外的索引的檢查。即使沒(méi)有隱式運(yùn)行時(shí)檢查的語(yǔ)言也可以將某些運(yùn)行時(shí)操作定義為具有未指定的語(yǔ)義,例如整數(shù)算術(shù)溢出或超出范圍的數(shù)組索引。靜態(tài)分析工具需要知道語(yǔ)言語(yǔ)義何時(shí)允許這種未指定(因此不可預(yù)測(cè))的行為。

由于需要包含編譯器前端的強(qiáng)大功能,許多靜態(tài)分析工具都建立在感興趣的語(yǔ)言的現(xiàn)有編譯器技術(shù)之上。不幸的是,該工具的構(gòu)建者選擇的編譯器技術(shù)可能與該工具的客戶使用的編譯器無(wú)關(guān)。發(fā)生這種情況時(shí),靜態(tài)分析工具可能無(wú)法處理客戶編寫的代碼。

例如,如果客戶程序使用編譯器特定的功能(例如中斷處理或特殊的內(nèi)存映射工具),則無(wú)法保證靜態(tài)分析工具的底層完全或以同樣的方式支持它們。編譯器前端技術(shù)。即使對(duì)于可移植代碼,客戶的編譯器和靜態(tài)分析工具的底層技術(shù)也可能存在不同的錯(cuò)誤或?qū)φZ(yǔ)言規(guī)則的細(xì)微不同的解釋。即使解釋匹配,編譯程序的命令(控制源代碼搜索路徑、預(yù)處理器支持和其他功能的命令行開(kāi)關(guān))也可能有很大不同。因此,復(fù)雜程序的構(gòu)建過(guò)程可能難以轉(zhuǎn)換為對(duì)程序執(zhí)行靜態(tài)分析的生成過(guò)程。

為了解決這些問(wèn)題,明確的解決方案是將高級(jí)靜態(tài)分析引擎與客戶使用的相同編譯器技術(shù)集成。因此,靜態(tài)分析引擎必須在某種程度上獨(dú)立于任何特定編譯器技術(shù)使用的中間表示,以便該工具可以輕松地適應(yīng)支持多個(gè)編譯器前端。

一種方法是讓靜態(tài)分析引擎擁有自己的中間表示,專門設(shè)計(jì)用于支持工具執(zhí)行的高級(jí)分析。適應(yīng)支持新的編譯器前端需要編寫一個(gè)轉(zhuǎn)換模塊,將編譯器的中間表示(前端的輸出)轉(zhuǎn)換為靜態(tài)分析引擎使用的程序表示。翻譯模塊將結(jié)果輸出到文件中供以后使用。中間語(yǔ)言翻譯器既可以鏈接到編譯器前端,也可以作為獨(dú)立程序運(yùn)行,讀取編譯器的中間表示,轉(zhuǎn)換它,然后寫出分析引擎的中間表示。這個(gè)過(guò)程如圖 1 所示。

圖 1:中間語(yǔ)言翻譯器讀取編譯器的中間表示,對(duì)其進(jìn)行轉(zhuǎn)換,然后寫出靜態(tài)分析引擎的中間表示。

poYBAGK6my-AVZT4AAMKOJXCdmI208.png

當(dāng)采用這種集成方法時(shí),靜態(tài)分析只是構(gòu)建過(guò)程的另一部分,可以在編譯期間執(zhí)行,或者為了利用整個(gè)程序分析,在鏈接步驟期間執(zhí)行。對(duì)用戶的一個(gè)關(guān)鍵優(yōu)勢(shì)是調(diào)用靜態(tài)分析工具只涉及向編譯器和/或鏈接器提供額外的命令行開(kāi)關(guān)。無(wú)需為該工具創(chuàng)建專門的構(gòu)建腳本或維護(hù)兩組源(一組與編譯器一起使用,另一組與靜態(tài)分析工具一起使用)。

與開(kāi)發(fā)環(huán)境集成

由于軟件開(kāi)發(fā)通常通過(guò) Eclipse 等圖形集成開(kāi)發(fā)環(huán)境 (IDE) 進(jìn)行,因此將靜態(tài)分析工具和編譯器集成到 IDE 中是很自然的。然后,程序員將立即熟悉該工具的整體界面,從而減少學(xué)習(xí)曲線并增加定期使用該工具的可能性。

靜態(tài)分析工具生成的消息必須像編譯器生成的錯(cuò)誤或警告消息一樣處理,并由用戶以相同的方式管理和查看。鑒于正在使用多個(gè) IDE,每個(gè) IDE 都有自己的消息格式,靜態(tài)分析工具將需要表示其消息,以便可以輕松地將它們轉(zhuǎn)換為 IDE 期望的任何格式。

消息表示的自然選擇是 XML,因?yàn)樗褂脴?biāo)記的、自描述的方法來(lái)捕獲消息特征。使用 XML 的一個(gè)附帶好處是它有助于簡(jiǎn)化應(yīng)用程序的國(guó)際化過(guò)程,從而可以以客戶喜歡的自然語(yǔ)言顯示消息。

與歷史數(shù)據(jù)庫(kù)集成

一旦高級(jí)靜態(tài)分析工具與編譯器和 IDE 集成,下一個(gè)問(wèn)題就是處理此類工具可能提供的大量消息。因?yàn)楦呒?jí)靜態(tài)分析工具正在尋找可能的運(yùn)行時(shí)邏輯錯(cuò)誤和安全漏洞,所以它們必須模擬運(yùn)行時(shí)程序的執(zhí)行(識(shí)別一組潛在的執(zhí)行狀態(tài))并確定在什么條件下可能會(huì)達(dá)到不期望的狀態(tài)。不幸的是,這很少是簡(jiǎn)單的“是”或“否”。有許多灰色陰影,其中脆弱性程度取決于工具可能未知或超出其分析能力的因素。

這個(gè)問(wèn)題有時(shí)用健全性與精確性來(lái)表述。如果一個(gè)搜索有問(wèn)題結(jié)構(gòu)的工具能夠識(shí)別出它正在尋找的所有問(wèn)題(沒(méi)有誤報(bào)),那么它就被認(rèn)為是可靠的。但穩(wěn)健性通常是以犧牲精度為代價(jià)的。該工具可能會(huì)生成大量誤報(bào),這些誤報(bào)是用于識(shí)別并非真正問(wèn)題的警告或錯(cuò)誤。考慮這個(gè)使用類 C 語(yǔ)法的簡(jiǎn)單示例:

int k, m, n;

... // Complicated code that assigns a positive value to m

... // and that does not assign to n

if (m《0){

k=n;

...

}

工具可能無(wú)法推斷 if 語(yǔ)句上的 m《0 條件為假,因此可能會(huì)警告 if 語(yǔ)句的主體引用未初始化的變量 (n)。實(shí)際問(wèn)題恰恰相反:if 語(yǔ)句的主體是永遠(yuǎn)不會(huì)執(zhí)行的代碼,有時(shí)稱為死代碼或無(wú)法訪問(wèn)的代碼。

工具開(kāi)發(fā)人員必須決定是選擇健全性(確保沒(méi)有未被檢測(cè)到的實(shí)際違規(guī))還是精度(確保所有報(bào)告的違規(guī)都是真正的錯(cuò)誤)。當(dāng)一個(gè)工具用于安全關(guān)鍵或高安全性系統(tǒng)時(shí),天平就會(huì)傾斜。使用此類工具的開(kāi)發(fā)人員必須有信心檢測(cè)到所有違規(guī)行為。但這引發(fā)了前面提到的關(guān)于如何處理可能產(chǎn)生的大量誤報(bào)的問(wèn)題。當(dāng)該工具應(yīng)用于遺留軟件(在應(yīng)用靜態(tài)分析工具之前開(kāi)發(fā)的代碼)時(shí),這個(gè)問(wèn)題尤其明顯。對(duì)于大型應(yīng)用程序,用戶需要查看的消息數(shù)量可能令人望而生畏。

將高級(jí)靜態(tài)分析工具與歷史數(shù)據(jù)庫(kù)集成,可以有效地使用該工具,最大限度地減少誤報(bào)導(dǎo)致的問(wèn)題,即使對(duì)于在使用該工具之前開(kāi)發(fā)的復(fù)雜應(yīng)用程序也是如此。關(guān)鍵概念是基線的概念以及該工具突出顯示相對(duì)于此類基線的增量的能力。通過(guò)在歷史數(shù)據(jù)庫(kù)中記錄每個(gè)工具運(yùn)行的所有結(jié)果,該工具可以識(shí)別任何兩次運(yùn)行之間的增量(更改)。

數(shù)據(jù)變得更有用

為了使分析運(yùn)行之間的比較有效地進(jìn)行,消息必須是唯一可識(shí)別的,而不涉及特定的行號(hào),可以從源代碼的一個(gè)版本切換到另一個(gè)版本而無(wú)需任何重大更改。識(shí)別沒(méi)有行號(hào)的消息的一種方法是記錄消息的文本(或相應(yīng)的 XML),以及它出現(xiàn)的函數(shù)的名稱,如果消息的文本與同一功能中的一些先前消息。

假設(shè)消息使用這個(gè)與行號(hào)無(wú)關(guān)的唯一標(biāo)識(shí)符作為關(guān)鍵字存儲(chǔ)在數(shù)據(jù)庫(kù)中,那么該工具可以輕松識(shí)別給定消息是新消息還是先前生成的消息。這使歷史數(shù)據(jù)庫(kù)的整體大小保持可管理。該工具不需要為工具的所有調(diào)用重復(fù)存儲(chǔ)所有消息的文本,而只需要存儲(chǔ)給定消息的文本一次,以及該消息出現(xiàn)的工具調(diào)用范圍的指示(第一次運(yùn)行生成消息的位置,以及第一次沒(méi)有出現(xiàn)的運(yùn)行)。

該歷史數(shù)據(jù)庫(kù)使用戶界面可以直接顯示或突出顯示自指定基線以來(lái)的新消息。這使得該工具即使在具有大量遺留代碼的大型應(yīng)用程序上也能有效使用。應(yīng)用程序的已知良好版本可以通過(guò)分析工具作為基線運(yùn)行。可以分析應(yīng)用程序的當(dāng)前開(kāi)發(fā)版本,并將分析此已知良好版本的結(jié)果作為基線。那些在開(kāi)發(fā)版本上工作的人可以專注于與他們自已知良好版本以來(lái)所做的更改相關(guān)的任何消息,而不必費(fèi)力地處理與遺留代碼相關(guān)的消息。最終,可以致力于處理這些積壓的消息,

與歷史數(shù)據(jù)庫(kù)集成的另一個(gè)好處是能夠從查看分析結(jié)果的用戶那里收集評(píng)論。在某些情況下,可能需要對(duì)特定消息進(jìn)行大量調(diào)查以了解可能的影響。捕獲這項(xiàng)工作很重要。歷史數(shù)據(jù)庫(kù)是記錄用戶學(xué)習(xí)內(nèi)容的自然場(chǎng)所。

另外,如果用戶確定所識(shí)別的代碼是安全可靠的,歷史數(shù)據(jù)庫(kù)可以記錄該給定消息應(yīng)該從后續(xù)輸出中被抑制,并且可以記錄抑制該消息的支持理由。或者,如果需要更改識(shí)別的代碼,歷史數(shù)據(jù)庫(kù)可以記錄分配給問(wèn)題的程序故障報(bào)告 (PTR) ID,從而允許問(wèn)題跟蹤系統(tǒng)和分析工具的歷史結(jié)果之間的可追溯性。當(dāng)該工具檢測(cè)到具有關(guān)聯(lián) PTR ID 的消息消失時(shí),可以將其配置為直接通知問(wèn)題跟蹤系統(tǒng)可以關(guān)閉關(guān)聯(lián)的 PTR 記錄。自動(dòng)化關(guān)閉 PTR 的過(guò)程可以顯著減輕通常負(fù)擔(dān)過(guò)重的質(zhì)量保證團(tuán)隊(duì)的負(fù)擔(dān)。

靜態(tài)分析作為開(kāi)發(fā)過(guò)程的關(guān)鍵組成部分

隨著應(yīng)用程序變得越來(lái)越大和越來(lái)越復(fù)雜,高級(jí)靜態(tài)分析工具在現(xiàn)代軟件開(kāi)發(fā)中發(fā)揮著關(guān)鍵作用,它顯著減少了查找可能危及系統(tǒng)可靠性、安全性或安全性的錯(cuò)誤和漏洞所需的工作量。但許多組織尚未充分利用這些工具,通常是因?yàn)閷⑺鼈兗{入日常軟件開(kāi)發(fā)過(guò)程(構(gòu)建、回歸測(cè)試和其他步驟)可能存在很高的進(jìn)入障礙。

如前所述,兩個(gè)重要的步驟可以減少這種進(jìn)入障礙:工具與編譯器技術(shù)和歷史數(shù)據(jù)庫(kù)的集成。這不僅僅是一個(gè)理論上的提議。CodePeer 是由 SofCheck 和 AdaCore 聯(lián)合開(kāi)發(fā)的高級(jí)靜態(tài)分析工具,作為 Ada 的自動(dòng)代碼審查器。該工具已完全集成到 AdaCore 的 GNAT Pro Ada 開(kāi)發(fā)環(huán)境中,并可通過(guò) GNAT Programming Studio IDE 調(diào)用。

與編譯器的集成在很大程度上消除了將源代碼移植到分析工具的挑戰(zhàn)。成功編譯源代碼的同一編譯器前端還可以生成高級(jí)靜態(tài)分析引擎進(jìn)行更深入分析所需的中間表示。此外,相同的命令行開(kāi)關(guān)、源代碼結(jié)構(gòu)和 make 文件可用于編譯和靜態(tài)分析代碼。編譯器前端將自動(dòng)處理應(yīng)用程序使用的任何特定于實(shí)現(xiàn)的功能。

降低進(jìn)入壁壘的第二個(gè)主要步驟是與歷史數(shù)據(jù)庫(kù)的集成,這使得在大型系統(tǒng)上工作的開(kāi)發(fā)人員可以專注于他們最近的更改,并將審查以前發(fā)布的遺留代碼中的問(wèn)題推遲到更合適的時(shí)間。此外,與數(shù)據(jù)庫(kù)的集成允許開(kāi)發(fā)人員記錄審查工具輸出的結(jié)果以及決定隱藏消息或?qū)⑵錃w檔為 PTR 的理由。最后,數(shù)據(jù)庫(kù)會(huì)自動(dòng)驗(yàn)證修復(fù)并關(guān)閉 PTR。通過(guò)這兩個(gè)步驟,靜態(tài)分析可以成為嵌入式軟件開(kāi)發(fā)人員工具箱中重要且高效的工具。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5133

    文章

    19501

    瀏覽量

    314262
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1653

    瀏覽量

    49822
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Oracle數(shù)據(jù)庫(kù)的多功能集成開(kāi)發(fā)環(huán)境

    無(wú)需編碼即可在圖表上構(gòu)建可視化查詢 消除性能瓶頸的查詢優(yōu)化 數(shù)據(jù)庫(kù)管理和靈活的用戶管理 帶有圖表和數(shù)據(jù)透視表的數(shù)據(jù)分析和報(bào)告工具 200多個(gè)真實(shí)測(cè)試
    的頭像 發(fā)表于 01-14 13:52 ?298次閱讀
    Oracle<b class='flag-5'>數(shù)據(jù)庫(kù)</b>的多功能<b class='flag-5'>集成</b>開(kāi)發(fā)環(huán)境

    數(shù)據(jù)庫(kù)是哪種數(shù)據(jù)庫(kù)類型?

    數(shù)據(jù)庫(kù)是一種部署在虛擬計(jì)算環(huán)境中的數(shù)據(jù)庫(kù),它融合了云計(jì)算的彈性和可擴(kuò)展性,為用戶提供高效、靈活的數(shù)據(jù)庫(kù)服務(wù)。云數(shù)據(jù)庫(kù)主要分為兩大類:關(guān)系型數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 01-07 10:22 ?381次閱讀

    Triton編譯器與GPU編程的結(jié)合應(yīng)用

    Triton編譯器簡(jiǎn)介 Triton編譯器是一種針對(duì)并行計(jì)算優(yōu)化的編譯器,它能夠自動(dòng)高級(jí)語(yǔ)言代碼轉(zhuǎn)換為針對(duì)特定硬件優(yōu)化的低級(jí)代碼。Triton編譯
    的頭像 發(fā)表于 12-25 09:13 ?696次閱讀

    Triton編譯器的優(yōu)化技巧

    (Instruction Selection) Triton 編譯器在指令選擇階段采用了先進(jìn)的算法來(lái)生成針對(duì)特定硬件架構(gòu)優(yōu)化的指令。這一階段的目標(biāo)是高級(jí)中間表示(IR)轉(zhuǎn)換為低級(jí)機(jī)器代碼,同時(shí)盡可能地利用硬件
    的頭像 發(fā)表于 12-25 09:09 ?713次閱讀

    Triton編譯器的優(yōu)勢(shì)與劣勢(shì)分析

    Triton編譯器作為一種新興的深度學(xué)習(xí)編譯器,具有一系列顯著的優(yōu)勢(shì),同時(shí)也存在一些潛在的劣勢(shì)。以下是對(duì)Triton編譯器優(yōu)勢(shì)與劣勢(shì)的分析: 優(yōu)勢(shì) 高效性能優(yōu)化 : Triton
    的頭像 發(fā)表于 12-25 09:07 ?982次閱讀

    Triton編譯器在機(jī)器學(xué)習(xí)中的應(yīng)用

    1. Triton編譯器概述 Triton編譯器是NVIDIA Triton推理服務(wù)平臺(tái)的一部分,它負(fù)責(zé)深度學(xué)習(xí)模型轉(zhuǎn)換為優(yōu)化的格式,以便在NVIDIA GPU上高效運(yùn)行。Triton編譯器
    的頭像 發(fā)表于 12-24 18:13 ?833次閱讀

    Triton編譯器與其他編譯器的比較

    Triton編譯器與其他編譯器的比較主要體現(xiàn)在以下幾個(gè)方面: 一、定位與目標(biāo) Triton編譯器 : 定位:專注于深度學(xué)習(xí)中最核心、最耗時(shí)的張量運(yùn)算的優(yōu)化。 目標(biāo):提供一個(gè)高度抽象、靈活、高效
    的頭像 發(fā)表于 12-24 17:25 ?857次閱讀

    Triton編譯器功能介紹 Triton編譯器使用教程

    Triton 是一個(gè)開(kāi)源的編譯器前端,它支持多種編程語(yǔ)言,包括 C、C++、Fortran 和 Ada。Triton 旨在提供一個(gè)可擴(kuò)展和可定制的編譯器框架,允許開(kāi)發(fā)者添加新的編程語(yǔ)言特性和優(yōu)化技術(shù)
    的頭像 發(fā)表于 12-24 17:23 ?1436次閱讀

    分享關(guān)于編譯器的科普

    源代碼分析工具和IDE集成。GCC被構(gòu)建成一個(gè)單一的靜態(tài)編譯器,這使得它非常難以被作為API并集成到其他工具中。 GCC比Clang支
    的頭像 發(fā)表于 12-09 09:49 ?445次閱讀

    云原生和數(shù)據(jù)庫(kù)哪個(gè)好一些?

    云原生和數(shù)據(jù)庫(kù)哪個(gè)好一些?云原生和數(shù)據(jù)庫(kù)各有其獨(dú)特的優(yōu)勢(shì),適用于不同的場(chǎng)景。云原生強(qiáng)調(diào)高效資源利用、快速開(kāi)發(fā)部署和高可伸縮性,適合需要高度靈活性和快速迭代的應(yīng)用。而數(shù)據(jù)庫(kù)則注重數(shù)據(jù)一致
    的頭像 發(fā)表于 11-29 10:07 ?438次閱讀

    多維表格數(shù)據(jù)庫(kù)Teable的適用場(chǎng)景?

    Teable多維表格數(shù)據(jù)庫(kù)是一款功能強(qiáng)大的云端數(shù)據(jù)庫(kù)和協(xié)作工具,結(jié)合了電子表格的靈活性和數(shù)據(jù)庫(kù)的強(qiáng)大功能,適用企業(yè)內(nèi)部項(xiàng)目管理 數(shù)據(jù)收集與整理 內(nèi)容管理與創(chuàng)意協(xié)作 客戶關(guān)系管理 項(xiàng)目跟
    的頭像 發(fā)表于 10-31 15:48 ?660次閱讀

    數(shù)據(jù)庫(kù)數(shù)據(jù)恢復(fù)—通過(guò)拼接數(shù)據(jù)庫(kù)碎片恢復(fù)SQLserver數(shù)據(jù)庫(kù)

    一個(gè)運(yùn)行在存儲(chǔ)上的SQLServer數(shù)據(jù)庫(kù),有1000多個(gè)文件,大小幾十TB。數(shù)據(jù)庫(kù)每10天生成一個(gè)NDF文件,每個(gè)NDF幾百GB大小。數(shù)據(jù)庫(kù)包含兩個(gè)LDF文件。 存儲(chǔ)損壞,數(shù)據(jù)庫(kù)
    的頭像 發(fā)表于 10-31 13:21 ?579次閱讀
    <b class='flag-5'>數(shù)據(jù)庫(kù)</b><b class='flag-5'>數(shù)據(jù)</b>恢復(fù)—通過(guò)拼接<b class='flag-5'>數(shù)據(jù)庫(kù)</b>碎片恢復(fù)SQLserver<b class='flag-5'>數(shù)據(jù)庫(kù)</b>

    應(yīng)用和數(shù)據(jù)庫(kù)部署在不同的物理服務(wù)上有什么優(yōu)點(diǎn)?

    應(yīng)用服務(wù)和數(shù)據(jù)庫(kù)服務(wù)分開(kāi)部署在不同的物理服務(wù)上,或者至少在不同的虛擬機(jī)上,通常是一個(gè)推薦的做法。這樣做有以下幾個(gè)優(yōu)點(diǎn): ? 1、安全性:分離可以提高系統(tǒng)的安全性。如果應(yīng)用服務(wù)
    的頭像 發(fā)表于 10-08 11:28 ?527次閱讀

    AI編譯器技術(shù)剖析

    隨著人工智能技術(shù)的飛速發(fā)展,AI編譯器作為一種新興的編譯技術(shù)逐漸進(jìn)入人們的視野。AI編譯器不僅具備傳統(tǒng)編譯器的功能,如高級(jí)語(yǔ)言編寫的源代碼
    的頭像 發(fā)表于 07-17 18:28 ?2360次閱讀

    恒訊科技分析:sql數(shù)據(jù)庫(kù)怎么用?

    。 2、安裝數(shù)據(jù)庫(kù)軟件: 在您的服務(wù)或本地計(jì)算機(jī)上安裝所選的數(shù)據(jù)庫(kù)軟件。 3、配置數(shù)據(jù)庫(kù)服務(wù): 根據(jù)需要配置
    的頭像 發(fā)表于 07-15 14:40 ?536次閱讀
    主站蜘蛛池模板: 免费观看国产网址你懂的 | 4虎成人| 亚洲操操操 | 色性综合 | 国产欧美一区二区三区观看 | 成人中文字幕一区二区三区 | 天天射狠狠干 | 淫五月 | 午夜影院0606 | 伊人精品在线观看 | 99九九成人免费视频精品 | 三级网站免费看 | 又粗又大又爽又色又过瘾视频 | tdg58在线观看 | 国产精品一区在线观看你懂的 | 日韩精品一区二区三区毛片 | 久久久久国产一级毛片高清片 | 日韩中文字幕电影 | 免费一级视频在线播放 | 午夜影院黄 | 午夜老司机福利 | 色偷偷成人网免费视频男人的天堂 | 国模精品视频 | 与子乱刺激对白在线播放 | 1024毛片基地 | 天天干b| 求av网站 | 天堂网在线最新版www中文网 | 羞羞色院91精品网站 | 亚洲qingse中文在线 | 天天干天天干天天干天天 | 欧美最猛黑人xxxx黑人猛交69 | 国产日韩欧美综合色视频在线 | 色噜噜狠狠狠色综合久 | 亚洲高清视频一区 | 四虎国产精品免费入口 | 特污兔午夜影院 | 免费观看黄色在线视频 | 国产高清成人mv在线观看 | 性欧美xxxx | 人人爽天天爽夜夜爽qc |