2010年1月12日 星期二

在excel中進行日期的加減運算

欲將EXCEL中一日期欄位,轉換為以西元年表示,並額外再加2年

找不到如VB的函數 "dateadd",最後採如下方式處理,不知可否有更簡便的方式?

  • A1="97/4/20"
  • B1=date(year(a1)+13,month(a1),day(a1)) 可得 B1=2010/4/20

僅查詢欄位名稱

欲查詢某一個資料表的所有"欄"的名稱,但不想要細部的資料
SELECT * FROM xxx_tab WHERE 1=2

2010年1月4日 星期一

資料庫 restore 至它台主機後,無法登入!

在資料庫轉移時,從原主機「卸載(Detach)」資料庫檔案,並移至新主機「附加(Attach)」上去,在「新主機」沒有預先設定 Login 的情況下,資料庫中的 User 將無法刪除,也無法新增同名的 Login,相信有些人有遇到這樣的困擾過!

會 出現這個問題並不是 SQL Server 有 Bug,而是因為你每次建立的登入帳號都會在 SQL Server 中對應一個 SID,資料庫的「使用者」與「登入」的對應是用 SID 來比對的,所以你還原資料庫到另一台機器後,該資料庫中的使用者的 sid 無法比對到該主機 SQL Server 登入帳號中的 sid 所致,所以即便你自己新增了一個「登入」帳號,因為 SID 不一樣,所以也是沒有該資料庫的權限。

http://The Will Will Web



use gps;
--ALTER USER gps with login = gps;
EXEC sp_change_users_login 'Auto_Fix', 'gps', NULL;
sql 2000 sp_change_users_login
http://msdn.microsoft.com/zh-tw/library/ms174378.aspx



執行後的結果敘述呈現如下:
  • 使用者 'mtaxi' 的資料列將會藉由更新它和現有登入的登入連結來修復。
    藉由更新使用者而修復的孤兒使用者數量為 1。
    藉由新增新的登入再更新使用者而修復的孤兒使用者的數量為 0。
  • 使用者 'maddr' 的資料列將會藉由更新它和現有登入的登入連結來修復。
    藉由更新使用者而修復的孤兒使用者數量為 1。
    藉由新增新的登入再更新使用者而修復的孤兒使用者的數量為 0。