2013-09-11

[遊記] 2013 夏 東京蜜月 DAY4 箱根一日遊(順時針)

前輩們通常建議箱根最好排個兩天一夜的時間,
才有充裕的時間好好的玩,不至於走馬看花,
這次八天七夜的行程,因為第一次到東京想要去的地方太多了,
實在騰不出兩天的時間待在箱根,後來發現不少人也是用一日遊的方式前往箱根。

台灣與日本當地的旅行社都有針對箱根推出一日遊的套裝行程,
大多由新宿出發,搭乘專車前往,費用大概都要3500台幣以上,
好處是你不需要花時間研究,有專車載你到幾個有名的景點,
原本我們也是打算利用這種方式前往箱根,
不過因為自己希望行程表有彈性一點,避免遇到雨天還得硬著頭皮去戶外的景點,
再加上自己購買"箱根周遊券-二日券"一個人5000 JPY,
換算下來,跟套裝行程還是有不小差距,所以後來還是決定自己排行程前往。

箱根周遊券,分為2日與3日券,沒有1日券,所以低消就是5000 JPY,
內容含括了一趟往返箱根的基本車資,及箱根地區所有的交通工具,可任意搭乘。

我們採用順時針的方式,主要考量
1.蘆之湖下午有起霧的可能,如果霧濛濛的什麼就都看不清
2.海盜船有班次時間限制,如果前面貪玩行程拖太久,怕後面沒船可搭

最後決定行程
-----------------------------------------------------------------------
新宿-->箱根湯本-->元箱根港-->箱根神社-->桃源台-->大涌谷
-->早雲山-->強羅-->箱根湯本-->小田原城-->新宿
-----------------------------------------------------------------------


上圖箱根交通工具導覽取自箱根導航

2013-09-03

stored procedure IF ELSE SELECT INTO 出現 [訊息2714 層級16] 錯誤訊息

--範例
--建立暫存表
IF UPPER(@ServerNa) = 'SERVAER_A'
BEGIN
 IF (SELECT OBJECT_ID('tempdb..#STUL')) IS NOT NULL DROP TABLE #STUL
 select DISTINCT CorpNo,IONo into #STUL
 from [SERVAER_A].InnovaERP.dbo.SysTableUpdateLog
 where PrgType=@PrgType
END
ELSE IF UPPER(@ServerNa) = 'SERVAER_B'
BEGIN
 IF (SELECT OBJECT_ID('tempdb..#STUL')) IS NOT NULL DROP TABLE #STUL
 select DISTINCT CorpNo,IONo into #STUL
 from [SERVAER_B].InnovaERP.dbo.SysTableUpdateLog
 where PrgType=@PrgType
END
--錯誤訊息
訊息 2714,層級 16,狀態 1,程序 SP_XXX,行 24
資料庫中已經有一個名為 '#STUL' 的物件。
通常在不同的IF ELSE判斷子句中,應該可以視為獨立的事件,
不知為什麼MS SQL在stored procedure中,
使用IF ELSE針對不同的條件SELECT INTO到同樣的表格,會有這樣的錯誤訊息,
只好改寫語法,於判斷式前先將暫存表建立,再於子句中INSERT INTO即可

--建立暫存表
IF (SELECT OBJECT_ID('tempdb..#STUL')) IS NOT NULL DROP TABLE #STUL
SELECT TOP 1 CorpNo,IONo
  INTO #STUL
FROM SysTableUpdateLog

IF UPPER(@ServerNa) = 'SERVAER_A'
BEGIN
 INSERT INTO #STUL
 select DISTINCT CorpNo,IONo
 from [SERVAER_A].InnovaERP.dbo.SysTableUpdateLog
 where PrgType=@PrgType
END
ELSE IF UPPER(@ServerNa) = 'SERVAER_B'
BEGIN
 INSERT INTO #STUL 
 select DISTINCT CorpNo,IONo
 from [SERVAER_B].InnovaERP.dbo.SysTableUpdateLog
 where PrgType=@PrgType
END

2013-08-26

2013-夏-東京蜜月-住宿-[大塚] SUPER HOTEL、[新宿] HUNDRED STAY

拖了好久,再不寫怕細節都忘記了(其實也快忘的差不多了XD),
決定要去東京自助旅行後,除了背包客棧有很多資料可以參考,
更是佩服可以把遊記寫出來分享的人,
所以我也為自己立個目標,希望可以把這次的自助經驗寫下來,
除了為自己留下紀錄,也希望可以供其他人參考,
希望不會寫沒幾篇就放棄了...XD
---廢話結束---

