2018年3月14日 星期三

SQLServer 找表格所有欄位 欄位型態 欄位備註 | SQLServer query table column type and comment



SELECT 
    c.name '欄位名稱',
    ep.value AS '欄位備註',
    t.Name '欄位型態',
    c.max_length '最大byte',
    c.precision '總位數',
    c.scale '小數位數',
    c.is_nullable '是否可為空',
    ISNULL(i.is_primary_key, 0) '是否是PK'
FROM    
    sys.columns c
INNER JOIN 
    sys.types t ON c.user_type_id = t.user_type_id
INNER JOIN sys.objects ON sys.objects.object_id = c.object_id
LEFT OUTER JOIN 
    sys.index_columns ic ON ic.object_id = c.object_id AND ic.column_id = c.column_id
LEFT OUTER JOIN 
    sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id
OUTER APPLY fn_listextendedproperty(default,
                  'SCHEMA', schema_name(sys.objects.schema_id),
                  'TABLE', sys.objects.name, 'COLUMN', c.name) ep
WHERE
    c.object_id = OBJECT_ID('your table name')



ref:
https://stackoverflow.com/questions/2418527/sql-server-query-to-get-the-list-of-columns-in-a-table-along-with-data-types-no
https://devio.wordpress.com/2009/08/19/retrieving-table-and-column-descriptions-in-sql-server/

IIS 安裝Windows 驗證功能 需要重開機嗎? | Does IIS after install Windows authentication function, need restart?

不用

NO

因為要在正式機操作,安全起見才去問&本機測測看....

2018年3月13日 星期二

SQL Server 無法在 date 上呼叫方法



背景


我原本有個view
在伺服器1 資料庫A  (1-A)
跨到伺服器1 資料庫B (1-B)

現在這個view移到 伺服器2 資料庫A (2-A) 跨到1-B
建好1到2的db link後
在ssms更新view的sql並執行,出現一個錯誤訊息:
無法在date上呼叫方法

SQL語法直接按新增查詢是可以跑出來結果,
但在SSMS VIEW的語法設計中執行就會出現這個錯誤

解法


先在GOOGLE找到MSDN上的SQL SERVER錯誤訊息代碼表
https://technet.microsoft.com/zh-tw/library/cc645611(v=sql.105).aspx
然後切成英文,找到關鍵字Cannot Call Methods on
重新搜尋 就找到stackoverflow的討論串
https://stackoverflow.com/questions/16180347/sql-server-cannot-call-methods-on-date

原來是ssms的bug

後來用語法
alter view [view name] as [sql command] 就成功更新了

2018年3月2日 星期五

微軟正黑體font-weight看不出粗細問題


如圖,可以看出並沒有什麼多層粗細,只有普通跟粗體兩種

解決方法:

找有提供粗細字型的字體系列,如思源黑體,用字體切換的方式來達到粗細分明