① 使用SQL語句獲得伺服器名稱和IP 地址
使用SQL語句獲得伺服器名稱和IP地址獲取伺服器名稱:SELECT SERVERPROPERTY('MachineName')select @@SERVERNAMEselect HOST_NAME()獲取IP地址
② 如何使用SQL語句查到當前SQL SERVER 2000伺服器的IP地址
在一些需求中,可能我們需要知道連接到SqlServer的前端程序的一些系統信息,比如前端連接的計算機名稱,IP地址,什麼時候開始請求連接,什麼時候結束連接等信息。如果你對SqlServer的系統函數或視圖不太了解,這個功能看起來好像比較復雜,而實際上,SqlServer的動態管理視圖已經給我們提供了這些信息,下面我們來看兩個動態管理視圖。1、Sys.dm_exec_Sessions這個視圖中提供了所有連接sqlserver的客戶端的一些信息,下面是Sys.dm_exec_Sessions返回的列:列名數據類型說明Session_idsmallint標識與每個活動主連接關聯的會話。login_timedatetime建立會話的時間。host_namenvarchar(128)與會話關聯的主機。program_namenvarchar(128)與會話關聯的程序。host_process_idint與會話關聯的進程ID。client_versionint客戶端連接到伺服器所用的介面版本。client_interface_namenvarchar(32)客戶端連接到伺服器所用的介面名稱。security_idvarbinary(85)與登錄名關聯的MicrosoftWindows安全ID。login_namenvarchar(128)與會話關聯的SQL登錄名。nt_domainnvarchar(128)從中建立會話連接的域。nt_user_namenvarchar(128)與會話關聯的用戶名。statusnvarchar(30)會話的狀態。可能的值:1,運行-當前正在運行一個或多個請求2,睡眠-當前沒有運行任何請求3,休眠-會話處於登錄前狀態context_infovarbinary(128)會話的CONTEXT_INFO值。cpu_timeint該會話所佔用的CPU時間(毫秒)。memory_usageint該會話所佔用的8KB內存頁數。total_scheled_timeint計劃內含請求的會話的執行所耗用的總計時間(毫秒)。total_elapsed_timeint自會話建立以來已耗用的時間(毫秒)。endpoint_idint與會話關聯的端點的ID。last_request_start_timedatetime最近一次會話請求的開始時間。這包括當前正在執行的請求。last_request_end_timedatetime最近一次會話請求的完成時間。readsbigint在該會話期間該會話中的請求所執行的讀取次數。Writesbigint在該會話期間該會話中的請求所執行的寫入次數。logical_readsbigint已對該會話執行的邏輯讀取數。is_user_processbit如果會話是系統會話,則為0。否則,為1。text_sizeint會話的TEXTSIZE設置。languagenvarchar(128)會話的LANGUAGE設置。date_formatnvarchar(3)會話的DATEFORMAT設置。date_firstsmallint會話的DATEFIRST設置。quoted_identifierbit會話的QUOTED_IDENTIFIER設置。arithabortbit會話的ARITHABORT設置。ansi_null_dflt_onbit會話的ANSI_NULL_DFLT_ON設置。ansi_defaultsbit會話的ANSI_DEFAULTS設置。ansi_warningsbit會話的ANSI_WARNINGS設置。ansi_paddingbit會話的ANSI_PADDING設置。ansi_nullsbit會話的ANSI_NULLS設置。concat_null_yields_nullbit會話的CONCAT_NULL_YIELDS_NULL設置。transaction_isolation_levelsmallint會話的事務隔離級別。0=未指定1=未提交讀取2=已提交讀取3=可重復4=可序列化5=快照lock_timeoutint會話的LOCK_TIMEOUT設置。該值以毫秒計。deadlock_priorityint會話的DEADLOCK_PRIORITY設置。row_countbigint到目前為止會話返回的行數。prev_errorint會話返回的最近一個錯誤的ID。比如說,我們要看那些主機有連接到了sqlserver伺服器,可以使用下面的sql語句:selectdistincthost_namefromsys.dm_exec_Sessions要看那些用戶已連接到sqlserver伺服器:selectdistinctlogin_namefromsys.dm_exec_Sessions當然,利用上面的列,我們可以獲得想要的客戶端信息2、Sys.dm_exec_connections這個視圖返回了連接sqlserver伺服器上面的每個連接的詳細信息,下面是Sys.dm_exec_connections返回的列:列名數據類型說明Session_idint標識與此連接關聯的會話。most_recent_Session_idint顯示與此連接關聯的最近請求的會話ID。connect_timedatetime連接建立時的時間戳。net_transportnvarchar(40)說明該連接使用的物理傳輸協議。protocol_typenvarchar(40)指定負載的協議類型。此參數當前可區分TDS(TSQL)和SOAP。protocol_versionint與此連接關聯的數據訪問協議的版本。endpoint_idint與此連接關聯的端點的唯一標識符。此endpoint_id可用於查詢sys.endpoints視圖。encrypt_optionnvarchar(40)說明是否為此連接啟用了加密的布爾值。auth_schemenvarchar(40)指定與此連接一起使用的SQLServer/NT身份驗證。node_affinitysmallint顯示與此連接關聯的SOS節點。num_readsint此連接中已發生的讀包次數。num_writesint此連接中已發生的寫數據包次數。last_readdatetime此連接中上一次發生讀操作的時間戳。last_writedatetime此連接中上一次發生寫操作的時間戳。net_packet_sizeint用於信息和數據的網路包的大小。client_net_addressvarchar(40)與此伺服器連接的客戶端的主機地址。client_tcp_portint與該連接關聯的客戶機上的埠號。local_net_addressvarchar(40)顯示此連接的目標伺服器的IP地址。只對使用TCP傳輸提供程序的連接可用。local_tcp_portint如果此連接使用TCP傳輸,則顯示該連接的目標伺服器的TCP埠。connection_iniqueidentifier對每個連接進行唯一標識。parent_connection_iniqueidentifier標識MARS會話正在使用的主要連接。most_recent_sql_handlevarbinary(64)此連接上執行的上一個請求的SQL句柄。most_recent_sql_handle列始終與most_recent_Session_id列同步。比如,我要查看當前連接的客戶端IP與sqlserver所在伺服器的IP,可以用下面的sql查詢:selectclient_net_address'客戶端IP',local_net_address'伺服器的IP'fromsys.dm_exec_connectionswhereSession_id=@@spid@@spid的作用是返回當前進程的會話ID。
③ sql server 已經連上遠程連接伺服器資料庫 ,怎麼查看連接伺服器的IP地址
利用sql語句-獲取伺服器ip的方法
SELECTlocal_net_address伺服器IP地址,local_tcp_portAS服務埠,
client_net_addressAS客戶端IP地址
FROMsys.dm_exec_connections
WHEREsession_id=@@SPID
此腳本適用於SQL2005及以上版本
④ 如何查看sql2005伺服器地址
【方法一】用 SQL 語句查看 SQL Server 2005 埠號
查看 SQL Server 2005 的埠號,我們可以到安裝 SQL Server 服務的機器上,通過配置工具 SQL Server Configuration Manager(SSCM)中來找。如果 SQL Server 伺服器在遠程,這個辦法就行不通了。不過,我們還可以通過查看 SQL Server 伺服器日誌來查看。如果日誌內容很多的話,找起來就比較麻煩。幸運的是,SQL Server 2005 為我們提供了一個非常有用的系統存儲過程 sp_readerrorlog。(你在 SQL Server 幫助文檔中可能找不到)。言歸正傳,下面演示下通過 SQL 語句來找到 SQL Server 埠號:
exec sys.sp_readerrorlog 0, 1, 'listening'
LogDate ProcessInfo Text ----------------------- ------------ ---------------------------------------------
這里,1433 就是 SQL Server 監聽的埠號。
SQL Server 2005 系統擴展存儲過程 sys.readerrorlog 可以讀取 SQL Server 伺服器日誌文件。注意,這里的日誌文件是指 SQL Server 伺服器日誌,而不是 SQL Server 資料庫的日誌文件。【方法二】
點擊電腦左下方的開始-Microsoft SQL Server2005-配置工具-SQL Server Configuration Manager- 展開網路配置 --點擊MYSQLSERVER協議 --雙擊TCP/IP --選擇IP地址就能看到埠號了