---正文開始---
先從最簡單的旅館分享起,八天七夜共分住兩間旅館,
[大塚]SUPER HOTEL及[新宿]HUNDRED STAY
-----------------------------------------------------
6/3-6/8 SUPER HOTEL-大塚-5晚-32400 JPY
-----------------------------------------------------
某天,常常去日本自助的堂哥跟我說,
他已經幫我訂好了SUPER HOTEL的房間,價格超優惠,
不過只有5晚,平常一晚雙人房大約要8000 JPY左右,
早割方案,5晚32400 JPY,平均下來6480 JPY,
以當時去的匯率0.3計算,一晚台幣不到2000,算是相當便宜的,
對於第一次去日本自助的我原本還擔心這麼便宜,品質方面是不是也相對較差,
事實證明我錯了,到現在我和老婆兩個都還念念不忘,
老婆甚至還說,下次若再去東京一樣要住SUPER HOTEL-大塚...XD
林氏壁有寫了一篇SUPER HOTEL各分店的比較,內容也較詳細,可參考
東京十二家Super Hotel商務旅館交通大評比:上野御徒町=池袋西口>池袋北口>新橋烏森口/大塚(新增淺草分店)

2013-08-21

T-SQL 比較 ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE() 次序函數差異

MS SQL中提供ROW_NUMBER()、RANK()、DENSE_RANK()、NTILE()四個次序函數供資料排序使用
簡單說明如下:
ROW_NUMBER():資料列以流水編排序
RANK():資料列依ORDER BY欄位排名
DENSE_RANK():同RANK(),但不跳號
NTILE():資料列依傳入參數作為分組組數分組排名

tempdb 置於RAMDISK提升速度

現在電腦的記憶體價格已不是高不可攀,
新的電腦隨便也裝個8G的RAM來用用,
一部份還可以切做RAMDISK做暫存檔存取使用,
公司SQL主機已經五年了,雖然還沒有故障的跡象,
不過最近還是請購了一台新的,將舊有的退下來當作備援機,
公司小,很多事情都得自己摸索,調教SQL Server也不例外,
這次更換主機,特地將RAM裝到16G,
主要想要將其中的12G做RMADISK存放tempdb使用,
想要提升IO的速度,不過這樣也僅限於tempdb的部分,
之前Google網路上也沒有太多相關的文章,
所以特別寫了這篇記錄一下安裝過程需注意的部分,

1.RAMDISK格式需為NTFS,使用FAT32 SQL Server會啟動失敗
2.重開機tempdb因存於RAMDISK會被清空重新初始化檔案,不影響使用
3.tempdb數量與CPU核心數一致,4核心即切為4個mdf

目前主機已上線一個月,使用一切正常,
不過建立暫存表的速度提升相當多,將近縮短了一倍的時間!

2013-08-20

Stored Procedure 解密

公司同事可能是怕人笑他寫的太差所以不給看...(誤
所以都將自己寫的stored procedure
使用WITH ENCRYPTION進行加密,
導致休假時根本無法幫他排除問題,
後來參考了RiCo大的文章,
安裝SQL Decryptor直接登入後,即可察看加密過的內容

軟體備份

參考自:RiCo技術農場-[SQL SERVER][Tools] SQL 解密軟體-Free

2013-08-14

SQL Agent 跨伺服器排程作業 'NT AUTHORITY\ANONYMOUS LOGON' 登錄失敗

最近想透過SQL Agent自動執行抓取異地資料庫資料的動作,
在一般SQL編輯器模式下使用指令搭配連結的伺服器執行是沒有問題的,
但是新增到SQL Agent讓排程自動執行,一直出現錯誤訊息:
以下列使用者的身分執行: NT AUTHORITY\SYSTEM。
用戶 'NT AUTHORITY\ANONYMOUS LOGON' 登錄失敗。 [SQLSTATE 28000] (錯誤 18456).  步驟失敗。

2013-08-05

查詢MS SQL Server連線狀況

--列出目前連線的資訊
use master--use master系統資料庫
select c.session_id, c.connect_time,s.login_time, c.client_net_address,
s.login_name,s.status
from sys.dm_exec_connections c left join sys.dm_exec_sessions s
on c.session_id = s.session_id

參考自:
Jeff's Memo-查詢SQL Server目前連線(Connection)狀況
MSDN-sys.dm_exec_connections
MSDN-sys.dm_exec_sessions

2013-07-30

Synology DS213j 安裝 Transmission 下載套件

雖然說DSM內的Download Station也是由Transmission為基礎修改過來的,
不過這幾天用起來老是發生BT下載到一半,套件又當掉的感覺,
必須要時時去注意下載狀況,把套件關閉再重啟以恢復正常,
後來爬文可以自行安裝Transmission這個套件,希望可以解決上述的問題。