怎么查询sql server数据库当前连接情况

怎么查询sql server数据库当前连接情况,第1张

开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计 然后在下面列出的项目里面选择用户连接就可以时时查询到数据库的连接数了。不过此方法的话需要有访问那台计算机的权限,就是要通过Windows账户登陆进去才可以添加此计数器。

SELECT--SQL语法

从一个或多个表中检索数据。SELECT SQL 命令是与其它 Vfp一样的内置的 Vfp命令。当你使用 SELECT 来生成查询时, Vfp翻译查询并从表中获取指定数据。你可以从以下地方创建 SELECT 查询:

“命令”窗口中

带有其它任何 Vfp命令的 Vfp程序中

查询设计器中

SELECT [ALL | DISTINCT] [TOP nExpr [PERCENT]] [Alias] Select_Item

[[AS] Column_Name] [, [Alias] Select_Item [[AS] Column_Name] ]

FROM [FORCE] [DatabaseName!] Table [[AS] Local_Alias]

[ [INNER | LEFT [OUTER] | RIGHT [OUTER] | FULL [OUTER] JOIN DatabaseName!]

Table [[AS] Local_Alias] [ON JoinCondition ]

[[INTO Destination] | [TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN]]

[PREFERENCE PreferenceName] [NOCONSOLE] [PLAIN] [NOWAIT]

[WHERE JoinCondition [AND JoinCondition ] [AND | OR FilterCondition [AND | OR FilterCondition ]]]

[Group By GroupColumn [, GroupColumn ]] [HAVING FilterCondition] [UNION [ALL] SELECTCommand]

[Order By Order_Item [ASC | DESC] [, Order_Item [ASC | DESC] ]]

参数

SELECT

在 SELECT 子句中指定在查询结果中包含的字段、常量和表达式。

ALL

查询结果中包含所有行 ( 包括重复值 )。ALL 是默认设置。

DISTINCT

在查询结果中剔除重复的行。每一个 SELECT 子句只能使用一次 DISTINCT。

TOP nExpr [PERCENT]

在符合查询条件的所有记录中,选取指定数量或百分比的记录。TOP 子句必须与 ORDER BY 子句同时使用。ORDER BY 子句指定查询结果中包含的列上由Top字句决定的行数, TOP 子句根据此排序选定最开始的 nExpr个或 nExpr% 的记录。

您可以指定选取 1 到 32767 个记录。使用 ORDER BY 子句指定的字段进行排序,会产生并列的情况,比如,可能有多个记录,它们在选定的字段上相同;所以,如果您指定 nExpr 为 10,在查询结果中可能多于 10 个记录,因为可能有几个记录位置并列。

如果包含 PERCENT 关键字指定查询结果中的记录数,得到记录数的可能是小数,这时进行取整。包含 PERCENT 关键字时,nExpr 的范围是 001 到 9999。

[Alias] Select_Item

限定匹配项的名称。Select_Item 指定的每一项在查询结果中都生成一列。一个项可以是以下一个

FROM 子句所包含的表中的字段名称。

一个常量,查询结果中每一行都出现这个常量值。

一个表达式,可以是用户自定义函数名。

关于使用用户定义函数的详细信息, 参见注释节中的带用户定义函数的 SELECT。

你用 Select_Item 指定的各项生成一个查询结果列。

如果两个或更多的项具有相同的名称, 在项名前包含表别名和一个句点来避免列重复。

[AS] Column_Name

为查询输出中的列指定显示名。Column_Name 可以是表达式但不能包含不允许的字符, 如, 字段名中的空格。

当 Select_Item 是一个表达式或包含一个字段函数而且你想给该列一个有意义的名字时该选项是有用的。

FROM [FORCE] DatabaseName!

列出所有从中检索数据的表。

FORCE 指定连接表时按它们出现在 FROM 子句中的顺序。如果省略 FORCE, Vfp会试图对查询进行优化。但是, 使用 FORCE 子句,避免了优化过程,可能加快查询执行的速度。

当包含表的数据库不是当前数据库时,DatabaseName! 指定这个数据库的名称。如果数据库不是当前数据库,就必须指定包含表的数据库名称。应在数据库名称之后表名之前加上感叹号(!)分隔符。

[[AS] Local_Alias]

为 Table 中的表指定一个临时名称。如果指定了本地别名,那么在整个SELECT 语句中必须都用这个别名代替表名。本地别名不影响 Visual FoxPro环境。INNER JOIN 只有在其他表中包含对应记录(一个或多个)的记录才出现在查询结果中。

INNER JOIN 只有在其他表中包含对应记录(一个或多个)的记录才出现在查询结果中。

LEFT [OUTER] JOIN 在查询结果中包含:JOIN 左侧表中的所有记录,以及JOIN 右侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接 (outer join)。

RIGHT [OUTER] JOIN 在查询结果中包含:JOIN 右侧表中的所有记录,以及 JOIN 左侧表中匹配的记录。OUTER 关键字可被省略;包含 OUTER 强调这是一个外连接接 (outer join)。

FULL [OUTER] JOIN 在查询结果中包含:JOIN 两侧所有的匹配记录,和不匹配的记录;包含 OUTER 强调这是一个外连接 (outer join)。

关于连接的详细信息, 参见备注段中的 Joins。

ON JoinCondition 指定连接条件。

INTO Destination

指定在何处保存查询结果。Destination 可以是下列子句之一:

ARRAY ArrayName ,将查询结果保存到变量数组中。

如果查询结果中不包含任何记录,则不创建这个数组。

CURSOR CursorName [NOFILTER | READWRITE] 将查询结果保存到临时表中。

要创建一个查用于子查询中的游标, 用 NOFILTER。关于 NOFILTER 的详细信息, 参见备注节。

要指定游标是临时的和可修改的, 使用 READWRITE。如果源表或表使用 autoincrementing, 该设置不会被 READWRITE 游标继承。

DBF | TABLE TableName [DATABASE DatabaseName [NAME LongTableName]] 保存查询结果到一个表中。

包含 DATABASE DatabaseName 以指定添加了表的数据库。

包含 NAME LongTableName 可以为该表命一个最多可包括 128 个字符的并且可以在数据库中代替短名字的长名。

如果没有包括 INTO 子句, 查询结果显示在一个“浏览”窗口中。也可以用 TO FILE 子句来定向查询结果到打印机或一个文件。

TO FILE FileName [ADDITIVE] | TO PRINTER [PROMPT] | TO SCREEN

定向查询结果到打印机或一个文件。

ADDITIVE 添加查询输出到 TO FILE FileName 中指定的已存在的文本文件内容中。

TO PRINTER 定向查询输出到一个打印机。在打印开始之前,使用可选的 PROMPT 子句显示一个对话框。您可以根据当前安装的打印机驱动程序调整打印机的设置。将 PROMPT 子句放置在紧跟 TO PRINTER 之后。

TO SCREEN 使查询结果定向输出到 Vfp主窗口或活动的用户自定义窗口中。

PREFERENCE PreferenceName

如果查询结果送往浏览窗口,就可以使用 PREFERENCE 保存浏览窗口的属性和选项以备后用。关于 PREFERENCE 功能的详细信息, 参见备注节。

NOCONSOLE

不显示送到文件、打印机或 Vfp主窗口的查询结果。

PLAIN

防止列标题出现在显示的查询结果中。不管有无 TO 子句都可使用 PLAIN子句。如果 SELECT 语句中包括 INTO 子句,则忽略 PLAIN 子句。

NOWAIT

打开浏览窗口并将查询结果输出到这个窗口后继续程序的执行。程序并不等待关闭浏览窗口,而是立即执行紧接在 SELECT 语句后面的程序行。关于如何使用 NOWAIT 的说明, 参见备注节。

WHERE JoinCondition

指定 Vfp的查询结果中只包括符合指定条件的记录。JoinCondition 指定位于 FROM 子句中的字段连接表。关于指定连接条件的详细信息, 参见备注节。

WHERE 支持 JoinCondition 的 ESCAPE *** 作符, 让你可以执行包含有百分号 (%) 和下划线 (_) 通配符的 SELECT SQL 命令查询。ESCAPE 允许你指定一个按原字样处理的 SELECT SQL 命令通配符。在 ESCAPE 子句中, 一旦一个字符被放到通配符字符之前,就表示这个通配符被看作一个文字字符。

FilterCondition

指定将包含在查询结果中记录必须符合的条件。使用 AND 或 OR *** 作符,您可以包含随意数目的过滤条件。您还可以使用 NOT *** 作符将逻辑表达式的值取反,或使用 EMPTY() 函数以检查空字段。

SELECT SQL 命令在筛选条件中支持 "<field> IS / IS NOT NULL"。要学习如何使用 FilterCondition。

Group By GroupColumn [, GroupColumn ]

按列的值对查询结果的行进行分组。GroupColumn 可以是常规的表字段名,也可以是一个包含 SQL 字段函数的字段名,还可以是一个数值表达式,指定查询结果表中的列位置(最左边的列编号为 1 )。

HAVING FilterCondition

指定包括在查询结果中的组必须满足的筛选条件。HAVING 应该同 GROUP BY一起使用。它能包含数量不限的筛选条件,筛选条件用 AND 或 OR 连接,还可以使用 NOT 来对逻辑表达式求反。可以在 HAVING 子句中使用本地别名和字段函数。 关于你可以使用的字段函数的详细信息, 参见备注节。FilterCondition 不能包含子查询。

可以使用带 HAVING 子句的 Group By。使用 HAVING 子句的命令如果没有使用 GROUP BY 子句,则它的作用与WHERE 子句相同。

如果 HAVING 子句不包含字段函数的话,使用 WHERE 子句可以获得较快的速度。

 最近有些客户提出想对SQL Server的连接数进行一些监听。总结了以下一些方法:

1、获取SQL Server允许同时用户连接的最大数

SELECT @@MAX_CONNECTIONS

2、获取当前指定数据库的连接信息

SELECT FROM masterdbosysprocesses WHERE dbid IN

(

SELECT dbid FROM masterdbosysdatabases

WHERE NAME='YourDataBaseName'

)

--根据需要更改YourDataBaseName

SELECT FROM masterdbosysprocesses WHERE DB_NAME(dbid) = 'YourDataBaseName'

3、获取当前SQL服务器所有的连接详细信息

SELECT FROM sysprocesses

以上查询结果包含了:系统进程和用户进程。

如果只是想查用户进程的话则需采用下面的方法

4、获取自上次启动 SQL Server服务 以来连接或试图连接的次数

SELECT @@CONNECTIONS

这个刚开始会有点误解,认为是当前SQL Server服务器当前所有的连接数。需要重点注意。

可以使用Windows自带的性能监视器来查看SQL Server当前的连接数,在安装SQL Server的时候已经安装了相关的性能监视器,只要将它们调用出来查看即可。方法如下:(我的系统是Win7,具体的界面、步骤跟XP有比较大的区别,所以这里我大概说一下)运行perfmonexe,打开性能监视器。点击性能监视器工具栏上的加号“+”,d出一个对话框,在左边的列表中找到并选择“SQLServer:General Statistics”(XP的名字可能不完全一样),然后在右边的对话框中找到并选择“User Connections”,最后点击“添加”按钮并关闭对话框即可。

使用where语句进行查询,如:

select EmpE_Id,CompanyC_OraName from Emp,Company where CompaneyC_Id=EmpC_Id

但是往往会碰到比较复杂的语句,这时候使用where就不太合适了,其实SQL可以用较为直接的形式进行连接 *** 作,可以在From子句中以直接的形式指出:

select top 10 E_Id,E_Name,C_Name

from

Emp join Companey on CompaneyC_Id=EmpC_Id

where

E_Id not in (select top 20 E_Id from Emp order by  E_Id  asc)

order by E_Id asc

//查询表Emp中第21到第30条数据以升序排列,其中C_Name来自于另一个表

扩展资料:

SQL查询语句

1、获取当前数据库中的所有用户表select Name from sysobjects where xtype='u' and status>=0

2、获取某一个表的所有字段select name from syscolumns where id=object_id('表名')select name from syscolumns where id in (select id from sysobjects where type = 'u' and name = '表名')

3、查看与某一个表相关的视图、存储过程、函数select a from sysobjects a, syscomments b where aid = bid and btext like '%表名%'

4、查看当前数据库中所有存储过程select name as 存储过程名称 from sysobjects where xtype='P'

5、查询用户创建的所有数据库select from mastersysdatabases D where sid not in(select sid from mastersyslogins where name='sa')

或者select dbid, name AS DB_NAME from mastersysdatabases where sid <> 0x01

6、查询某一个表的字段和数据类型select column_name,data_type from information_schemacolumnswhere table_name = '表名'

一:C# 连接SQL数据库

Data Source=myServerAddress;Initial Catalog=myDataBase;User Id=myUsername;Password=myPassword;

Data Source=190190200100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=False;

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

Server=myServerName\theInstanceName;Database=myDataBase;Trusted_Connection=True;

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

1:Integrated Security参数

当设置Integrated Security为 True 的时候,连接语句前面的 UserID, PW 是不起作用的,即采用windows身份验证模式。

只有设置为 False 或省略该项的时候,才按照 UserID, PW 来连接。

Integrated Security 还可以设置为:sspi ,相当于 True,建议用这个代替 True。

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=true;

Data Source=myServerAddress;Initial Catalog=myDataBase;;User ID=myUsername;Password=myPasswordIntegrated Security=false;

2:参数Trusted_Connection

Trusted_Connection=true,将使用当前的 Windows 帐户凭据进行身份验证

Trusted_Connection=false;将不采用信任连接方式(也即不采用Windows验证方式),而改由SQL Server 2000验证方式

Server=myServerAddress;Database=myDataBase;User ID=myUsername;Password=myPassword;Trusted_Connection=false;

Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;

3:Initial Catalog是你要连接的数据库的名字

4:WINCE连接

Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;User ID=myDomain\myUsername;Password=myPassword;

二:可以利用SqlConnectionStringBuilder,这样不必去记住名称。

SqlConnectionStringBuilder scsb = new SqlConnectionStringBuilder();

scsbDataSource = @"(local)\SQLExpress";

scsbIntegratedSecurity = true;

scsbInitialCatalog = "Northwind";

SqlConnection myConnection = new SqlConnection(scsbConnectionString);

三:可以利用属性中的Setting来自动设置连接字符串

1:在type中选择 (connection string),

2:在DataSouce中选择数据源,然后再Server中输入服务器名,本地用(local)\SQLExpress

3:选择登陆验证方式,本次选Windows验证(即信任连接Integrated Security=True)

4:选择数据库名,确认即可

Data Source=(local)\SQLExpress;Initial Catalog=Northwind;Integrated Security=True

server = \sqlexpress;integrated security = true;database = northwind

四:SQL2005远程服务器连接方法

如何打开sql server 2005 的1433端口:

配置工具->Sql Server Configuration Manager->MSSQLSERVER的协议看看TCP/IP协议是否启动,如果启动,右键菜单点"属性" ,在分页菜单中选"IP地址",把"IP1"和"IP2"中"TCP端口"为1433,"已启用"改为"是"

配置工具->Sql Server Configuration Manager->SQL Native Client 配置->客户端协议->TCP/IP选择TCP/IP右键菜单中"属性",确认"默认端口"是1433,"已启用"为"是"。

SQL Server 2005 远程连接配置TCP/IP属性:

Surface Area Configuration --> Database Engine --> Remote Connections --->Using TCP/IT SQL Server 外围应用配置器服务和连接外围配置database englie远程连接启用(远程连接的TCP/IP和named pipes)

SQL Server Configuration ManagerSQL2005网络配置启用TCP/IP和named pipes

其他说明见下: sqlserver2005(Express版),为了便于管理,你还需要去下一个manage管理器:

安装好manage管理器后,在程序中连接sqlserver2005,下面几点是要注意的。

1 开启sql2005远程连接功能,开启办法如下, 配置工具->sql server外围应用配置器->服务和连接的外围应用配置器->打开MSSQLSERVER节点下的Database Engine 节点,先择"远程连接",接下建议选择"同时使用TCP/IP和named pipes",确定后,重启数据库服务就可以了

2登陆设置改为,Sql server and windows Authentication方式同时选中,具体设置如下: manage管理器->windows Authentication(第一次用windows方式进去),->对象资源管理器中选择你的数据服务器--右键>属性>security>Sql server and windows Authentication方式同时选中

3:设置一个Sql server方式的用户名和密码,具体设置如下: manage管理器->windows Authentication>new query>sp_password null,'sa123456','sa' 这样就设置了一个用户名为sa ,密码为:sa123456的用户,下次在登陆时,可以用Sql server方式, 用户名为sa ,密码为:sa123456的用户进数据库了

4: 做完上面三步后,这样写连接字符串就可以顺利进入数据库了,

(server=\sqlexpress;uid=sa;pwd=sa123456;database=master";

五:SQL2000远程服务器连接方法

1:看ping 服务器IP能否ping通。

2:在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。 如telnet 202114100100 1433 通常端口值是1433,因为1433是sql server 2000的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。

如果这一步有问题,应该检查以下选项。

1) 检查远程服务器是否启动了sql server 2000服务。如果没有,则启动。

2) 检查服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单-> 程序-> Microsoft SQL Server-> 服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。

