Microsoft IntelliSense 提供一組使語言參考更容易存取的選項陣列。
當編碼時,您不需要讓編輯器在語言元素上執行搜尋。您可以保留您的內容、尋找您需要的資訊、將語言元素直接插入程式碼中,甚至可以讓 IntelliSense 自動完成您的輸入動作。
注意事項:
針對 Transact-SQL 大型指令碼啟用 IntelliSense 可能會降低緩慢電腦的效能。
若要停用 SQL Server Database Engine 所提供的 IntelliSense 功能,可以使用以下的方式:
(一)停用 SSMS 工具的 IntelliSense 功能
此種作法僅限於此台電腦,停止使用 IntelliSense 功能。
其他台有安裝 SSMS 工具的電腦,不會受到影響。
(二)使用「登入觸發程序(Logon Trigger)」
這是在 SQL Server 上,使用「登入觸發程序(Logon Trigger)」,限制此台 SQL Server Database Engine 上的所有連線,不得使用 IntelliSense 功能。
請參考以下的實作範例:
(一)停用 SSMS 管理工具的 IntelliSense 功能
步驟01. 執行 SSMS 管理工具,點選上方選單:「工具」\「選項」。
步驟02. 在「選項」視窗,在左邊窗格,展開「文字編輯器」\「Transact-SQL」節點,點選「IntelliSense」節點。請參考下圖所示:
步驟03. 在「Transact-SQL IntelliSense 設定」區域,取消勾選「啟用 IntelliSense」。
步驟04 點選「確定」,完成設定。
上述的設定,將會影響到新的連線,既有的連線不受到影響。
(二)使用「登入觸發程序(Logon Trigger)」
-- 透過LOGON事件所引發的觸發程序,確認哪些應用程式不可以連接到SQL Server USE master GO IF EXISTS (SELECT * FROM master.sys.server_triggers WHERE parent_class_desc = 'SERVER' AND name = N'IntelliSense_Connection_Limit_Trigger') DROP TRIGGER [IntelliSense_Connection_Limit_Trigger] ON ALL SERVER GO CREATE TRIGGER IntelliSense_Connection_Limit_Trigger ON ALL SERVER FOR LOGON AS BEGIN --如果應用程式名稱如下,則是 SQL Server Management Studio 用來查詢 --IntelliSense 資訊的連接,透過 ROLLBACK 指令,直接放棄建立連接 IF APP_NAME() LIKE '%Microsoft SQL Server Management Studio - Transact-SQL IntelliSense%' ROLLBACK TRANSACTION; END; GO
上述範例係為 APP_NAME() 函數若是返回包含有 Microsoft SQL Server Management Studio - Transact-SQL IntelliSense 字串時,對此連線執行 ROLLBACK TRANSACTION 來中斷此連線的登入行為。
在 SQL Server 記錄檔內,將記錄了以下的相關資料,請參考下圖所示:
錯誤: 3609,嚴重性: 16,狀態: 2。 交易在觸發程序中結束。已中止批次。 錯誤: 17892,嚴重性: 20,狀態: 1。 Logon failed for login 'xxx\Administrator' due to trigger execution. [CLIENT:]
在「物件總管」內,展開「伺服器物件」\「觸發程序」節點,就可以檢視到「登入觸發程序(Logon Trigger)」,請參考下圖所示:
參考資料:
圖書:SQL Server 2008管理實戰-進階維護篇
第9章 DDL觸發程序與事件通知
http://www.delightpress.com.tw/book.aspx?book_id=SKUD00015
登入觸發程序
http://technet.microsoft.com/zh-tw/library/bb326598.aspx
登入觸發程序執行方針
http://msdn.microsoft.com/zh-tw/library/bb153915.aspx
如何:修改 IntelliSense 選項
http://technet.microsoft.com/zh-tw/library/ms173743.aspx
使用 IntelliSense
http://technet.microsoft.com/zh-tw/library/ms174184.aspx
選項 (文字編輯器/Transact-SQL/IntelliSense)
http://msdn.microsoft.com/zh-tw/library/bb964729.aspx
沒有留言:
張貼留言