使用T SQL获取到SQLServer Ip和端口号
在平时的工作过程中,作为DBA角色管理数据库,头脑中的印象往往是数据库实例名称,而不会去关心Server的IP,而作为Developer的角色,他们往往想知道知道Server Ip和端口号。所以,DBA会经常被问及到:XXX实例的IP和端口号是什么?
这个问题,当然我们可以Login到OS查看IP、使用配制管理工具获取到端口号。但是,这个方法非常的麻烦,达不到DBA高效快速反应的要求。
那么,这篇文章就是为了解决效率问题,使用下面的SQL Script可以轻松的获取到SQLServer Ip和端口号。
USE master
GO
DECLARE @tcpEndport VARCHAR(20)
,@regeditKey VARCHAR(100)
/**Enable xp_cmdshell
EXEC sp_configure 'show advanced options', 1
RECONFIGURE WITH OVERRIDE
EXEC sp_configure 'xp_cmdshell', 1
RECONFIGURE WITH OVERRIDE
**/
--SQLServer 2000
IF @@VERSION LIKE 'Microsoft SQL Server 2000%'--SQLServer 2000
BEGIN
SET @regeditKey= N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp'
EXEC master.dbo.xp_regread
@rootkey='HKEY_LOCAL_MACHINE'
,@key= @regeditKey
,@value_name='TcpPort'
,@value=@tcpEndport OUTPUT
END
/*
SQLServer 2005 and SQLServer 2008
*/
ELSE
BEGIN
IF @@Servicename='MSSQLSERVER'--Default instance
BEGIN
SET @regeditKey='SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib\Tcp'
END
ELSE
BEGIN
SET @regedi
相关文档:
说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。
问题及描述:
--1.学生表
Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
--2.课程表
Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号
--3.教师表
Teacher(T#,Tname) -- ......
这些函数在系统函数可以找到。下面是我练习时写的代码,包含了常用的字符串操作函数
/*********************************
常用字符串函数:sql中没有数组这一说
*********************************/
--int charindex('要找的字符串','源字符串',开始位置),获取字符串中指定字符串的位置
declare @str varchar(50)
set ......
$$$为每节的开始
-------------------------------------------------------------------------------------------------------------------------------------------------
$$$ SQL中系统临时表的使用和禁忌 及 Exec(SQLScript) 的使用
以前在SQL 中写SP 时,如比较复杂时,喜欢中间使用临时表来暂存相关记录,这样的 ......
select a.UserName 用户名,b.LoginName 号码,c.MenuTitle 标题,max(a.AccessTime)访问时间 from JfAccessLog a,OaUser b,JfMenu c where CONVERT(char,a.AccessTime,112)=CONVERT(char,GETDATE(),112) and a.UserId=b.UserId and a.MenuId=c.MenuId and a.MenuId=@menu group by a.UserName,b.LoginName,c.Menu ......