3)检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。 事实上,如果默认端口被修改,也是可以的,但是在客户端做 telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变。

4)如果服务器端 *** 作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。

5)检查服务器是否在1433端口侦听。如果服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入 select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。

3: 检查客户端设置程序-> Microsoft SQL Server -> 客户端网络使用工具。像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。

4:在企业管理器里或查询那分析器连接测试 企业管理器-> 右键SQlserver组-> 新建sqlserver注册-> 下一步-> 写入远程IP-> 下一步-> 选Sqlserver登陆-> 下一步-> 写入登陆名与密码(sa,password)-> 下一步-> 下一步-> 完成 查询分析器-> 文件-> 连接-> 写入远程IP-> 写入登录名和密码(sa,password)-> 确定通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。修改默认连接超时的方法: 企业管理器-> 工具-> 选项-> 在d出的"SQL Server企业管理器属性"窗口中,点击"高级"选项卡-> 连接设置-> 在 登录超时(秒) 后面的框里输入一个较大的数字查询分析器-> 工具-> 选项-> 连接-> 在 登录超时(秒) 后面的框里输入一个较大的数字通常就可以连通了,如果提示错误,则进入下一步。

5:错误产生的原因通常是由于SQL Server使用了"仅 Windows"的身份验证方式,因此用户无法使用SQL Server的登录帐户(如 sa )进行连接。解决方法如下所示:

