標籤:
配置函數用於返回配置選項的設定資訊,常見如下:
[email protected]@DATEFIRST
針對會話返回SET DATEFIRST的當前值,set datefirst表示指定的每周的第一天,
美國英語中預設1對應星期一,2對應星期二,以此類推,7對應周日,周日在西方表示每周的第一天
樣本:以下設定5,周五作為每周的第一天,並假定今天是周五,即今日是以周五為第一天
set datefirst 5goselect @@DATEFIRST 第一天,datepart(DW,getdate()) as 今天
第一天 今天
------------ ----------
5 1
[email protected]@LANGID
返回當前使用的語言的本地語言識別項(ID),如果要查看有關語言設定的全部資訊,可以執行不帶參數的sp_helplanguage即exec sp_helplanguage
[email protected]@LANGUAGE
返回當前使用的語言的名稱
[email protected]@LOCK_TIMEOUT
返回當前會話的鎖定逾時設定(毫秒),可以使用SET LOCK_TIMEOUT設定語句等待阻塞資源的最長時間,當一條語句等待的時間長度超過LOCK_TIMEOUT所設定的時間長度,被鎖住的語句將自動取消,並給應用程式返回一條錯與訊息
[email protected]@MAX_CONNECTIONS
返回伺服器執行個體允許同時進行的最大使用者串連數,實際允許的使用者串連數還依賴於所安裝的SQL server的版本以及應用程式和硬體的限制
[email protected]@OPTIONS
返回當前set選項的資訊,可以用"sp_configure 使用者選項"配置選項統一修改 SET 選項。每個使用者有一個 @@OPTIONS 函數代表其配置環境。從第一次登入開始,系統管理員即為所有的使用者指派一個預設的配置設定。可以用 SET 語句更改語言和查詢處理選項。
[email protected]@REMSERVER
當遠程 Microsoft® SQL Server™ 資料庫伺服器在登入記錄中出現時,返回它的名稱。
傳回型別
nvarchar(256)
注釋
@@REMSERVER 使預存程序可以查看它在其上啟動並執行資料庫伺服器名。
樣本
下面的樣本建立一個過程,名為 check_server,它返回遠程伺服器名。
CREATE PROCEDURE check_serverASSELECT @@REMSERVER
預存程序建立在本機伺服器 SEATTLE1 上。使用者登入到遠程伺服器 LONDON2 上,然後運行 check_server。
exec SEATTLE1...check_server
下面是結果集:
---------------LONDON2
[email protected]@SERVERNAME
返回運行 Microsoft® SQL Server™ 的本機伺服器名稱。
SQL Server 安裝程式在安裝時將伺服器名設定為電腦名稱。可通過使用 sp_addserver 然後重新啟動 SQL Server 來更改 @@SERVERNAME。不過,通常不需要這種方法。
當安裝有多個 SQL Server 執行個體時,如果本機伺服器名自安裝後未發生更改,則 @@SERVERNAME 返回以下本機伺服器名資訊。
| 執行個體 |
伺服器資訊 |
| 預設執行個體 |
‘servername‘ |
| 具名執行個體 |
‘servername\instancename‘ |
| 虛擬伺服器 - 預設執行個體 |
‘virtualservername‘ |
| 虛擬伺服器 - 具名執行個體 |
‘virtualservername\instanceservername‘ |
儘管 @@SERVERNAME 函數和 SERVERPROPERTY 函數的 SERVERNAME 屬性可能返回相似格式的字串,但資訊會有所不同。SERVERNAME 屬性會自動報告電腦網路名稱的更改。
相比之下,@@SERVERNAME 不報告此更改。@@SERVERNAME 報告使用 sp_addserver 或 sp_dropserver 預存程序對本機伺服器名所做的更改。
[email protected]@SERVICENAME
返回伺服器正在其下啟動並執行註冊表鍵名。若當前執行個體為預設執行個體,則 @@SERVICENAME 返回 MSSQLSERVER;若當前執行個體是具名執行個體,則該函數返回執行個體名。
[email protected]@SPID
返回目前使用者進程的伺服器處理序會話ID。
@@SPID 可以在 sp_who 輸出結果中標識目前使用者進程。
樣本
下面的樣本返回目前使用者進程的進程 ID、登入名稱和使用者名稱。
SELECT @@SPID AS ‘ID‘, SYSTEM_USER AS ‘Login Name‘, USER AS ‘User Name‘
下面是結果集:
ID Login Name User Name ----- ------------- -----------11 sa dbo
[email protected]@VERSION
<img src="http://counter.yesky.com/counter.shtml?CID=54197&AID=-1&refer=noscriptcounter&cur=noscriptcounter" border=‘0‘ width=‘0‘ height=‘0‘/>
返回 Microsoft® SQL Server™ 當前安裝的日期、版本和處理器類型。
@@VERSION 返回的資訊與 xp_msver 預存程序返回的產品名、版本、平台和檔案資料相似,但 xp_msver 預存程序提供更詳細的資訊和更具有可讀性的結果。
樣本:
select @@VERSION
返回結果:
Microsoft SQL Server 2012 (SP1) - 11.0.3128.0 (X64)
Dec 28 2012 20:23:12
Copyright (c) Microsoft Corporation
Enterprise Edition: Core-based Licensing (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
sql server常見配置函數及其功能