Ⅰ 有沒有在線sql語句查詢練習的平台
在線的我倒不知道,不過我知道用新浪sae隨便創建個應用(php的,免費),然後你就可以免費用裡面的雲資料庫了,當然也可以在線練習sql語句了。順便說一句,選應用倉庫千萬不要選git,新浪的git倉庫是巨坑啊!!當初我不小心選了git倉庫,現在吐血中。。
Ⅱ 如何自動化完成SQL審核
sql審核主要完成兩方面的目的.
1、避免性能太差的sql進入生產系統,導致整體性能降低
2、檢查開發設計的索引是否合理,是否需要添加索引
第一點是SQL審核最核心的地方,避免亂七八糟的sql影響線上性能,甚至導致線上系統崩潰.
第二點是屬於建模的范疇,要解決建模的最好辦法是DBA參與項目前期審核,由DBA建模,如果DBA人力資源不足,那麼就定期由DBA對開發人員進行培訓.然後發現建模太爛的就扣KPI.
現在很多公司都是人肉來完成SQL審核的,人肉審核對dba的要求較高,需要懂一些代碼,另外是費時費力,畢竟一般公司幾十個開發,對應一個DBA,而且DBA還要干很多其他的事情.
如何將DBA從人肉SQL審核中解放出來呢?
思路其實很簡單:
1、獲取程序要執行的SQL
2、對要執行的SQL做分析,可以加各種分析條件來判斷這個SQL是否可以自動審核通過,未通過審核的需要人工處理.
3、配合後期的慢查詢日誌分析系統完成長期的監控.
開源的解決方案主要有淘寶丹臣sqlautoreview系統.可以在github上搜索到.
但是這個系統主要是基於java sqlmapfile.xml解決自動創建索引的問題,對源數據有要求,並且是通過解析SQL結構來假設SQL的執行計劃,不是特別准確,並且不能夠很好的區分新sql還是老sql.
所以產生了一個新的方案:
1、為所有的執行過的sql產生一個figerprint
2、基於慢查詢提供的數據,加上explain 提供的數據來判斷這個sql的性能是否可接受,或者可優化.
3、自動審核通過性能可接受的部分,給DBA展示性能較差的sql,然後進行優化.
方案的優點在於:
基於用戶真正執行的SQL,並且可以觀察SQL執行頻率.
基於MySQL真正的執行計劃和執行結果,分析更准確.
每個SQL都有一個fingerprint,只需要增量處理新加的SQL,效率和性能提高.
基於Box anemometer二次開發,讓慢查詢和sql審核同平台,增加工具集成性,提高用戶體驗(DBA和開發人員)。
方案實施:
既然咱是DBA,肯定會有更DBA的思維方式.基於現有軟體二次開發完成,減少開發成本,整合管理平台.
基於Box anemometer.安裝Box anemometer
Box anemometer是一款B/S架構,圖形化的MySQL慢查詢分析工具.功能強大易用,設計簡單直接.anemometer是基於pt-query-digest的二次封裝得來.
核心處理流程:
mysql node–>計劃任務通過pt-query-digest收集慢查詢信息–>結果寫入到資料庫中–>anemometer按條件去展示慢查詢的結果,並且提供了圖形化和趨勢分布圖等功能.
所以anemometer已經幫我們完成了數據收集,包括每個sql的fingerprint信息,以及相關的信息,我們在測試環境,基於anemometer,將long_query_time設置為0,就可以收集到所以的SQL及相關信息.
在我們收集到所有SQL以後,我們就要來分析這個SQL是否可以自動審核通過.這里開始我們就要定製了.
定製內容如下:
一、
設置一個單獨的datasources,可以命名為audit_sql.
這個datasources裡面只放置開發環境或者測試環境的慢查詢(你要做sql審核基於哪個環境),將此環境的long_query_time設置為0,接收所有的sql查詢.
二、修改anemometer
ALTER TABLE `global_query_review` ADD audit_status VARCHAR(255) NOT
NULL DEFAULT 『refuse』 comment 『sql審計的狀態 refuse未通過 pass審核通過』;
修改PHP代碼.
在report模塊的where條件中增加一個Ait Status的選項框,可以過濾audit_status的狀態
在show_query模塊中增加一個Audit Status的選項框,可以人工設置audit_status的狀態
三、增加兩個額外的腳本,准實時的分析audit_status為refuse的sql,如果sql的滿足自動審核通過的條件,那麼就設置audit_status為pass,表示自動審核通過.
自動審核未通過的sql,由DBA人工在anemometer上檢索和處理.
這里就涉及到一個自動審核通過的演算法:
演算法分兩種.
第一種是准實時,也就是可以幾分鍾或者一個小時運行一次,主要是根據每個sql的執行效率判斷是否pass.
對應的腳本名字叫做:audit_sql.py
第二種是一天一次,弱化執行效率判斷,增加一天執行的頻率判斷.
對應的腳本名字叫做:audit_sql_day.py
各家根據自己的實際情況調整或者優化這兩個腳本.
至此,你已經可以讓99%以上的代碼自動審核通過了,審核不通過的代碼你可以讓開發自己來tracking也可以主動推給開發.
對於才搭建的環境,可能會有一些亂七八糟的sql,不過使用一段時間穩定以後,異常的sql指紋都有了,那麼每天產生的sql指紋就比較少了,而這部分SQL指紋也就是程序員編寫新的代碼產生的.
Ⅲ 如何檢查電腦里是否裝有SQL Server資料庫
查看步驟:
1、單擊「開始」——運行,在其中輸入「管理工具」並回車;
2、在打開的窗口中雙擊「服務」;
3、在出現的列表中查找名為"MSSQLSERVER"的條目;
4、如果存在則裝有SQL Server資料庫,反之,則證明沒有安裝。
Ⅳ 系統出現「無法連接資料庫,請檢查SQL伺服器是否啟動或網路是否正常」怎麼辦
具體步驟:
1.首先確認資料庫是不是正常啟動了。
2.如果是第一次安裝,你的操作系統是什麼?vista和win7裝sql2000不一定能裝上,需要2005,而且如果是win7家庭版很可能出現資料庫和軟體連不上。
3.如果是xp,以前是不是裝過資料庫後來卸載了,那麼卸掉sql清除干凈注冊表,重新安裝sql,最好用完整版,不要使用msde。
4.如果是用了一段時間,很可能是殺毒軟體誤殺資料庫文件,卸掉殺毒軟體,在管理裡面啟動下資料庫,看能否啟動,如果還能啟動。再啟動速達看能否連接上。
5.如果資料庫已經無法啟動,將數據作出備份,重裝資料庫吧。
6.如果是本機連接沒問題,其他連不上的話,關閉伺服器和客戶端window自帶防火牆,資料庫打sp4補丁,開啟guest用戶。
Ⅳ 用什麼軟體可以檢測自己的本地網站是否有sql注入漏洞
簡單的漏洞測試的話 可以試一下這個 Safe3 Web漏洞掃描系統企業版v10.1 破解版
Ⅵ SQL 檢查約束 借書日期大於還書日期 怎麼寫 急
CONSTRAINT [CK_UDS_Class] CHECK ([借書日期] < [還書日期])
也可以設計表-CHECK約束-新建
Ⅶ 無法進行sql server系統配置檢查器
在開始安裝
sql
server
之前,系統配置檢查器
(scc)
會驗證性能監視器計數器注冊表項的值。如果
scc
無法驗證現有的注冊表項或無法運行
lodctr.exe
系統程序,則
scc
檢查將失敗,並阻止安裝。若要完成安裝,則必須手動增加該注冊表項。
在[hkey_local_machine\software\microsoft\windows
nt\currentversion\perflib]。查找以下項:
last
counter"=dword:00000ed4
(5276)
last
help"=dword:00000ed5
(5277)
驗證這些項的值。
如果裝中文版的上一步驟
(5276)
的
last
counter
值必須等於以下注冊表項中
perflib\004
的
counter
項的最大值,並且上一步驟
(5277)
的
last
help
值必須等於以下注冊表項中
perflib\004
的
help
項的最大值:[hkey_local_machine\software\microsoft\windows
nt\currentversion\perflib\009]。
如果裝英文版的上一步驟
(5276)
的
last
counter
值必須等於以下注冊表項中
perflib\009
的
counter
項的最大值,並且上一步驟
(5277)
的
last
help
值必須等於以下注冊表項中
perflib\009
的
help
項的最大值:[hkey_local_machine\software\microsoft\windows
nt\currentversion\perflib\009]。
如果鍵值不符就卸載掉.net
framework
2.0
Ⅷ 打開軟體時,系統出現「無法連接資料庫,請檢查SQL伺服器是否啟動或網路是否正常」,應該怎麼辦啊
您好,提示已經很明顯的告訴你了,就是程序無法和資料庫正常連接導致軟體無法正常使用。
請檢查你的軟體和資料庫伺服器的網路是否是連接的,直接Ping一下網路即可知道。
如果網路是連接的,那麼請看看是否是你的電腦網路不正常,或者是有誰無意間修改了軟體程序與資料庫的連接配置文件,請找到配置文件修改即可。
Ⅸ SQL語句可以在什麼界面或平台上編寫
sql可以在任何地方編寫,但是只能在連接上資料庫的工具或者第三方開發工具裡面才能自動檢查語法錯誤