維護Sql Server中表的索引
在使用和新增資料庫索引中經常會碰到一些問題,在這裡可以採用一些另類的方法解決…
--第一步:檢視是否需要維護,檢視掃瞄密度/Scan Density是否為100%
declare @table_id int
set @table_id=object_id('表名')
dbcc showcontig(@table_id)
--第二步:重構表索引
dbcc dbreindex('表名',pk_索引名,100)
--重做第一步,如發現掃瞄密度/Scan Density還是小於100%則重構表的所有索引
--楊錚:並不一定能達100%。
dbcc dbreindex('表名','',100)
SQL Server修正檔安裝一般問題
誰碰到問題就看看咯:)
一、修正檔安裝程序中一般問題
如果在安裝修正檔的時候遇到如下類似錯誤:
1、安裝程序中出現「以繼續行的程序新增了掛起的文件操作,執行安裝程序前,必須重新啟動」,請按照下面步驟解決:
a、重啟機器,再進去行安裝,如果發現還有該錯誤,請按下面步驟
b、在開始->執行中輸入regedit
c、到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置
d、選項文件->倒出,儲存
e、在右邊視窗右擊PendingFileRenameOperations,選項移除,然後驗證
f、重啟安裝,問題解決
如果還有同樣問題,請檢查其它註冊表中是否有該值存在,如有請刪掉。
2、在安裝SQL Server SP3,有時候會出現:無論用windows認證還是混和認證,都出現密碼錯誤的情況,這時檢視臨時目錄下的sqlsp.out,會發現以下描述:
[TCP/IP Sockets]Specified SQL server not found.
[TCP/IP Sockets]ConnectionOpen (Connect()).
其實這是SQL Server SP3的一個小bug,在安裝sp3的時候,沒有監聽tcp/ip連接阜,可以按照以下步驟進行:
1、開啟SQL server客戶器網路實用工具和伺服器網路工具,確保啟用的傳輸協定中包含name pipe,並且位置在第一位.
2、確保[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSSQLServer\Client\ConnectTo]
"DSQUERY"="DBNETLIB".
如果沒有,請自己建立
3、停止mssql.
4、進行安裝.
這樣就可以進行正確安裝了。
二、SQL Server修正檔版本的檢查
SQL Server的修正檔版本檢查不如Windows 修正檔版本檢查直接,一個系統管理員,如果不瞭解SQL Server版本對應的修正檔號,可能也會遇到一點麻煩,因此在這說明一下,通過這樣的辦法判別機器是安全的辦法,不會對系統產生任何影響。
1、用Isql或者SQL查詢分析器登入到SQL Server,如果是用Isql,請在cmd視窗輸入isql -U sa,然後輸入密碼,進入;如果是用SQL查詢分析器,請從程序中啟動,輸入sa和密碼(也可以用windows驗證)。
2、在ISQL中輸入:
Select @@Version;
go
或者SQL查詢分析器中輸入(其實如果不想輸入,只要開啟說明 的關於就可以了
)
Select @@Version;
然後按執行;
這時會返回SQL的版本訊息,如下:
Microsoft SQL Server 2000 - 8.00.760 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 1988-2003 Microsoft Corporation Enterprise Edition on Windows NT 5.0 (Build 2195: Service Pack 3)
其中的8.00.760就是SQL Server的版本和修正檔號。對應關係如下:
8.00.194 -——————SQL Server 2000 RTM
8.00.384 -——————(SP1)
8.00.534 -——————(SP2)
8.00.760 -——————(SP3)
這樣我們就能看到SQL Server的正確版本和修正檔號了。
我們也可以用xp_msver看到更詳細的訊息