2008年9月29日 星期一

DBCC SHRINKFILE

1.先備份Log檔
BACKUP LOG EF2KWeb WITH TRUNCATE_ONLY

2.指定要壓縮的資料庫
USE EF2kWeb

3.找到資料庫的fileid
select fileid,groupid,name from sysfiles where groupid=0
>>結果fileid=7

4.以下語法將EF2kWeb的LOG檔壓縮為2M
DBCC SHRINKFILE(fileid,要壓縮成的大小)
DBCC SHRINKFILE(7,2)

SQL 2005
select * from sys.master_files

2008年9月22日 星期一

如何設定 SQL Server 2005 為允許遠端連接

注意:本文是不經人為參與的自動機器翻譯系統翻譯完成。這些文章是Microsoft為非英語系國家使用者所提供,讓使用者可以了解文章的內容。Microsoft 不保證翻譯的語言品質也不對由於內容的錯譯或客戶針對內容使用所發生的任何直接或間接可能的問題負責。
INTRODUCTIONloadTOCNode(1, 'summary');當您嘗試從遠端電腦, 連線至 Microsoft SQL Server 2005 的執行個體可能會收到一則錯誤訊息。 這個問題的發生原因, 是當您使用任何程式, 來連線到 SQL Server。 例如, 當您使用 SQLCMD 公用程式來連線至 SQL Server 會收到下列錯誤訊息:
Sqlcmd: 錯誤已建立連線到伺服器時發生錯誤:: Microsoft SQL Native Client 連線至 SQL Server 2005 時,發生此失敗,可能是因為在預設設定下,SQL Server 不允許遠端連線。.在 SQL Server 2005 尚未設定為可接受遠端連接時, 可能就會發生這個問題。 根據預設值, SQL Server 2005 Express Edition 和 SQL Server 2005 Developer Edition 不允許遠端連線。 若要設定 SQL Server 2005 才能允許遠端連線, 請完成所有執行下列步驟:

啟用遠端連線的, 您要從遠端電腦連線到 SQL Server 執行個體上。

啟動 SQL Server Browser 服務。