1) 在服务器端使用企业管理器,并且选择"使用 Windows 身份验证"连接上 SQL Server。

2) 展开"SQL Server组",鼠标右键点击SQL Server服务器的名称,选择"属性",再选择"安全性" 选项卡。

3)在"身份验证"下,选择"SQL Server和 Windows "。

4) 重新启动SQL Server服务。(在dos或命令行下面net stop mssqlserver停止服务,net start mssqlserver启动服务,也是一种快捷的方法)。

1通过管理工具

开始->管理工具->性能(或者是运行里面输入 mmc)然后通过添加计数器添加 SQL 的常用统计 然后在下面列出的项目里面选择用户连接就可以时时查询到数据库的连接数了。不过此方法的话需要有访问那台计算机的权限,就是要通过Windows账户登陆进去才可以添加此计数器。

2通过系统表查询]

SELECT  FROM[Master][dbo][SYSPROCESSES] WHERE [DBID] IN ( SELECT   [DBID]FROM   [Master][dbo][SYSDATABASES]WHERE   NAME='DBName')

以上就是关于怎么查询sql server数据库当前连接情况全部的内容,包括:怎么查询sql server数据库当前连接情况、sql2014中使用当前连接查询命令在哪、如何查询SQL SERVER中连接池的最大连接数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9560557.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-29
下一篇2023-04-29

发表评论

登录后才能评论

评论列表(0条)

    保存