如何創(chuàng)建SQLSERVER數(shù)據(jù)庫維護(hù)計(jì)劃
創(chuàng)新互聯(lián)建站是一家專業(yè)提供青陽企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都h5網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為青陽眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
步驟1:打開企業(yè)管理器,如下。
2
步驟2:點(diǎn)擊管理,新建數(shù)據(jù)庫維護(hù)計(jì)劃,進(jìn)入向?qū)Вx擇下一步。
3
步驟3:選擇數(shù)據(jù)庫PUBS,點(diǎn)擊下一步。
4
步驟4:更新數(shù)據(jù)庫優(yōu)化信息??梢赃M(jìn)行數(shù)據(jù)庫文件空間設(shè)置。我們點(diǎn)擊更改進(jìn)行調(diào)度設(shè)置。
5
步驟5: 可以通過修改調(diào)度,對(duì)作業(yè)時(shí)間參數(shù)進(jìn)行設(shè)置。
步驟6:檢查數(shù)據(jù)庫完整性。
步驟7:指定數(shù)據(jù)庫備份計(jì)劃。
步驟8:可以編輯調(diào)度。
步驟9:指定備份目錄,可以選擇路徑,刪除時(shí)間和擴(kuò)展名。
步驟10:指定事務(wù)日志備份計(jì)劃。
步驟11:報(bào)表。
步驟12:維護(hù)計(jì)劃歷史。
步驟13:數(shù)據(jù)庫維護(hù)計(jì)劃完成向?qū)А?/p>
步驟14:數(shù)據(jù)庫維護(hù)設(shè)置的最終結(jié)果如下:
數(shù)據(jù)庫
pubs
服務(wù)器
打開SQL Server Management Studio左側(cè)菜單中點(diǎn)擊管理。
進(jìn)入維護(hù)計(jì)劃。
右鍵新建維護(hù)計(jì)劃。
為計(jì)劃命名一個(gè)名字,以便與其他的維護(hù)計(jì)劃區(qū)分。
選擇備份類型的維護(hù)計(jì)劃。
然后在右側(cè)就出現(xiàn)了添加的計(jì)劃類型,雙擊進(jìn)入編輯。
指定要備份的數(shù)據(jù)庫。
同一個(gè)備份計(jì)劃中可以選擇多個(gè)數(shù)據(jù)庫進(jìn)行備份,備份文件也是按數(shù)據(jù)庫分開獨(dú)立的。
然后為這個(gè)計(jì)劃設(shè)定日程時(shí)間。
設(shè)定備份頻率和自動(dòng)備份的時(shí)間,一般會(huì)選擇到晚上服務(wù)器空閑的時(shí)候進(jìn)行。
最后不要忘記保存好這個(gè)維護(hù)計(jì)劃。
工具/材料
SQLSERVER2012
首先我們來執(zhí)行一個(gè)SQL語句,在輸出結(jié)果欄中可以看到并沒有執(zhí)行計(jì)劃頁
然后我們點(diǎn)擊查詢菜單,在下拉菜單中我們選擇”顯示估計(jì)的執(zhí)行計(jì)劃”選項(xiàng),如下圖所示
這個(gè)時(shí)候在查看輸出結(jié)果欄,你會(huì)看到多出了執(zhí)行計(jì)劃頁,如下圖所示
下面我們執(zhí)行兩個(gè)SQL語句,如下圖所示,接下來會(huì)通過這兩個(gè)SQL語句來展示一下執(zhí)行計(jì)劃功能怎么用
我們執(zhí)行完上述的SQL語句后,會(huì)在執(zhí)行計(jì)劃頁看到如下圖所示的執(zhí)行計(jì)劃內(nèi)容,SQLSERVER已經(jīng)幫我們生成了對(duì)應(yīng)的執(zhí)行計(jì)劃
我們先來看第一個(gè)SQL語句的執(zhí)行計(jì)劃,如下圖所示,主要展示了SQL語句對(duì)資源的消耗情況
然后觀察第二個(gè)執(zhí)行計(jì)劃,你會(huì)發(fā)現(xiàn)第二個(gè)SQL語句的執(zhí)行效率要高一些,這在數(shù)據(jù)量大的情況下會(huì)更明顯
1.輸入一個(gè)查詢語句看看SQL Server是如何顯示查詢計(jì)劃的吧。
select v.OrderID, v.CustomerID, v.CustomerName, v.OrderDate, v.SumMoney, v.Finished
from OrdersView as v
where v.OrderDate = '2010-12-1' and v.OrderDate '2011-12-1';
其中,OrdersView是一個(gè)視圖,其定義如下:
SELECT dbo.Orders.OrderID, dbo.Orders.CustomerID, dbo.Orders.OrderDate,
dbo.Orders.SumMoney, dbo.Orders.Finished,
ISNULL(dbo.Customers.CustomerName, N'') AS CustomerName
FROM dbo.Orders LEFT OUTER JOIN
dbo.Customers ON dbo.Orders.CustomerID = dbo.Customers.CustomerID
對(duì)于前一句查詢,SQL Server給出的查詢計(jì)劃如下(點(diǎn)擊工具欄上的【顯示估計(jì)的執(zhí)行計(jì)劃】按鈕):
從這個(gè)圖中,我們至少可以得到3個(gè)有用的信息:
1. 哪些執(zhí)行步驟花費(fèi)的成本比較高。顯然,最右邊的二個(gè)步驟的成本是比較高的。
2. 哪些執(zhí)行步驟產(chǎn)生的數(shù)據(jù)量比較多。對(duì)于每個(gè)步驟所產(chǎn)生的數(shù)據(jù)量, SQL Server的執(zhí)行計(jì)劃是用【線條粗細(xì)】來表示的,因此也很容易地從分辨出來。
3. 每一步執(zhí)行了什么樣的動(dòng)作。
對(duì)于一個(gè)比較慢的查詢來說,我們通常要知道哪些步驟的成本比較高,進(jìn)而,可以嘗試一些改進(jìn)的方法。 一般來說,如果您不能通過:提高硬件性能或者調(diào)整OS,SQL Server的設(shè)置之類的方式來解決問題,那么剩下的可選方法通常也只有以下這些了:
1. 為【scan】這類操作增加相應(yīng)字段的索引。
2. 有時(shí)重建索引或許也是有效的,具體情形請(qǐng)參考后文。
3. 調(diào)整語句結(jié)構(gòu),引導(dǎo)SQL Server采用其它的查詢方案去執(zhí)行。
4. 調(diào)整表結(jié)構(gòu)(分表或者分區(qū))。