SqlServer
数据库
仅此而已丶
分享是一种积极的生活态度
展开
-
SqlServer -辅助脚本
SqlServer2005数据库字典–表结构.sqlSELECT TOP 100 PERCENT --a.id, CASE WHEN a.colorder = 1 THEN d.NAME ELSE ''END AS 表名,CASE WHEN a.colorder = 1 THEN Isnull(f.value, '') ELSE ''END原创 2020-12-01 21:36:12 · 180 阅读 · 0 评论 -
Sqlserver -日志收缩
日志收缩-- 日志收缩USE [master]GOALTER DATABASE sd_log SET RECOVERY SIMPLE WITH NO_WAITGOALTER DATABASE sd_log SET RECOVERY SIMPLE --简单模式GOUSE sd_logGODBCC SHRINKFILE (2 , 11, TRUNCATEONLY)GO --这里的DNName_Log 如果不知道在sys.database_files里是什么名字的话,可以用以下注原创 2020-12-01 20:31:53 · 167 阅读 · 0 评论 -
SQL Server 删除数据库所有表和所有存储过程
场景:SQL Server中,需要删除所有表或所有存储过程时,手动的方式只能逐个进行删除,耗个人时间,所以想弄个语句来实现这样的需求。如果由于外键约束删除table失败,则先删除所有约束:--/第1步**********删除所有表的外键约束*************************/DECLARE c1 cursor for select 'alter ta...原创 2019-03-08 17:01:00 · 3072 阅读 · 0 评论 -
获取表的所有字段属性
Select 'itemModel.'+ name+'=item.'+name+';' from syscolumns Where ID=OBJECT_ID('表名')原创 2018-12-05 16:36:18 · 3597 阅读 · 0 评论 -
Sql Server 增加字段、修改字段、修改类型、修改默认值
Sql Server 增加字段、修改字段、修改类型、修改默认值1、修改字段名: alter table 表名 rename column A to B2、修改字段类型: alter table 表名 alter column 字段名 type not null3、修改字段默认值 alter table 表名 add default (0) for 字段名 with va...原创 2018-12-03 15:28:25 · 3350 阅读 · 0 评论 -
SQL Server 删除数据库中表数据
1.查看数据库中所有表名称: select Name from sysobjects where xtype='U' order by name asc; sysobjects是系统表,关于SQL Server数据库的一切信息都保存在系统表中2.删除整个数据库表数据:declare c cursor for --定义游标select NAME from sysobjec...转载 2019-03-21 16:37:11 · 9499 阅读 · 0 评论 -
SqlServer 获取工作日(周六、周日休息,周六日不休息,周六不休息)
-- =============================================-- Author: LJB-- Create date:2019年3月19日14:29:23-- Description: 获取工作日-- =============================================CREATE FUNCTION [dbo].[...原创 2019-04-15 09:25:09 · 5642 阅读 · 0 评论 -
SQLSERVER查询整个数据库中某个特定值所在的表和字段的方法
CREATEPROCEDURE[dbo].[SP_FindValueInDB](@valueVARCHAR(1024))ASBEGINSETNOCOUNTON;DECLARE@sqlVARCHAR(1024)DECLARE@tableVARCHAR(64)DECLARE@columnVARCHA...转载 2019-05-28 12:33:01 · 4130 阅读 · 0 评论 -
Sql脚本备份数据库
declare @name varchar(250)set @name='C:\SqlBackUp\org\'+ convert(varchar(50),getdate(),112)+'.bak'BACKUP DATABASE[数据库名] TODISK = @nameWITH NOFORMAT, NOINIT, NAME = N'数据库名-完整 数据库 备份',SKIP, NO...原创 2019-07-25 09:02:53 · 2546 阅读 · 0 评论 -
MsSql 根据表名和条件,生成Insert语句
ALTER proc [dbo].[proc_insert] (@tablename varchar(256),@where varchar(max))asbeginset nocount ondeclare @sqlstr varchar(MAX)declare @sqlstr1 varchar(MAX)declare @sqlstr2 varchar(MAX)select @sq...原创 2018-11-03 22:56:46 · 2757 阅读 · 0 评论 -
查看MS SQL最耗时间资源的SQL
SELECT top 10 (total_elapsed_time / execution_count)/1000 N'平均时间ms' ,total_elapsed_time/1000 N'总花费时间ms' ,total_worker_time/1000 N'所用的CPU总时间ms' ,total_physical_reads N'物理读取总次数' ...原创 2018-09-03 15:06:07 · 2494 阅读 · 0 评论 -
MSSQL 发布订阅,实现读写分离
主库做增删改,从库只读。大部分的数据库压力,都是由查询引起的,读写分离可以减轻数据库的压力。1、在(主)数据库上对需要同步的数据进行发布。2、在(从)数据库上对(主)数据库的发布进行订阅。注:发布订阅都需要实际的服务器名称才能连接到服务器。--查询服务器的名称和实际计算机的名称,如果两者不一致,就需要修改。use mastergoselect @@servername;...原创 2018-09-05 17:57:29 · 5510 阅读 · 2 评论 -
Sql Server内置函数实现MD5加密
ALTER FUNCTION MD5( @src varchar(255),-- 源字符串 @type int = 32-- 加密类型(16/32))RETURNS varchar(255)WITH EXECUTE AS CALLERASBEGIN -- 存放md5加密串(ox) DECLARE @smd5 varchar(3原创 2017-03-13 23:24:10 · 2672 阅读 · 0 评论 -
数据库跨域访问
--开启跨域查询,如果跨域没开就注释掉--exec sp_configure 'show advanced options',1--reconfigure--exec sp_configure 'Ad Hoc Distributed Queries',1--reconfigureSelect * From OPENDATASOURCE('SQLOLEDB','Data原创 2017-03-13 23:28:54 · 2549 阅读 · 0 评论 -
为什么同样的Sql语句在SqlServer RDS 查询得到的和自己本机SqlServer 查询的不一样呢?
举例子:本地SqlSever: SELECT CONVERT(VARCHAR(2),DATEADD(MONTH,-1,'2017-10-01'))SqlSever RDS: SELECT CONVERT(VARCHAR(2),DATEADD(MONTH,-1,'2017-10-01'))解决方法:①:通过查询结果我们能看到RDS上返回的是英文简写,因此我们可以把原创 2017-10-29 23:41:05 · 2421 阅读 · 0 评论 -
sql日期
--本周的第一天 SELECT DATEADD(wk, DATEDIFF(wk,0,GETDATE()), 0) --本月的第一天 SELECT DATEADD(mm, DATEDIFF(mm,0,GETDATE()), 0) --本年的第一天 SELECT DATEADD(yy, DATEDIFF(yy,0,GETDATE()), 0)原创 2017-11-13 00:17:23 · 2139 阅读 · 0 评论 -
MsSql 生成数据文档
Declare @tableName varchar(50)Set @tableName = '表名'select syscolumns.name as 字段名, syscolumns.length as 长度, systypes.name as '数据类型', sys.extended_properties.[value] AS '字段说明',syscolumns.isnu原创 2018-01-23 14:37:41 · 2603 阅读 · 0 评论 -
关键字查找相关存储过程,函数和视图
select name,type_desc from sys.all_sql_modules s inner join sys.all_objects o on s.object_id=o.object_id where definition like '%关键字%' order by type_desc,name原创 2018-03-31 14:18:14 · 2251 阅读 · 0 评论 -
SQL SERVER 被锁住的表,以及解锁。
--被锁住的表select request_session_id spid,OBJECT_NAME(resource_associated_entity_id) tableName from sys.dm_tran_locks where resource_type='OBJECT'--解锁declare @spid intSet @spid = 104 --锁表进程declare...原创 2018-06-01 10:17:30 · 8877 阅读 · 0 评论 -
数据库优化
1、对查询进行优化,尽量避免全表扫描(select * from Table), 首先考虑在where及OrderBy使用的列加索引。2、尽量避免在 where 语句中对字段进行 null 值条件搜索,否则将导致引擎放弃使用索引,从而进行全表扫描,如: select name from Table where name is null;可以在name列设置默认值,确保该列没有nu...原创 2018-08-26 22:44:41 · 2184 阅读 · 0 评论 -
SQL 循环遍历结果集
Declare @row int, --行记录数@count int,--总记录数@id int --你需要的结果 select @count=COUNT(1),@row =1 from 表名 SELECT ROW_NUMBER() OVER (ORDER BY id ASC) rowid,* into #t from 表名 while @row原创 2017-03-13 23:18:31 · 6446 阅读 · 4 评论