MS OLAP 安裝小記
因為自己的 NB 安裝的 MS SQL 開機不是自動啟動,所以直接安裝 Analysis Services 完後,一直都是無法連接 OLAP Servces 的錯誤訊息。檢查確定在系統帳號中有加入 OLAP Administrators 群組,且有加入成員。
經過幾次的重新安裝忽然想倒是否一定要在 SQL Server 啟動狀況下才會安裝成功。
果然如此。
因為自己的 NB 安裝的 MS SQL 開機不是自動啟動,所以直接安裝 Analysis Services 完後,一直都是無法連接 OLAP Servces 的錯誤訊息。檢查確定在系統帳號中有加入 OLAP Administrators 群組,且有加入成員。
經過幾次的重新安裝忽然想倒是否一定要在 SQL Server 啟動狀況下才會安裝成功。
果然如此。
在 MS SQL 6.5 中使用 getDate() 系統函數會取到精度達微秒的時間值,
所以若是只想取得只有 yyyymmdd 部分或是 yyyymmdd hh:mm:ss 部分的時間值就需要加工處理
我們可以利用 Convert 型別轉換函數來處理
語法:CONVERT ( data_type [ ( length ) ] , expression [ , style ] )
select GetDate()
,CONVERT(datetime,CONVERT(char(10), GetDate(),111),111) as YMD
,CONVERT(datetime,CONVERT(char(11), GetDate(),111) + CONVERT(char(8), GetDate(),108),111) as YMDHMS
其中若是 GetDate() = 2005-02-06 11:22:33.456
則 YMD = 2005-02-06
而 YMDHMS = 2005-02-06 11:22:33
另外在 MS SQL 2000 支援較多的 style 格式參數,可參考線上手冊。
如果在 SQL 2000 Server 環境經常使用的話,可以建立成使用者自定函數
CREATE FUNCTION dbo.getDateYMD
(@dt datetime )
RETURNS datetime
AS
BEGIN
RETURN ( CONVERT(datetime,CONVERT(char(10), @dt,111),111) )
END
go
CREATE FUNCTION dbo.getDateYMDHMS
(@dt datetime )
RETURNS datetime
AS
BEGIN
RETURN ( CONVERT(datetime,CONVERT(char(11), @dt,111) + CONVERT(char(8), @dt,108),111) )
END
這樣就可以用下列語法查詢
select getDate(), dbo.getDateYMD(getDate()), dbo.getDateYMDHMS(getDate())
MS SQL Server 6.5:
在 Master.dbo.sysprocesses 資料表中的 net_library 欄位
NetLibrary Entry
================
SSNMPN60.dll –Named Pipes
SSMSSO60.dll –TCP/IP
SSMSRP60.dll –Multi-Protocol
預設會建立的 Device 列表:
master
MSDBData
MSDBLog
TEMP_DB
預設會建立的 Database 列表:
master – 用於控制使用者資料庫以及 SQL Server 的運作。
model – 使用者資料庫樣板,所有新建立的使用者資料庫均會依此建立。
msdb – 存放各種 SQL Executive Services 相關的設定。
pubs – 為一個範例資料庫,安裝完後若不需要可直接刪除。
tempdb – 提供存放運算過程中產生的暫時性 Table 或其他需要儲存空間的運算。
上列的 Database 除了msdb 的 data 位於 MSDBData device 而 log 位於 MSDBLog device 外,其於 database 均位於 master device 上。
因為想移動 MS SQL 6.5 的其中一個資料庫到速度較快的磁碟機,所以在 Query 工具下改好 master.sysdevices 中的紀錄後,停止 SQL Server 服務並將 Data 與 Log 的 Device 檔案移動好,然後再啟動 SQL Server 服務。卻發現在 Enterprice Manager 程式內所移動的 Database 的圖示變成灰色並且顯示 Suspect 的訊息。重新檢查過程發現是因為改 master.sysdevices 的 phyname 時所指定的路徑有誤,所以 SQL Server 找不到檔案所以造成問題。
不過 Enterprice Manager 程式沒有支援解決 Suspect 的功能,必須手動處理步驟如下:
1. 確定 Database 所在的 Device 檔案都存在。
2. 在 ISQL/W 下開啟 MSSQL\Install\Instsupl.sql 並執行。
3. 執行下列指令:
use master
go
exec sp_resetstatus suspect_db_name
4. 重新啟動 SQL Server
5. 確定 之前 Suspect 的 Database 是否已恢復正常。
6. 執行 dbcc newalloc, dbcc textall, and dbcc checkdb 檢查 Database 狀況。