亚洲韩日午夜视频,欧美日韩在线精品一区二区三区,韩国超清无码一区二区三区,亚洲国产成人影院播放,久草新在线,在线看片AV色

您好,歡迎來(lái)到思海網(wǎng)絡(luò),我們將竭誠(chéng)為您提供優(yōu)質(zhì)的服務(wù)! 誠(chéng)征網(wǎng)絡(luò)推廣 | 網(wǎng)站備案 | 幫助中心 | 軟件下載 | 購(gòu)買流程 | 付款方式 | 聯(lián)系我們 [ 會(huì)員登錄/注冊(cè) ]
促銷推廣
客服中心
業(yè)務(wù)咨詢
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352289
點(diǎn)擊這里給我發(fā)消息  81721488
有事點(diǎn)擊這里…  376585780
有事點(diǎn)擊這里…  872642803
有事點(diǎn)擊這里…  459248018
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  380791050
技術(shù)支持
有事點(diǎn)擊這里…  714236853
有事點(diǎn)擊這里…  719304487
有事點(diǎn)擊這里…  1208894568
有事點(diǎn)擊這里…  61352289
在線客服
有事點(diǎn)擊這里…  531199185
有事點(diǎn)擊這里…  61352288
有事點(diǎn)擊這里…  983054746
有事點(diǎn)擊這里…  893984210
當(dāng)前位置:首頁(yè) >> 技術(shù)文章 >> 文章瀏覽
技術(shù)文章

兩個(gè)SQL Server維護(hù)技巧

添加時(shí)間:2012-12-10 17:52:45  添加: 思海網(wǎng)絡(luò) 
數(shù)據(jù)庫(kù)的維護(hù)常常交給那些專業(yè)的數(shù)據(jù)庫(kù)管理員,但是作為一個(gè)開發(fā)者,你也許偶爾需要暫時(shí)從事這個(gè)工作。所以,試一試這兩個(gè)SQL服務(wù)器維護(hù)技巧:輕松改變數(shù)據(jù)庫(kù)擁有者、整理索引碎片。誰(shuí)會(huì)想到你甚至可以給那些數(shù)據(jù)庫(kù)管理員教上一兩個(gè)新技巧呢?

重指定數(shù)據(jù)庫(kù)擁有者
當(dāng)回復(fù)或者新建數(shù)據(jù)庫(kù)時(shí),你有沒(méi)有注意到SQL Server把數(shù)據(jù)庫(kù)的擁有者置為你的NT登錄名??jī)H僅為了確保不同數(shù)據(jù)庫(kù)間的一致性(更別提安全性因素了),你也許考慮用系統(tǒng)過(guò)程sp_changedbowner來(lái)把數(shù)據(jù)庫(kù)擁有者改為其它用戶如系統(tǒng)管理員(SA)。你也許已經(jīng)寫了這樣一段腳本用來(lái)掃描所有用戶數(shù)據(jù)庫(kù)并把數(shù)據(jù)庫(kù)擁有者重指定為系統(tǒng)管理員。

系統(tǒng)過(guò)程sp_changedbowner有一個(gè)參數(shù),即@map,其缺省值為空(null),該過(guò)程可以把數(shù)據(jù)庫(kù)舊有的擁有者的別名重映射為新的數(shù)據(jù)庫(kù)擁有者,如系統(tǒng)管理員。

為了演示該過(guò)程,讓我們首先建立一個(gè)盡可能小的數(shù)據(jù)庫(kù)模型,然后運(yùn)行sp_helpuser指令來(lái)看看新創(chuàng)建的用戶名清單:

CREATE DATABASE test
GO
USE test
GO
EXEC sp_helpuser
GO

這些代碼執(zhí)行后,輸出應(yīng)該列出數(shù)據(jù)庫(kù)擁有者的清單(db_owner)。如果你使用Windows NT認(rèn)證身份,那么清單中應(yīng)該有一個(gè)NULL的登錄名字和一個(gè)SID值。

然后,讓我們加上兩個(gè)登錄用戶:ISUser1和ISUser2作為db_owner的別名,并把數(shù)據(jù)庫(kù)的擁有者改為系統(tǒng)管理員:EXEC sp_addlogin @loginame = 'ISUser1', @passwd = 'ISUser1',@defdb = 'master'
EXEC sp_addlogin @loginame = 'ISUser2', @passwd = 'ISUser2',@defdb = 'master'
EXEC sp_addalias @loginame = 'ISUser1', @name_in_db = 'dbo'
EXEC sp_changedbowner @loginame = 'sa', @map = 'TRUE'
EXEC sp_helpuser

