自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

starseeker7的专栏

Time waits for no one~

  • 博客(22)
  • 收藏
  • 关注

原创 获取identity的几种方法

根据业务需要,慎用标识值获取函数    获取刚插入记录的标识值有三种方式,必须理解清楚它们的区别,否则很容易获取到错误的标识值:@@IDENTITY     这是最常用的,它返回当前会话的所有作用域的最后一个标识值。但是若你的插入语句触发了一个触发器,这个触发器也产生一个标识值,则@@IDENTITY返回的是触发器产生的标识值,而不是你的插入语句产生的标识值SCOPE_

2013-01-31 09:58:53 1038

原创 关于MSSQL2008后续新版本需要注意的内容

收集一些MSDN中有备注,说明可能后续版本会被删除的用法禁止使用类型text/ntext/image ,应使用varchar(max)/nvarchar(max)/varbinary(max),根据是否有存储多国语言数据的需求确定,这些类型在 SQL Server 的未来版本中将会删除禁止使用 CREATE DEFAULT 来创建默认约束,应该使用 ALTER TABL

2013-01-31 09:50:43 362

原创 nvarchar与varchar转换导致问题

nvarchar更改类型为varchar会导致双字符(中文或特殊符号)全部为问号,更改类型需特别注意。经过DBCC IND(TBName, TBName, 1) DBCC TRACEON(3604)DBCC PAGE(TBName, 1,399,1) 对比可以发现,,,nvarchar字段alter为varchar字段后,数据页面内容已经完全改变,无法恢复

2013-01-30 14:52:56 3040

原创 通过脚本获取发生错误的同步链接

use distribution godeclare @xact_seqno varbinary(16)declare @xact_seqno_varchar varchar(30)declare @error_text varchar(1024)declare @command_id intdeclare @command nvarchar(max) declare @error

2013-01-30 14:46:07 397

原创 解决MSSQL不支持分布式(linked server)调用用户自定义函数的解决办法

MSSQL并不支持用户自定义函数调用linked server查询,它无法识别链接服务器部分但我们可以采用其他方式,替换无法被解析的linked server部分内容 1、采用Openquery替代    Select * from Openquery(newsql,'select temptable.dbo.F1(10)')       2、采用sp_executesql替换

2013-01-30 14:34:06 1153

原创 查询实例中每个DB中所有表的详细信息

-- =====================================================-- Script for:-- table size information query.-- single database, can Ignore schema name-- =================================================

2013-01-30 14:22:41 557

原创 通过MSSQL查询当前硬盘数天内发生修改过的文件

DECLARE @disk varchar(3), @date datetime--EXEC sp_configure 'show advanced options', 1;--RECONFIGURE;--EXEC sp_configure 'xp_cmdshell', 1--RECONFIGURE;--EXEC sp_configure 'show advanced optio

2013-01-30 14:19:10 514

原创 修改存在同步的并且有CONSTRAINT的字段的操作顺序

同步中,添加或删除CONSTRAINT都会被同步到目的端,但删除时目的端若不存在对应Constraint不会造成同步错误。但若add时,对应字段存在Constraint将会导致rep错误,必须删除后同步才能恢复正常。常用修改包含constraint的字段,我们推荐采用下面方式1.drop df on all subs2.drop df on source server3.alt

2013-01-30 14:13:23 446

原创 sqlprofile监控SP常用事件

对于无法运行的多层次的数据库性能问题查询,可以通过sqlprofile监控抓取事件: SQL:stmtcompleted(SQL脚本调用完成);RPC:Completed(远程存储过程调用完成);SP:Completed(存储过程中SQL语句调用完成)过滤:IO,CPU>1000,login,hostname,spid(统一个存储过程运行时应用同一spid)其显示因为是

2013-01-30 14:08:38 1013

原创 删除某个具体同步链

