-
SQLServer 复杂存储过程并发优化
所属栏目:[MsSql教程] 日期:2020-12-12 热度:107
一个存储过程,几千行代码,内部有一个查询,关联使用了200多张表(其中有重复的表),并发线程执行,耗时15秒左右,结果返回一般几行记录。这个存储过程是系统中最耗时、最消耗性能的。今天突然想着得优化一下了! 取出存储过程内的查询,声明相关参数执行[详细]
-
SQLServer2008不允许保存更改错误解决办法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:122
说明: 有的时候对数据库表格重新设计时,表格已经存在数据,这时候要增加一列或者修改数据类型,就会出现不允许修改 且只能删除掉全部数据后才能修改的问题,只需要修改个配置就可以避免这个问题了。 注意: 需要重启 Microsoft SQL Server Managerment Studi[详细]
-
SQLServer 时间格式化
所属栏目:[MsSql教程] 日期:2020-12-12 热度:147
背景知识: SQL Server自带的C onvert ?函数,可以将日期类型的字段按照指定的格式转换为字符串格式,您可以将以下脚本复制到查询分析器执行; DECLARE @now datetime SET @now = GETDATE() select convert(nvarchar(MAX),@now,0) as output,0 as style? uni[详细]
-
SQLSERVER 数据库恢复挂起的解决办法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:126
如果你的数据库还处于挂起状态,请把我下面代码的test改为你的库名,然后执行完,刷新就正常了: USE master GO ALTER DATABASE test SET SINGLE_USER GO ALTER DATABASE test SET EMERGENCY GO DBCC CHECKDB( test ,REPAIR_ALLOW_DATA_LOSS) go ALTER DATAB[详细]
-
SQLServer控制用户访问权限表
所属栏目:[MsSql教程] 日期:2020-12-12 热度:187
一、 需求 在管理数据库过程中,我们经常需要控制某个用户访问数据库的权限,比如只需要给这个用户访问某个表的权限,甚至是CRUD的权限,更小粒度的还可以去到某几个字段的访问权限。写这篇文章就是说明下这个操作过程。 其实这只是SQL Server权限管理很简单[详细]
-
sqlserver Split 开放写法有兴趣的学习一下
所属栏目:[MsSql教程] 日期:2020-12-12 热度:71
USE [MssDb]GO/****** Object: UserDefinedFunction [dbo].[F_SQLSERVER_SPLIT] Script Date: 07/19/2016 09:56:15 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO-- =============================================-- Author:yanghui-- ALTER date:[详细]
-
sqlserver存储过程内容搜索
所属栏目:[MsSql教程] 日期:2020-12-12 热度:115
GO ? SELECT obj.Name 存储过程名,sc.TEXT 存储过程内容 ? FROM syscomments sc ? INNER JOIN sysobjects obj ON sc.Id = obj.ID ? WHERE sc.TEXT LIKE '%' + 'ShortMessage' + '%' ? AND TYPE = 'P' ? GO ?[详细]
-
SQLServer 2008以上误操作数据库恢复方法——日志尾部备份
所属栏目:[MsSql教程] 日期:2020-12-12 热度:82
转自http://blog.csdn.net/dba_huangzj/article/details/8491327 原文出处:http://www.voidcn.com/article/p-kkmcngjp-ov.html 问题: ? ? ? ? ?经常看到有人误删数据,或者误操作,特别是update和delete的时候没有加where,然后就喊爹喊娘了。人非圣贤孰能[详细]
-
SQLServer 分页查询
所属栏目:[MsSql教程] 日期:2020-12-12 热度:127
一. SQLServer2008 分页查询 select * from ( select ?t.*,r.strclipid,r.nsoftcheck ?,ROW_NUMBER() OVER(ORDER BY nSectionIndex ASC,nBidIndex ASC,nLidIndex ASC ) ?as R from ? (SELECT t_ProgramSheet.strPSID,t_ProgramSheet.strSectionGuid,t_Progra[详细]
-
sqlserver 2008 IP或.无法登陆解决办法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:183
1、服务类型不是Network Service。打开配置管理器--SQL Server服务--SQL Serve,右键--属性--内置账户,选择Network Service,然后重启SQL Server服务。 2、TCP/IP协议未启用。打开配置管理器--SQL Server 网络配置--(实例名称)的协议--TCP/IP,右键--属性[详细]
-
在SQLserver中stuff 函数用法
所属栏目:[MsSql教程] 日期:2020-12-12 热度:160
-- 提取数字 IF ? OBJECT_ID ( ' DBO.GET_NUMBER ' )? IS ? NOT ? NULL DROP ? FUNCTION ?DBO.GET_NUMBER GO CREATE ? FUNCTION ?DBO.GET_NUMBER( @S ? VARCHAR ( 100 )) RETURNS ? 100 ) AS BEGIN WHILE ? PATINDEX ( %[^0-9]% ' , @S )? ? 0 set ? @s = st[详细]
-
SQLServer 大容量导入导致死锁和系统变慢问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:192
今天测试同事反馈系统变得比较慢,看看什么原因。 按常理,用几个日常排除语句: --当前正在执行的语句SELECTder.[session_id],der.[blocking_session_id],sp.lastwaittype,sp.hostname,sp.program_name,sp.loginame,der.[start_time] AS '开始时间',der.[st[详细]
-
sqlserver 批量更新表中的值 把某个字段更新成另外一个表的某个
所属栏目:[MsSql教程] 日期:2020-12-12 热度:140
sqlserver 批量更新表中的值 把某个字段更新成另外一个表的某个字段 UPDATE dbo.by_product SET weight=dbo.by_category.weight FROM dbo.by_category JOIN dbo.by_product ON dbo.by_category.by_category_id=dbo.by_product.by_category_id[详细]
-
SQLServer 2008数据库查看死锁、堵塞的SQL语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:97
-- 每秒死锁数量 SELECT ?* FROM ? ?sys.dm_os_performance_counters WHERE ? counter_name LIKE 'Number of Deadlocksc%'; -- 查询当前阻塞 WITH ? ?CTE_SID ( BSID,SID,sql_handle ) ? ? ? ? ? AS ( SELECT ? blocking_session_id,? ? ? ? ? ? ? ? ? ? ? ?[详细]
-
SQLSERVER 启动sa用户登录
所属栏目:[MsSql教程] 日期:2020-12-12 热度:69
错误信息: 连接到服务器------------------------------无法连接到 .SQLEXPRESS。------------------------------其他信息:用户 'sa' 登录失败。 (Microsoft SQL Server,错误: 18456) 1、打开数据库——用Windows身份登录数据库 2、选择安全性-登录名-sa[详细]
-
SQLServer 利用profiler生成脚本在后台跟踪堵塞语句或慢查询语句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:67
当启用?SQLServer profiler 跟踪sql语句的时候,是非常方便的,同时也可以按照各个维度筛选跟踪。但是对于长时间跟踪,一直打开着profiler界面不是很好。有一个技巧是可以把profiler 的跟踪设置导出成sql 脚本,脚本可以在后台执行。以跟踪慢查询为例。 【堵[详细]
-
装了多个版本的sqlserver,无法共享1433端口,可以自己指定端口
所属栏目:[MsSql教程] 日期:2020-12-12 热度:132
客户端链接服务器SQLServer时带端口的链接:192.168.1.20,1434 ,用 “,”逗号[详细]
-
MSSQL常用数据类型
所属栏目:[MsSql教程] 日期:2020-12-12 热度:116
1.字符类型 一般常用的varchar,char,text等,其中varchar为可变长,char为定长.varchar使用的好处是可以节约空间.char的好处是效率可能较高. 数据类型 描述 存储空间 char(n) n为1-8000字符之间 n字节 nchar(n) n为1-4000 unicode字符之间 2*n字节 nvarchar(ma[详细]
-
项目实战——sqlserver 使用With as 提高sql语句的可维护性和运
所属栏目:[MsSql教程] 日期:2020-12-12 热度:190
场景: ? 在一个sql查询语句中,使用到了大量的union 和union all ,而且这个结果集被后面的一个查询调用了多次。如果,每一次你都在用到它的sql语句中,到处复制粘贴,显然不是一个聪明的程序员应该做的事情。 ? 示例: span style="font-family:KaiTi_GB23[详细]
-
项目实战——sqlserver 使用With as 提高sql语句的可维护性和运
所属栏目:[MsSql教程] 日期:2020-12-12 热度:182
场景: ? 在一个sql查询语句中,使用到了大量的union 和union all ,而且这个结果集被后面的一个查询调用了多次。如果,每一次你都在用到它的sql语句中,到处复制粘贴,显然不是一个聪明的程序员应该做的事情。 ? 示例: span style="font-family:KaiTi_GB23[详细]
-
【SQLSERVER】 存储过程
所属栏目:[MsSql教程] 日期:2020-12-12 热度:96
ALTER PROC SP_SinoAirNumberGet@ShipmentNumber NVARCHAR(50)ASBEGINDECLARE @ColoaderShipmentNumber NVARCHAR(50),@ShipmentCode NVARCHAR(50),@errorMessage NVARCHAR(200)SET @ColoaderShipmentNumber = '' --check agent shipmentSELECT @ShipmentCode[详细]
-
sqlserver 获取当前时间
所属栏目:[MsSql教程] 日期:2020-12-12 热度:131
select 'T'+(replace(replace(replace(replace(convert(varchar(23),getdate(),121),'-',''),' ',':','.',''))+(select cast(ceiling(rand() * 9) as NVARCHAR))[详细]
-
SQLServer 2008 切换表的存储文件组
所属栏目:[MsSql教程] 日期:2020-12-12 热度:120
CREATE DATABASE [Demo]ON PRIMARY( NAME = N'Demo',FILENAME = N'D:MSSQLDATADemo.mdf',SIZE = 3072KB,FILEGROWTH = 1024KB ),FILEGROUP [FG1] ( NAME = N'Demo01',FILENAME = N'D:MSSQLDATADemo01.ndf',FILEGROUP [FG2] ( NAME = N'Demo02',FILENAME =[详细]
-
SqlServer 文件和文件组备份还原测试
所属栏目:[MsSql教程] 日期:2020-12-12 热度:59
--测试环境USE masterGO--DROP DATABASE [Demo]CREATE DATABASE [Demo]ON PRIMARY( NAME = N'Demo',FILENAME = N'D:MSSQLDATADemo.mdf',SIZE = 3072KB,FILEGROWTH = 1024KB ),FILEGROUP [FG1] ( NAME = N'Demo01',FILENAME = N'D:MSSQLDATADemo01.ndf',F[详细]
-
使用SQLyog将sqlserver的数据及表结构迁移到mysql中
所属栏目:[MsSql教程] 日期:2020-12-12 热度:186
二、转移数据 我使用了MySQL的Client的工具SQLyog,这个工具的安装很简单。安装完成之后点击需要导入的目标数据库,点击右键【Import】-【Import Extenal Data】; (Figure1:Import) 选择【Start a new job】,点击【下一步】; (Figure2:Start a new j[详细]