日度归档:2019年2月3日

c#代码返回“服务器上接受结果时产生传输级错误”的相关说明


摘要:
下文讲述c#连接sqlserver时,发生”传输级错误”的相关说明,如下所示:
实验环境:sql server 2008 R2


今天使用c#连接数据库时,出现以下错误,

“在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 – 指定的网络名不再可用。)”

通过仔细查阅网上的资料,发现
出现传输级错误,为Tds类所返回的错误信息,是数据库引擎和客户端之间数据传输所产生的错误,通俗的讲,就是客户端和服务器端连接不畅,或服务器端无响应。
常见发生传输机错误的原因如下:

1.高并发的打开和关闭sql连接–sqlserver引擎或客户端异常
2.网络异常
3.数据库引擎异常,停止对外提供sqlserver服务,或数据库引擎执行中突然中断

我们所遇见的情况是:网络异常。

mssql sqlserver 限制当前数据库的最大连接数


摘要:
下文讲述限制mssql sqlserver数据库的最大连接数的相关设置说明,如下所示:
实验环境:sql server 2008 R2


最近数据库服务器经常宕机,目前还无法查询到具体的原因,下文讲述从数据库的最大连接数上入手,减少数据库可能出错的几率,
下文将介绍调整数据库的最大连接数的方法分享

   /*查阅当前数据库引擎的最大连接数*/
   SELECT @@MAX_CONNECTIONS  as [最大连接数]
    go
    
     ---设置数据库引擎的最大连接数
     exec sp_configure ‘show advanced options’, 1 
     exec sp_configure ‘user connections’, 88    ---设置最大连接数为88
      go

mssql sqlserver 检测字符串是否为sqlserver中保留关键字的方法分享


摘要:
下文将详解sqlserver中检测字符串是否为sqlserver保留关键字的方法分享,如下所示:
实验环境:sqlserver 2008 R2


实现思路:
1.将sqlserver保留关键字使用一个”超大字符串”采用一定的格式放入;
2.使用charindex检测输入的字符串是否存在于这个”超大字符串”中。

    ---1.sql待检测保留关键字列表
    declare @sqlGuanJianZiRecord varchar(max)
    set  @sqlGuanJianZiRecord = 'avg,count,select,form,by,bulk,between,close,cross,ideneity,asc,desc,except, exec,exists,alter,confirm,nullif,';
    
   ---2.sql检测字符串
    select   
     case 
      when charindex('select',@sqlGuanJianZiRecord)  >0 then '此字符串为sql保留关键字'
      else ''
     end 
      as [是否保留关键字检测]