-
如何将sql执行的错误消息记录到本地文件中实现过程
其实大家都知道sql语句的错误信息都可以在sys.messages表里面找到如:如果在执行语句在try...catch中我们可以通过以下方法获取错误信息。sql语句如下:复制代码代码如下:BEGINTRYSELECT3/0ENDTRYBEGINCATCHDECLARE@errornumberINTDECLARE@errorseverityINTDECLARE@errorstateINTDECLARE@errormessageNVARCHAR(4000)SELECT@errornumber=ERROR_NUMBER(),@errorseverity=ERROR_SEVERITY(),@errorstate=ERROR_STATE(),@errormessage=ERROR_MESSAGE()SELECT@errornumber,@errorseverity,@errorstate,@errormessageRAISERROR(@errormessage,--Messagetext,@errorseverity,--Severity,@errorstate,--State,@errornu...
数据库操作教程 2022-09-23 17:13:40 -
SQLSERVER如何查看索引缺失及DMV使用介绍
当大家发现数据库查询性能很慢的时候,大家都会想到加索引来优化数据库查询性能,但是面对一个复杂的SQL语句,找到一个优化的索引组合对人脑来讲,真的不是一件很简单的事。好在SQLSERVER提供了两种“自动”功能,给你建议,该怎么调整索引第一种是使用DMV第二种是使用DTA(databaseenginetuningadvisor)数据库引擎优化顾问这篇文章主要讲第一种从SQL2005以后,在SQLSERVER对任何一句语句做编译的时候,都会去评估一下,这句话是不是缺少什么索引的支持,如果他认为是,他还会预估,如果有这麽一个索引他的性能能提高多少SQLSERVER有几个动态管理视图sys.dm_db_missing_index_detailssys.dm_db_missing_index_groupssys.dm_db_missing_index_group_statssys.dm_db_missing_index_columns(index_handle)sys.dm_db_missing_index_details这个DMV记录了当前数据库下所有的missingindex的信息,他针对的...
数据库操作教程 2022-09-23 17:09:44 -
如何创建支持FILESTREAM的数据库示例探讨
本主题说明如何创建支持FILESTREAM的数据库。由于FILESTREAM使用一种特殊类型的文件组,因此,在创建数据库时,必须至少为一个文件组指定CONTAINSFILESTREAM子句...
数据库操作教程 2022-09-23 17:03:19 -
系统存储过程sp_MSforeachtable和sp_MSforeachdb使用说明
1.简介:作为DBA会经常需要检查所有的数据库或用户表,比如:检查所有数据库的容量;看看指定数据库所有用户表的容量,所有表的记录数...,我们一般处理这样的问题都是用游标分别处理处理,比如:在数据库检索效率非常慢时,我们想检查数据库所有的用户表,我们就必须通过写游标来达到要求;如果我们用sp_MSforeachtable就可以非常方便的达到相同的目的:EXECsp_MSforeachtable@command1="print'?'DBCCCHECKTABLE('?')"系统存储过程sp_MSforeachtable和sp_MSforeachdb,是微软提供的两个不公开的存储过程,从mssql6.5开始。存放在SQLServer的MASTER数据库中...
数据库操作教程 2022-09-23 16:54:56 -
T-SQL篇如何防止SQL注入的解决方法
1.什么是SQL注入所谓SQL注入式攻击,就是攻击者把SQL命令插入到Web表单的输入域或页面请求的查询字符串,欺骗服务器执行恶意的SQL命令。在某些表单中,用户输入的内容直接用来构造(或者影响)动态SQL命令,或作为存储过程的输入参数,这类表单特别容易受到SQL注入式攻击...
数据库操作教程 2022-09-23 16:49:21 -
SQLSERVER如何判断某个字段包含大写字母
sql语句中默认是不区分大小写的,所以语句:Sql代码SELECT*FROMRecEngineBizInfoWHERERecEngineBizName='QQ'和Sql代码SELECT*FROMRecEngineBizInfoWHERERecEngineBizName='qq'查到的结果是一样的。要查看某个字段是否包含大写字母A的脚本为:Sql代码select*fromRecEngineBizInfowhereRecEngineBizNamecollateChinese_PRC_CS_AS_WSlike'%A%'www.jb51.net要查看某个字段是否包含大写字母的脚本为:Sql代码SELECT*FROMRecEngineBizInforebiWHERErebi.RecEngineBizNameCOLLATEChinese_PRC_CS_ASlike'%[ABCDEFGHIJKLMNOPQRSTUVWXYZ]%'要查看某个字段是否包含连续两个大写字母的脚本为:Sql代码SELECT*FROMRecEngineAttributeInforeaiWHEREreai.ZhiLingCOLL...
数据库操作教程 2022-09-23 16:48:02 -
如何恢复数据库的账号登录名/用户名等
当我们重装系统,或者是重装数据库之后,当附加数据库之后,发现数据库里面有用户名,但是在sqlserver里面没有登陆名例如先看 用户名 是有他上次系统的用户名的现在我们先去添加这个登录名点击取消进入查询分析器,选择你要修复的数据库sp_change_users_login'report' 这个可以查询当前数据库下的孤立用户 我们只需要选择当前数据库为你要修复的数据库,然后运行sp_change_users_login'update_one','用户名','登录名' 系统就会提示修复了一个孤立用户。重新刷新数据库的用户,会看到用户名和登录名对应了...
数据库操作教程 2022-09-23 16:47:05 -
如何优化SQL语句的心得浅谈
(1)选择最有效率的表名顺序(只在基于规则的优化器中有效):Oracle的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写在最后的表(基础表drivingtable)将被最先处理,在FROM子句中包含多个表的情况下,你必须选择记录条数最少的表作为基础表。如果有3个以上的表连接查询,那就需要选择交叉表(intersectiontable)作为基础表,交叉表是指那个被其他表所引用的表...
数据库操作教程 2022-09-23 16:46:50 -
sqlserver如何利用开窗函数over()进行分组统计
这是一道常见的面试题,在实际项目中经常会用到。需求:求出以产品类别为分组,各个分组里价格最高的产品信息...
数据库操作教程 2022-09-23 16:44:47 -
如何开启SqlServer远程访问
当MicrosoftSqlserver2012安装好后,接下的的工作需要配置Sqlserver数据库允许远程访问,只有配置了Sqlserver远程访问,其他ip客户端才能访问,配置sqlserver远程访问大致分为三步,即配置SQLServerManagementStudio,配置Sqlserver配置管理器和配置防火墙,本篇文章将与大家分享如何开始Sqlserver远程访问。2配置SQLServerManagementStudio详细配置如下:=>本地打开SQLServerManagementStudio=>选择“SQLServer”,右键=>属性安全性=》SQLServer和Windows身份验证模式=>仅限失败的登陆连接=>勾选“允许远程连接到此服务器”=>确定安全性=>sa=>属性常规=>输入密码=>勾选“强制实施密码策略”状态=>授予=>已启用=>确定这里使用了自带的总管理员,一般处于安全考虑我们要为每个数据库分配一个账户来管理数据库选择“SQLServer”=>重新启动选择“是”正在重新启动...
数据库操作教程 2022-09-23 16:44:17 -
SQLserver2014(ForAlwaysOn)安装图文教程
SQLserver2014AlwaysOn在SQLserver2012的基础之上,进行了很大程度的增加,如可以通过“添加Azure副本向导”简化了用于AlwaysOn可用性组的混合解决方案创建;辅助副本的最大数目从4增加到8;断开与主副本的连接时,或者在缺少群集仲裁期间,可读辅助副本现在保持可用于读取工作负荷;故障转移群集实例(FCI)现在可使用群集共享卷(CSV)作为群集共享磁盘;提供了一个新的系统函数sys.fn_hadr_is_primary_replica和一个新的DMVsys.dm_io_cluster_valid_path_names;以下DMV已得到增强,现在返回FCI信息:sys.dm_hadr_cluster、sys.dm_hadr_cluster_members和sys.dm_hadr_cluster_networks等等。本文描述了AlwaysOn部署前SQLserver2014的安装过程,供大家参考...
数据库操作教程 2022-09-23 16:44:13 -
如何快速删掉SQLServer登录时登录名下拉列表框中的选项
问题:我以前创建了一个登录名如kpi,之后在“安全性-登录名”里删掉了,但是每次登录时,登录名的下拉框中总是能显示登录名kpi,怎么把它删掉呢?解决方案:1).SQLServer2008R2和SQLServer2008先关闭数据库登录窗口,然后删除:%AppData%MicrosoftMicrosoftSQLServer100ToolsShell下的SqlStudio.bin文件。(直接在资源管理器中粘贴路径)再打开SSMS就看不到了...
数据库操作教程 2022-09-23 16:43:22