使用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
相关文档:
SQL获取所有数据库名、表名、储存过程以及参数列表
1.获取所有数据库名:
(1)、Select Name from Master..SysDatabases order by Name
2.获取所有表名:
(1)、Select Name from SysObjects Where XType=''U'' orDER BY Name
XType='' ......
1.sql是一种脚本语言
2.sql可写脚本程序,但最重要的作用发挥在对数据库的操作上
3.sql server2005中的注释有两种/***/多行注释,--可以单行注释
4.sql中的自定义变量以@开头,系统变量以@@开头
5.sql中声明变量和VB类似,使用declare声明变量如:declare @i int,@j int,此语句声明了2个整形变量@i和@j
6.sql中的数据 ......
例如:
普遍的SQL语句:
update book set bookname='sssss' where bookId=1;
在PL/SQL 中执行:
declare
v_book ......
在Oracle中,如果在sql中出现'&'符号,会被自动转义;
而被要求输入在&符号后跟随的字符串的值,例如:
update tablename set columnName='http://www.g.cn/cv2.jsp?spid=222&cid=333';
执行这个操作时,Oracle会提示
Enter value for cid:
原因是在Oracle中 & 符号是作为转义字符使用的。
解决方法 ......
说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。
问题及描述:
--1.学生表
Student(S#,Sname,Sage,Ssex) --S# 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
--2.课程表
Course(C#,Cname,T#) --C# --课程编号,Cname 课程名称,T# 教师编号
--3.教师表
Teacher(T#,Tname) -- ......