設定防火牆, 以允許到 SQL Server 以及到 SQL Server Browser 服務相關的網路流量。本文告訴您如何完成每個步驟。
回此頁最上方
其他相關資訊loadTOCNode(1, 'moreinformation');若要啟用遠端連線的 SQL Server 2005 執行個體上並以開啟 SQL Server Browser 服務, 使用 SQL Server 2005 介面區組態工具。 當您安裝 SQL Server 2005 已安裝 「 介面區組態工具。
回此頁最上方
啟用遠端連線為 SQL Server Express 2005 或 SQL Server 2005 Developer EditionloadTOCNode(2, 'moreinformation');1.按一下 [ 開始 ] 指向 [ 程式集 ] , 指向 Microsoft SQL Server 2005 , 指到 組態工具 , 然後按一下 [ SQL Server 介面區組態 。2.在頁 SQL Server 2005 介面區組態 面, 按一下 [ 為服務 」 和連線 ] 介面區組態 (Surface Area Configuration 。3.為服務 」 和連線 ] 介面區組態 (Surface Area Configuration 頁面上展開 [ 資料庫引擎 , 按一下 [ 遠端連線 ] 按一下適當的通訊協定才能啟用為您的環境,、 按一下 [ 本機和遠端連線 、 及 [ 套用 ] 。注意[ 確定 ] Click當您收到下列訊息:
必須重新啟動資料庫引擎服務的變更連線設定值才會生效。4.為服務 」 和連線 ] 介面區組態 (Surface Area Configuration , 頁面上展開 資料庫引擎 、 按一下 [ 服務 ]、 按一下 [ 停止 ] 、 等候 MSSQLSERVER 服務停止, 並按一下 [ 開始 ] 以重新啟動 MSSQLSERVER 服務。
回此頁最上方
啟用 SQL Server Browser 服務loadTOCNode(2, 'moreinformation');重要事項這些步驟可能會增加您的安全性風險。 這些步驟可能也會使您的電腦或網路更容易遭受惡意使用者或惡意軟體 (例如病毒) 的攻擊。. 我們建議程序本文中所描述來啟用程式到上操作, 它們是設計用來, 或到實作特定的程式功能。 在進行這些變更之前,建議您先評估在特定環境中使用此程序的相關風險。. 如果您決定執行此程序,請採用任何其他的適當步驟,以協助保護您的系統。. 建議您只有在真正需要此程序時,才使用本程序。.
1.
按一下 [ 開始 ] 指向 [ 程式集 ] , 指向 Microsoft SQL Server 2005 , 指到 組態工具 , 然後按一下 [ SQL Server 介面區組態 。
2.
在頁 SQL Server 2005 介面區組態 面, 按一下 [ 為服務 」 和連線 ] 介面區組態 (Surface Area Configuration 。
3.
為服務 」 和連線 ] 介面區組態 (Surface Area Configuration 頁面上按一下 [ 瀏覽器 SQL Server ] , 按一下 [ 自動 為 [ 啟動類型 , 再然後按一下 [ 套用 ] 。會自動注意當您按一下 [自動 ]選項, SQL Server Browser 服務啟動每一次您啟動該 Microsoft Windows。
4.
按一下 [, [ 開始 ] 及 [ 確定 ] 。注意當您在電腦上, 執行 SQL Server Browser 服務電腦上顯示執行個體名稱及對於每個執行個體, 是執行在電腦上的 SQL Server 連線資訊。 由不啟用 SQL Server Browser 服務, 是由連接至的 SQL Server 執行個體直接透過指派的 TCP 通訊埠可以降低這個風險。 直接連線到 SQL Server 的執行個體 (Instance 通過 TCP 連接埠不在範圍內的這個發行項。 如需 SQL Server Browser 伺服器及連線到執行個體的 SQL Server, 請參閱 SQL Server 線上叢書 》 中的下列主題:

SQL Server Browser 服務

連線到 SQL Server 資料庫引擎

用戶端通訊協定網路組態
回此頁最上方
在 Windows 防火牆建立例外狀況loadTOCNode(2, 'moreinformation');如果您在執行 SQL Server 2005, 電腦執行防火牆外部連線至 SQL Server 2005 將無法, 除非 SQL Server 2005 和 SQL Server Browser 服務可以透過防火牆進行通訊。 您必須建立例外為每個執行個體的 SQL Server 2005, 您要接受遠端連線, 並且例外狀況為 SQL Server Browser 服務。當您安裝程式檔案 SQL Server 2005 使用的執行個體識別碼作為一部份的路徑。 您要為每個 <這個 SQL Server, 建立例外狀況必須識別正確的執行個體識別碼。 如果要取得的執行個體識別碼, 請依照下列步驟執行:
1.
按一下 [ 開始 ] 指向 [ 程式集 ] , 指向 Microsoft SQL Server 2005 , 指到 組態工具 , 然後按一下 [ SQL Server 組態管理員 。
2.
在 SQL Server 組態管理員, 按一下 SQL Server Browser 服務在右邊窗格、 以滑鼠右鍵按一下 [ 主視窗, 中的執行個體名稱及 [ 內容 ] 。
3.
在 SQL Server 內容瀏覽器 ] 頁面, 按一下 [ 進階 ] 索引標籤在屬性清單上, 找出執行個體識別碼, 然後按一下 [ 確定 ] 。若要開啟 [ Windows 防火牆, 請按一下 [ 開始 ] 按一下 [ 執行 ] , 鍵入 firewall.cpl , 然後按一下 [ 確定 ] 。
為 SQL Server 2005 在 [ Windows 防火牆 ] 中建立例外狀況loadTOCNode(3, 'moreinformation');1.在 Windows 防火牆, 再按一下 [ 例外 ] 索引標籤, 及 [ 新增程式 。2.在程式視窗, [ 按一下 [ 瀏覽 ] 。3.按一下 [ C: \Program Files \Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe 可執行程式按一下 [ Open , 然後按一下 [ 確定 ] 。注意可能會根據已安裝 SQL Server 2005 的位置不同的路徑。MSSQL.1是預留位置為執行個體識別碼, 您在步驟 3 的前一個程序中取得。4.對於每個執行個體的 SQL Server 2005 所需例外狀況重複步驟 1 到 3。
在 [ Windows 防火牆 ] 中建立為 SQL Server Browser 服務例外loadTOCNode(3, 'moreinformation');1.在 Windows 防火牆, 再按一下 [ 例外 ] 索引標籤, 及 [ 新增程式 。2.在程式視窗, [ 按一下 [ 瀏覽 ] 。3.按一下 [ C: \Program Files \Microsoft SQL Server\90\Shared\sqlbrowser.exe 可執行程式按一下 [ Open , 然後按一下 [ 確定 ] 。注意可能會根據已安裝 SQL Server 2005 的位置不同的路徑。

2008年9月4日 星期四

方便好用的FileSystemObject

方便好用的FileSystemObject

從VB6.0起,VB新增了FileSystemObject物件,這個物件可以取代以往許多要用API才能做到的事,如覆製資料夾、取得磁碟機資訊等,在作一些相關處理時可以節省不少時間。要引用這個項目你必須以設定引用項目將 Microsoft Scripting Runtime手動加入專案,否則是沒有辦法使用的!我來概略說明一下使用的方法和功能

Dim fso as New FileSystemObject
FileSystemObject本身就已經有許多的方法可以使用了
包括資料夾複製、檔案複製
fso.CopyFolder "C:\ABC","C:\DEF"
fso.FileCopy "c:\123.txt","c:\456.txt"
建立資料夾
fso.CreateFolder "C:\ABC"
建立文字檔
fso.CreateTextFile "c:\123.txt"
刪除資料夾、檔案
fso.DeleteFolder "C:\ABC"
fso.DeleteFile "c:\123.txt"
取得Windows路徑,System路徑
fso.GetSpecialFolder(WindowsFolder)
fso.GetSpecialFolder(SystemFolder)


取得所有的磁碟機
磁碟機總數(包含網路磁碟機等) - fso.Drives.Count

取得所有磁碟機物件
Dim Drivetemp As Drive
ReDim DriveObject(1 To fso.Drives.Count)
Dim i As Integer

For Each Drivetemp In fso.Drives
i = i + 1
Set DriveObject(i) = Drivetemp
Next

經由該物件的屬性可以得知許多事,列舉常用的幾個
DriveObject的使用說明
查詢該磁碟機的可用空間
.AvailableSpace .FreeSpace
這兩個屬性都可以查出剩餘空間,我還看不出有什麼不同
查詢該磁碟機的總容量
.TotalSize

磁碟機的代碼
.DriveLetter .RootPath
DriveLetter只有代碼,RootPath則可查出根目錄的路徑
磁碟機的類別
.DriveType
傳回值分別代表
Unknown - "無從判斷"
Removable - "抽取式磁碟"
Fixed - "硬碟"
Remote - "遠端(網路)儲存裝置"
CDRom - "光碟機"
RamDisk - "RAM Disk"



取得資料夾的資料
Dim fs As New FileSystemObject ' 建立 FileSystemObject
Dim fd As Folder ' 宣告 Folder 物件
Dim i As Integer

Set fd = fs.GetFolder("c:\")
取得子資料夾的總數 - fd.SubFolders.Count

ReDim sfd(1 To fd.SubFolders.Count) As Folder
For Each fd In fd.SubFolders
i = i + 1
Set sfd(i) = Folder
List1.AddItem sfd(i).Name
Next

這個方法只能取得一層子資料夾,如果要取得所有資料夾則
須利用遞迴重覆執行

Folder的屬性比較特殊的是ShortPath可以直接取得該
Folder的短檔名及DateCreated、DateLastAccessed、
DateLastModified可取得建立時間及變更時間等

至於File物件只要改用GetFile方法,其餘沒有什麼特別不同的方法