随笔分类 - SQL Server 管理

摘要:在进程开始执行时,进程首先申请虚拟地址空间VAS(Virtural Address Space),VAS是进程能够访问的地址空间,由于VAS不是真正的物理内存空间,操作系统必须将VAS隐射到物理内存空间,进程才能存储进程上下文(process context),真正执行下去。VAS可能比物理内存大很 阅读全文
posted @ 2016-06-01 22:50 悦光阴 阅读(1107) 评论(0) 推荐(0) 编辑
摘要:一,RECOVERY PENDING状态 今天修改了SQL Server的Service Account的密码,然后重启SQL Server的Service,发现有db处于Recovery Pending状态。 Recovery Pending状态是指:数据库在还原(recovery)时遇到跟资源相 阅读全文
posted @ 2016-05-26 19:35 悦光阴 阅读(10148) 评论(0) 推荐(3) 编辑
摘要:早上来到公司,发现用于整理索引碎片的Job跑失败了,查看job history,发现以下错误消息: ALTER INDEX failed because the following SET options have incorrect settings: 'QUOTED_IDENTIFIER'. V 阅读全文
posted @ 2016-02-02 11:25 悦光阴 阅读(2042) 评论(0) 推荐(0) 编辑
摘要:链接服务器(Linked Server)允许访问针对OLE DB数据源的分布式异构查询, 通过使用sys.sp_addlinkedserver创建链接服务器后,可以对此服务器运行分布式查询。 如果链接服务器被定义为SQL Server实例,则可以执行远程存储过程。 一,链接服务器 使用 sys.sp 阅读全文
posted @ 2016-01-30 15:25 悦光阴 阅读(1901) 评论(0) 推荐(0) 编辑
摘要:数据库使用数据文件(扩展名是mdf 或 ndf)来存储数据,使用日志文件(扩展名是ldf)来存储事务日志,通常情况下,数据文件会持续增长,不会自动释放空闲空间,这样会导致硬盘空间耗尽。如果一个数据库的文件有很多空闲空间,收缩数据库文件是一种解决硬盘空间紧张的直接方式。在SQL Server中,我们可 阅读全文
posted @ 2016-01-28 14:17 悦光阴 阅读(2922) 评论(0) 推荐(2) 编辑
摘要:Replication Job “Distribution clean up: distribution” 默认设置是,每10minutes运行一次,每次删除2000个Command。这对于有1.9亿条Commands的distribution来说,显得力不从心。需要修改 sp [distribut 阅读全文
posted @ 2016-01-26 20:57 悦光阴 阅读(872) 评论(0) 推荐(0) 编辑
摘要:SQL Server 内部集成了一个专用的操作系统,叫做SQLOS,处于SQL Server和Windows的中间层。SQLOS是一个协同式的多任务调度系统,使用非抢占式争用资源,用于管理线程调度、IO争用、内存管理和资源协调。在执行查询请求时,SQL Server充分利用系统的所有资源(CPU,M 阅读全文
posted @ 2016-01-22 13:37 悦光阴 阅读(1405) 评论(0) 推荐(2) 编辑
摘要:通过standard reports查看Disk Usage,选中Database,右击,选择Reports->Standard Reports->Disk Space Usage,截图如下 在Disk Usage 报表中,Data Files Space Usage分为4部分:Index , Da 阅读全文
posted @ 2016-01-13 19:27 悦光阴 阅读(1689) 评论(1) 推荐(2) 编辑
摘要:今天早上,Dev跟我说,执行query statement时出现一个error,detail info是: “The transaction log for database 'tempdb' is full due to 'ACTIVE_TRANSACTION'” 错误信息提示:由于活动事务太长, 阅读全文
posted @ 2016-01-13 13:37 悦光阴 阅读(2832) 评论(0) 推荐(3) 编辑
摘要:在事务复制中distribution数据库使用 dbo.MSrepl_transactions 和 dbo.MSrepl_commands 这两个表转存发布服务器产生的的Transaction和Command。每个command只能更新(update,insert或delete)一条记录。在Publ 阅读全文
posted @ 2016-01-04 14:47 悦光阴 阅读(501) 评论(0) 推荐(0) 编辑
摘要:打开Replication Monitor,在Subscription Watch List Tab中,发现有大量的status= “Performance critical” 的黄色Warning,Latency 非常高,第六感告诉我,出事了,无法求援,只能强迫自己淡定下来,既来之,则安之。 1, 阅读全文
posted @ 2015-12-25 15:04 悦光阴 阅读(1946) 评论(0) 推荐(1) 编辑
摘要:对表分区,对数据库有很多好处,通常来说,分区的好处有两个:减少产生死锁的竞争条件,和删除分区的数据。由于分区之间是相互独立的,因此,对一个分区加X锁,不会对其他分区产生竞争,这是避免死锁(dead lock)的一种方式。对大数据表进行数据删除操作时,可以使用分区切换,使用少量的IO,从分区表中删除海 阅读全文
posted @ 2015-12-23 16:41 悦光阴 阅读(619) 评论(0) 推荐(0) 编辑
摘要:在使用Transactional Replication时,Subscriber 被认为是“Read-Only”的 , All data at the Subscriber is “read-only” (transactional replication does not enforce this 阅读全文
posted @ 2015-12-16 14:02 悦光阴 阅读(667) 评论(0) 推荐(0) 编辑
摘要:当SQL Server 引擎接收到用户发出的查询请求时,SQL Server执行优化器将查询请求(Request)和Task绑定,并为Task分配一个Workder,SQL Server申请操作系统的进程(Thread)来执行Worker。如果以并行的方式执行Request,SQL Server根据 阅读全文
posted @ 2015-10-24 21:26 悦光阴 阅读(4613) 评论(0) 推荐(6) 编辑
摘要:Null 值会被聚合函数忽略,默认情况下,Sql Server会给出Warning: Warning: Null value is eliminated by an aggregate or other SET operation. 这个Warning说明Null value 被聚合函数忽略,此时的 阅读全文
posted @ 2015-10-13 10:34 悦光阴 阅读(6524) 评论(0) 推荐(0) 编辑
摘要:SQL Server 并发控制 第一篇:并发模式和事务 SQL Server 并发控制 第二篇:隔离级别和锁(1) SQL Server 并发控制 第三篇:隔离级别和行版本(2) 在操作系统中,并发是指一个很短的时间段中有几个程序都处于已启动运行状态,到运行完毕状态之间,多个程序之间有相互制约关系, 阅读全文
posted @ 2015-09-16 16:25 悦光阴 阅读(1709) 评论(0) 推荐(0) 编辑
摘要:Agent Job可以通过TSQL 脚本来管理,管理Agent Job的SP过程位于msdb数据库的dbo 架构下,常用的功能是启动一个job。 一,启动一个Job 用户创建一个Job之后,可以使用TSQL脚本来启动一个job,返回0表示成功开始Job,返回1表示启动Job失败。 msdb.dbo. 阅读全文
posted @ 2015-06-30 16:56 悦光阴 阅读(677) 评论(0) 推荐(0) 编辑
摘要:事务日志文件是顺序读写,逻辑上,由VLF(Virtual Log File)构成,日志项目(log record)是最底层的数据。 一,查看数据库的日志空间 查看当前数据库的日志空间,可以使用 sys.dm_db_log_space_usage 统计SQL Server 实例中所有数据库的日志文件的 阅读全文
posted @ 2015-06-29 19:43 悦光阴 阅读(874) 评论(0) 推荐(1) 编辑
摘要:数据库对象,特别是使用SQL 语言编写的功能模块,例如,P(SQL Stored Procedure), V(View), TR(SQL DML trigger), FN(SQL scalar function), IF(SQL inline table-valued function), TF(S 阅读全文
posted @ 2015-05-29 18:12 悦光阴 阅读(732) 评论(0) 推荐(0) 编辑
摘要:当SQL Server 实例出现异常,无法远程链接时,数据库管理员需要登陆到SQL Server实例机器上,通过命令行工具,修复异常。 一,使用net命令行启动数据库 通过net start 命令启动SQL Server服务,服务名是mssqlserver,命令如下: 可以在启动时,添加启动参数(s 阅读全文
posted @ 2015-05-29 13:40 悦光阴 阅读(1517) 评论(0) 推荐(0) 编辑