USE masterGOSET NOCOUNT ONDECLARE @pubinfo_for_drop TABLE( id INT IDENTITY(1,1) NOT NULL PRIMARY KEY, publication_id int, publication SYSNAME, pub_server SYSNAME, pub_db SYSNAME, pub_sch

2013-01-30 14:01:08 391

原创 MSSQL2008下查看结构变化监控,Schema Change History

DBA经常会被问到:我们的对象(表,视图,函数,存储过程等)被意外删除(修改),我想知道是谁干的?什么时候做的?从那个HostName连接过来的?是ApplicationName是什么?如何查看?1.       SSMS自带的SchemaChange History功能a)       Right click on database, forwhich you want to vie

2013-01-30 13:45:47 541

原创 查看当前数据库中的表哪些包含同步链

use distribution go SELECT source_Server=@@SERVERNAME ,source_db =A.publisher_db, source_Object_schema =A.Source_owner,source_Object_name=A.source_object, destination_Server=srv.name,dest

2013-01-30 11:26:52 446

原创 查询某一个时间段,是否会有JOB会运行

use msdb godeclare @beginday varchar(10)declare @begintime varchar(9)declare @endday varchar(10)declare @endtime varchar(9)declare @needtoRun datetimedeclare @dayrun_sub intdeclare @Begindate

2013-01-30 11:24:59 771

原创 查询一个JOB是否存在

use msdbgoselect j.name as JOB_Name,* from dbo.sysschedules S with(nolock) inner join dbo.sysjobschedules SCH with(nolock) on SCH.schedule_id=S.schedule_id inner join dbo.sysjobs J with(nolock

2013-01-30 11:23:16 429

原创 今天开始努力整理脚本吧

转为专业DBA2年多了一直没有做比较系统的知识整理从现在开始利用工作闲暇之余做些整理噶,仅个人使用,若存在问题欢迎有缘看到的大家指出,所有MSSQL脚本均为MSSQL2008,R2环境

2013-01-30 11:12:33 269

原创 job check running查看当期那JOB是否正在运行

USE msdbGOdeclare @Job_Name sysnameset @Job_Name='JobName'DECLARE @xp_results TABLE (job_id UNIQUEIDENTIFIER NOT NULL, last_run_date INT

2013-01-30 11:09:33 737

原创 去掉identity列属性范例

当我们需要去掉一个列上的identity属性时。我们需要做的就是:创建一个完全一样的新表,再将数据转移仅新表中,删除旧表。重命名新表。下面就是一个此过程的范例,值得注意的是,当旧表数据量很大时,为了避免大批量的数据转移我们采用了关键字swich to这大大节约了性能消耗成本 alter table dbo.RemoveIdentiyTest SWITCH to dbo.tmp_Rem

2013-01-30 10:57:23 1927

原创 批量还原数据库

--该脚本通过输入一个路径,来还原一个路径下所有的数据备份文件,----脚本运行前作业-------------------------------------------------------------------------------------use master goEXEC sys.sp_configure N'show advanced options', N'1'

2013-01-30 10:49:26 1780 1

原创 查看死锁

--Method 1  --查看线程的情况   select cpu,convert (smallint, l.req_spid) as spid      ,coalesce(substring (s.loginame, 1, 20),'') as  loginame      ,coalesce(substring (s.hostname, 1, 30),'') as hostna

2013-01-30 10:45:32 336

原创 查看指定spid的脚本当前运行情况和状态

USE MasterGOdeclare @spid int;select @spid = 419--null:all ; ;WITH DATA(spid,blockRelationship,blocked,spidLevel,hostname,program_name,loginame,login_time,BlockDuration,Status,sqlText,Memo

2013-01-30 10:42:08 1129

原创 权限赋予

MSSQL中权限存在三种方式1、login设置server roles2、user设置user roles3、user通过gant/deny对DBobject进行一一权限授予或拒绝第一种方式一般我们在给予一个login高权限时使用,比如我们要授予一个用户sa级别权限可以使用EXEC master..sp_addsrvrolemember @loginame = N'Logi

2013-01-30 10:25:07 920

原创 创建DB

这是一个融合:创建规范目录,DB,login,user,添加角色use masterGODECLARE @db sysname ,@flag_run INT ,@login SYSNAME ,@prd NVARCHAR(50);SELECT @db = 'DBName' ,@login = 'LoginName' ,@prd = N'PWD' ,@flag_

2013-01-30 08:54:02 727

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除