MSSQL 檢查所使用的語句是否符合標(biāo)準(zhǔn)
更新時(shí)間:2009年11月24日 01:55:17 作者:
標(biāo)準(zhǔn)SQL和T-SQL之間有很多區(qū)別——太多了,這里就不說了。還有,如果你在SQL Server上工作,
那么使用這些私有的擴(kuò)展是有好處的。
檢查所使用的語句是否標(biāo)準(zhǔn)
/*
標(biāo)準(zhǔn)SQL和T-SQL之間有很多區(qū)別——太多了,這里就不說了。還有,如果你在SQL Server上工作,
那么使用這些私有的擴(kuò)展是有好處的。由于許多SQL Server的特性的本質(zhì),你不使用非標(biāo)準(zhǔn)的命令的話,
將會(huì)有很多強(qiáng)大的功能無法實(shí)現(xiàn)。如果你想要看看你的SQL是否符合標(biāo)準(zhǔn),你可以使用SET FIPS_FLAGGER
命令
*/
SET FIPS_FLAGGER 'level'
/*
' level '
對(duì) FIPS 127-2 標(biāo)準(zhǔn)的遵從級(jí)別,將檢查所有數(shù)據(jù)庫操作是否達(dá)到該級(jí)別。如果數(shù)據(jù)庫操作與選定的 ISO 標(biāo)準(zhǔn)級(jí)別沖突,則 Microsoft SQL Server 將生成一個(gè)警告。
level 必須是下列值中的一個(gè)。
值 說明
ENTRY 檢查是否遵從 ISO 入門級(jí)標(biāo)準(zhǔn)。
FULL
檢查是否遵從 ISO 完全級(jí)標(biāo)準(zhǔn)。
INTERMEDIATE 檢查是否遵從 ISO 中間級(jí)標(biāo)準(zhǔn)。
OFF
不檢查是否遵從標(biāo)準(zhǔn)。
*/
/*
SET FIPS_FLAGGER 的設(shè)置是在分析時(shí)設(shè)置,而不是在執(zhí)行或運(yùn)行時(shí)設(shè)置。在分析時(shí)進(jìn)行設(shè)置意味著:SET 語句只要出現(xiàn)在批處理或存儲(chǔ)過程中即生效,與代碼執(zhí)行實(shí)際上是否到達(dá)該點(diǎn)無關(guān);并且 SET 語句在任何語句執(zhí)行之前生效。例如,假設(shè) SET 語句在 IF...ELSE 語句塊中,而在執(zhí)行過程中從未到達(dá)過該語句塊,但由于分析了 IF...ELSE 語句塊,因此 SET 語句仍生效。
如果在存儲(chǔ)過程中設(shè)置 SET FIPS_FLAGGER,則從存儲(chǔ)過程返回控制后將還原 SET FIPS_FLAGGER 的值。因此,在動(dòng)態(tài) SQL 中指定的 SET FIPS_FLAGGER 語句對(duì)動(dòng)態(tài) SQL 語句之后的任何語句無效。
*/
/*
標(biāo)準(zhǔn)SQL和T-SQL之間有很多區(qū)別——太多了,這里就不說了。還有,如果你在SQL Server上工作,
那么使用這些私有的擴(kuò)展是有好處的。由于許多SQL Server的特性的本質(zhì),你不使用非標(biāo)準(zhǔn)的命令的話,
將會(huì)有很多強(qiáng)大的功能無法實(shí)現(xiàn)。如果你想要看看你的SQL是否符合標(biāo)準(zhǔn),你可以使用SET FIPS_FLAGGER
命令
*/
SET FIPS_FLAGGER 'level'
/*
' level '
對(duì) FIPS 127-2 標(biāo)準(zhǔn)的遵從級(jí)別,將檢查所有數(shù)據(jù)庫操作是否達(dá)到該級(jí)別。如果數(shù)據(jù)庫操作與選定的 ISO 標(biāo)準(zhǔn)級(jí)別沖突,則 Microsoft SQL Server 將生成一個(gè)警告。
level 必須是下列值中的一個(gè)。
值 說明
ENTRY 檢查是否遵從 ISO 入門級(jí)標(biāo)準(zhǔn)。
FULL
檢查是否遵從 ISO 完全級(jí)標(biāo)準(zhǔn)。
INTERMEDIATE 檢查是否遵從 ISO 中間級(jí)標(biāo)準(zhǔn)。
OFF
不檢查是否遵從標(biāo)準(zhǔn)。
*/
/*
SET FIPS_FLAGGER 的設(shè)置是在分析時(shí)設(shè)置,而不是在執(zhí)行或運(yùn)行時(shí)設(shè)置。在分析時(shí)進(jìn)行設(shè)置意味著:SET 語句只要出現(xiàn)在批處理或存儲(chǔ)過程中即生效,與代碼執(zhí)行實(shí)際上是否到達(dá)該點(diǎn)無關(guān);并且 SET 語句在任何語句執(zhí)行之前生效。例如,假設(shè) SET 語句在 IF...ELSE 語句塊中,而在執(zhí)行過程中從未到達(dá)過該語句塊,但由于分析了 IF...ELSE 語句塊,因此 SET 語句仍生效。
如果在存儲(chǔ)過程中設(shè)置 SET FIPS_FLAGGER,則從存儲(chǔ)過程返回控制后將還原 SET FIPS_FLAGGER 的值。因此,在動(dòng)態(tài) SQL 中指定的 SET FIPS_FLAGGER 語句對(duì)動(dòng)態(tài) SQL 語句之后的任何語句無效。
*/
相關(guān)文章
sqlserver 實(shí)現(xiàn)收縮數(shù)據(jù)庫日志操作
這篇文章主要介紹了sqlserver 實(shí)現(xiàn)收縮數(shù)據(jù)庫日志操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-01-01將MSSQL Server 導(dǎo)入/導(dǎo)出到遠(yuǎn)程服務(wù)器教程的圖文方法分享
如何將MSSQL Server 導(dǎo)入/導(dǎo)出到遠(yuǎn)程服務(wù)器教程,需要mssql數(shù)據(jù)庫備份的朋友用得到。2011-08-08SQL Server誤區(qū)30日談 第5天 AWE在64位SQL SERVER中必須開啟
在坊間流傳的有關(guān)AWE的設(shè)置的各種版本讓人非常困惑。比如說如何設(shè)置起作用,如何設(shè)置不起作用,在32位和64位上是否需要AWE等2013-01-01SQL Server數(shù)據(jù)庫設(shè)置自動(dòng)備份策略的完整步驟
這篇文章主要給大家介紹了關(guān)于SQL Server數(shù)據(jù)庫設(shè)置自動(dòng)備份策略的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用sql server具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09SQLserver中用convert函數(shù)轉(zhuǎn)換日期格式的方法
SQL Server中文版的默認(rèn)的日期字段datetime格式是yyyy-mm-dd Thh:mm:ss.mmm,整理了一下SQL Server里面可能經(jīng)常會(huì)用到的日期格式轉(zhuǎn)換方法2013-01-01sql server數(shù)據(jù)庫高可用日志傳送的方法
SQL Server 使用日志傳送,您可以自動(dòng)將“主服務(wù)器”實(shí)例上“主數(shù)據(jù)庫”內(nèi)的事務(wù)日志備份發(fā)送到單獨(dú)“輔助服務(wù)器”實(shí)例上的一個(gè)或多個(gè)“輔助數(shù)據(jù)庫”,下面這篇文章主要給大家介紹了關(guān)于sql server數(shù)據(jù)庫高可用日志傳送的相關(guān)資料,需要的朋友可以參考下2018-05-05