輸出內(nèi)容應(yīng)該顯示出系統(tǒng)管理員作為db_owner、ISUser1作為db_owner的別名。

現(xiàn)在我們用過(guò)程sp_changedbowner來(lái)指定ISUser2為數(shù)據(jù)庫(kù)新的擁有者。我們將使用該過(guò)程的@map參數(shù)并把該參數(shù)賦值為“否”,這樣把用戶將為別名。


EXEC sp_changedbowner @loginame = 'ISUser2', @map = 'FALSE'

EXEC sp_helpuser
GO


輸出應(yīng)該顯示出ISUser2現(xiàn)在成為數(shù)據(jù)庫(kù)新的擁有者,ISUser1降為別名。下面,我們應(yīng)該停止這個(gè)數(shù)據(jù)庫(kù)并結(jié)束本演示過(guò)程。


USE master
GO
DROP DATABASE test
GO


用DBCC INDEXDEFRAG命令來(lái)實(shí)現(xiàn)維護(hù)
對(duì)索引進(jìn)行維護(hù)工作是一件冗長(zhǎng)費(fèi)力的工作,不過(guò)在SQL Server 2000中,微軟已經(jīng)引入了一條維護(hù)命令DBCC INDEXDEFRAG,它相對(duì)SQL Server7.0的DBREINDEX命令來(lái)說(shuō),有好幾個(gè)優(yōu)點(diǎn)。最主要的優(yōu)點(diǎn)就是它是一種在線操作,這樣,在該命令運(yùn)行期間用戶仍可以連續(xù)工作。這是因?yàn)樗幌馜BREINDEX那樣在運(yùn)行時(shí)需要鎖定操作所涉及的資源,它還可以降低內(nèi)容阻塞。

DBCC INDEXDEFRAG操作一小段、一小段的數(shù)據(jù),這樣該操作隨時(shí)都可以停止下來(lái)并跟蹤它已經(jīng)完成的工作。該操作每隔五分鐘就報(bào)告一次估計(jì)已完成工作的百分比。

從技術(shù)的角度來(lái)看,DBCC INDEXDEFRAG從新安排了目標(biāo)索引所在的當(dāng)前分配頁(yè)上的物理葉。當(dāng)操作完成后,目標(biāo)索引的物理順序與它的邏輯順序相對(duì)應(yīng),因此可以加速索引的掃描速度。

該操作還重新安排分配分配給目標(biāo)索引的空間中的其它索引頁(yè)。SQL Server將會(huì)為以一個(gè)填充因子為目標(biāo)、根據(jù)索引數(shù)據(jù)的密度和為該索引分配的空間大小,來(lái)為索引緩沖頁(yè)上的空間。操作后空下來(lái)的頁(yè)將會(huì)被釋放,這就使得索引變得更加緊湊。

DBCC INDEXDEFRAG也有幾個(gè)缺點(diǎn)需要你注意:

如果一個(gè)表格中的兩個(gè)索引共享一個(gè)盤區(qū)的同一個(gè)空間,而這兩個(gè)索引并不相鄰,那么最好重新建立索引讓它們相鄰。
如果索引中的碎片太多,那么DBCC INDEXDEFRAG命令執(zhí)行的速度可能要低于 DBREINDEX命令;但是如果索引中的碎片不太多,那么DBCC INDEXDEFRAG 應(yīng)該比DBREINDEX快的多,用DBCC INDEXDEFRAG取代DBREINDEX的好處網(wǎng)上有介紹。
非葉式(nonleaf)索引頁(yè)不能重新排序。
DBCC INDEXDEFRAG不能更新統(tǒng)計(jì)數(shù)字。
關(guān)鍵字:SQL Server、數(shù)據(jù)庫(kù)

分享到:

頂部 】 【 關(guān)閉
版權(quán)所有:佛山思海電腦網(wǎng)絡(luò)有限公司 ©1998-2024 All Rights Reserved.
聯(lián)系電話:(0757)22630313、22633833
中華人民共和國(guó)增值電信業(yè)務(wù)經(jīng)營(yíng)許可證: 粵B1.B2-20030321 備案號(hào):粵B2-20030321-1
網(wǎng)站公安備案編號(hào):44060602000007 交互式欄目專項(xiàng)備案編號(hào):200303DD003  
察察 工商 網(wǎng)安 舉報(bào)有獎(jiǎng)  警警  手機(jī)打開網(wǎng)站