安裝好 SQL server 後打開 SSMS,預設會使用 Windows 安裝者的帳號當作 sa 作為系統管理員登入。但往後建立的帳號若均使用 SQL server 進行認證的話,則無法使用 SSMS 操作。以下將說明如何設定 SQL server 同時支援二種類型的驗證方式。
More “透過 SSMS 設定 SQL Server 同時支援 Windows 認證與 SQL Server 認證” »
軟體開發、伺服器和生活瑣事
安裝好 SQL server 後打開 SSMS,預設會使用 Windows 安裝者的帳號當作 sa 作為系統管理員登入。但往後建立的帳號若均使用 SQL server 進行認證的話,則無法使用 SSMS 操作。以下將說明如何設定 SQL server 同時支援二種類型的驗證方式。
More “透過 SSMS 設定 SQL Server 同時支援 Windows 認證與 SQL Server 認證” »
不知道為什麼會跑來研究 MS SQL server,總之很不習慣。
目前 MS SQL server 的主要操作工具是 SSMS,和 MySQL 對照的話類似 MySQL Workbench。但可能因為 DBMS 的架構設計不同,操作上差異很大。
SSMS 在登入時,如果給的錯誤訊息不夠明確,有很大的原因是為了預防惡意使用者找漏洞,因此要看詳細的錯誤訊息,必須透過 sa 去讀取錯誤記錄。必須使用有 sa 權限 (role) 的帳號登入,並在「物件總管」中找到「安全性」:

在「登入」上點滑鼠右鍵叫出選單,並依序找到「登入失敗」報表:

另外一個我很不喜歡的特性,就是 Microsoft 家的產品都是顯示錯誤代碼,必須要透過說明和對照表才知道詳細的原因和問題。像是登入失敗的錯誤代碼必須到「MSSQL 錯誤錯誤 > 17,000 到 19,000」看 …. Orz
建立一個 table 並塞 fake data 來當作測試的資料表:
use `test`; CREATE TABLE `people` ( `id` bigint UNSIGNED NOT NULL, `name` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `email` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `birth` date NOT NULL, `phone` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL, `addr` varchar(250) COLLATE utf8mb4_unicode_ci NOT NULL, `city` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL, `created_at` timestamp NULL DEFAULT NULL, `updated_at` timestamp NULL DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci; ALTER TABLE `people` ADD PRIMARY KEY (`id`);
正常情況下要查詢 rows count 大概就是以下的 query 方法:
SELECT count(*) from prople ;
這個 query 會跑去 scan table 或是 scan index,當資料量到一定規模,scan 會花上好幾分鐘。
另一個方法是去 information_schema 裡面做查詢,可以找到每個 table 的大概的狀況 (不會是準確的數字):
SELECT *
FROM `TABLES`
WHERE TABLE_SCHEMA = 'test'
and TABLE_NAME = 'people'
不過我在找問題時用了 explain,意外發現一個更快、更準確的方法:explain 會列出 index size,如果是使用 primary key + auto increment,這個 index size 其實就是 table size:
> explain select count(9) from `people` \G id | 1 select_type | SIMPLE table | people partitions | <null> type | index possible_keys | <null> key | PRIMARY key_len | 8 ref | <null> rows | 11366812 filtered | 100.0 Extra | Using index

前陣子為了製作縮時攝影,特地整理了必要的器材,因此發現 MK-MC36 這款快門線。我本身有一條僅有快門功能的快門線,當時為了拍星空買的,但縮時攝影需要指定時段並自動拍照,因此將快門線升級到有計時功能的版本。
MK-MC36 這款快門線下單時其實有點心痛,畢竟以前買的快門線才幾百元而已,這隻價格大約在 900 – 1000。但經過 4 天縮時攝影的壓力測試,列出幾個自己蠻喜歡的幾項功能:
總之,這次自動快門完全不用擔心,反而比較擔心相機沒有防盜鎖半夜被摸走。