2016年7月23日

隐藏 SQL Server 数据库引擎的实例

摘要: 在“SQL Server 配置管理器”中,展开“SQL Server 网络配置”,右键单击“<server instance> 的协议”,然后选择“属性”。 在“标志”选项卡的“隐藏实例”框中,选择“是”,然后单击“确定”关闭对话框。 对于新连接,更改会立即生效。 隐藏 SQL Server 数据库 阅读全文

posted @ 2016-07-23 14:42 低级程序人员 阅读(442) 评论(0) 推荐(0)

域名解析数据库

摘要: 需求:数据库服务器经常变动,每次管理的时候都要更改IP,特别在管理人员比较多的时候,大家都在改IP,比较复杂一些。解决:做一个域名,解析到服务器IP,大家访问数据库时用域名而不是IP访问。这样,在服务器IP更改时,只需将域名解析更改一下,就全部都更改了。注:sqlserver会获取域名解析后的IP, 阅读全文

posted @ 2016-07-23 14:41 低级程序人员 阅读(253) 评论(0) 推荐(0)

sqlserver安全设置

摘要: 1,禁止sa 2,修改1433端口 3,隐藏服务器实例 4,域策略阻止非法IP访问 5,异常连接监控 1,禁止sa 2,修改1433端口 3,隐藏服务器实例 4,域策略阻止非法IP访问 5,异常连接监控 阅读全文

posted @ 2016-07-23 14:41 低级程序人员 阅读(220) 评论(0) 推荐(0)

从wait角度调优

摘要: WITH [Waits] AS (SELECT [wait_type], [wait_time_ms] / 1000.0 AS [WaitS], ([wait_time_ms] – [signal_wait_time_ms] ) / 1000.0 AS [ResourceS], [signal_wa 阅读全文

posted @ 2016-07-23 14:40 低级程序人员 阅读(1504) 评论(0) 推荐(0)

Service Broker入门

摘要: Service Broker:多服务器单信息传递,大小写敏感 组成: Message:信内容,为便于区分保证唯一性,信息的前缀用域名好一些。 Contracts:信头,组合message及message由哪边发送,发起者或者接收者 Queue:信封,收到的信息存储的位置 建立方式: 1,定义 SER 阅读全文

posted @ 2016-07-23 14:40 低级程序人员 阅读(2927) 评论(0) 推荐(0)

数据库建立初步

摘要: 1,数据文件等于CPU的数量数,不过要小于等于8 Tempdb文件数量为cpu数目一半,不过大小要相等,否则自增长可能会发生在最大的文件上,(参考微软数据库支持组的:Tempdb怎么会成为性能瓶颈) 文件大小可设置大一些如1G,自增长设置为1G,不要设置成百分比,数据会对不齐 log文件不用,因为是 阅读全文

posted @ 2016-07-23 14:39 低级程序人员 阅读(191) 评论(0) 推荐(0)

只读账号设置-db_datareader

摘要: 为防止正式环境数据库被篡改,但又要保证可以正常查询处理问题,可以将账号的数据库访问权限设置为db_datareader数据库权限:单独设置的优先,如给了一账号只读权限,若别开一张表给于此账号写权限,那么单独设置的写权限优先级最高。注:db_datareader没有存储过程访问权限,若想全开,如下: 阅读全文

posted @ 2016-07-23 14:38 低级程序人员 阅读(5663) 评论(0) 推荐(0)

配置job管理权限

摘要: 若要配置用户以创建或执行 Microsoft SQL Server 代理作业,必须先将某个现有 SQL Server 登录名或 msdb 角色添加到 msdb 数据库中的下列 SQL Server 代理固定数据库角色之一:SQLAgentUserRole、SQLAgentReaderRole 或 S 阅读全文

posted @ 2016-07-23 14:37 低级程序人员 阅读(694) 评论(0) 推荐(0)

数据库账号权限迁移

摘要: 如何在 SQL Server 2005 实例之间传输登录和密码 如何解决在运行 SQL Server 的服务器之间移动数据库时的权限问题 思路:1,账号:利用链接1脚本生成,主要是为了sid,以保证用用户数据库的一样 注:链接1脚本支持sqlserver2005以上版本2,权限:备份或附加数据库后, 阅读全文

posted @ 2016-07-23 14:37 低级程序人员 阅读(333) 评论(0) 推荐(0)

数据库压缩备份

摘要: sqlserver2008开始提供压缩备份,好处是备份与还原时间缩短,备份文件也很小,测试结果显示文件小了2/3,不过不好的地方在于CPU要大量计算,CPU要占不少资源,不过若放在晚上执行的话,cpu可以忽略。 SELECT name,backup_start_date,backup_finish_ 阅读全文

posted @ 2016-07-23 14:36 低级程序人员 阅读(256) 评论(0) 推荐(0)

XEVENT:记录对表的更新删除

摘要: --以下xevent记录了通过sqlserver查询工具直接更新,删除表数据时的记录。 IF NOT EXISTS( SELECT 1 FROM sys.dm_xe_sessions dxs(NOLOCK) WHERE name = 'EventErrorMonitor' ) BEGIN CREAT 阅读全文

posted @ 2016-07-23 14:35 低级程序人员 阅读(594) 评论(0) 推荐(1)

XEVENT入门

摘要: XEVENT:在指定事件发生时记录,可将日志放在内存或文件中,效率比sqlprofile高。参考:Introduction to Extended EventsTroubleshooting Error 511 using XEvents msdn An XEvent A Day 相关DMV1相关D 阅读全文

posted @ 2016-07-23 14:35 低级程序人员 阅读(1349) 评论(0) 推荐(0)

XEVENT:当sqlserver有用户级错误时记录

摘要: 系统信息级别:http://blog.sqlauthority.com/2007/04/25/sql-server-error-messages-sysmessages-error-severity-level/ 测试: BEGIN TRY -- Generate a divide-by-zero 阅读全文

posted @ 2016-07-23 14:34 低级程序人员 阅读(419) 评论(0) 推荐(0)

sql登录账号密码比对

摘要: --find SQL login with blank passwords select name,type_desc,create_date from sys.sql_logins where pwdcompare('', password_hash) = 1 --find SQL login w 阅读全文

posted @ 2016-07-23 14:33 低级程序人员 阅读(684) 评论(0) 推荐(0)

nolock的替代方案-提交读快照隔离[行版本控制]

摘要: with(nolock)并意味着没有锁,实际上在查询一张表时,还是有锁,会对对象增加架构锁, 防止表会修改,会对数据库增加共享锁。若使用drop index,则要等到架构锁释放。 sql server2005提供了快照隔离和读取已提交快照这两种新的不加锁、无阻塞的事务隔离级别,可使用 快照:每次从数 阅读全文

posted @ 2016-07-23 14:33 低级程序人员 阅读(722) 评论(0) 推荐(0)

返回服务端客户端IP

摘要: SELECT CONNECTIONPROPERTY('local_net_address') AS 服务端IP地址, CONNECTIONPROPERTY('local_tcp_port') AS 服务端口, CONNECTIONPROPERTY('client_net_address') AS 客 阅读全文

posted @ 2016-07-23 14:32 低级程序人员 阅读(212) 评论(0) 推荐(0)

sqlserver日志提醒

摘要: 读取的日志文件来自安装目录下:MSSQL\Log\ERRORLOG --This will hold the rows CREATE TABLE #ErrorLog (LogDate datetime, ProcessInfo VarChar(10), ErrorMessage VarChar(Ma 阅读全文

posted @ 2016-07-23 14:32 低级程序人员 阅读(227) 评论(0) 推荐(0)

配置与维护sql

摘要: 1,配置检查 sp_Blitz2,维护,备份,索引,统计信息。MaintenanceSolution.sql 1,配置检查 sp_Blitz2,维护,备份,索引,统计信息。MaintenanceSolution.sql 阅读全文

posted @ 2016-07-23 14:32 低级程序人员 阅读(153) 评论(0) 推荐(0)

sqlserver监控体系

摘要: 思路:定期运行监控脚本,发送到邮箱处理 要测试的事项有: 1,性能,top50cpu: 每周两次 2,job运行情况:多服务器mssql job运行监控 早上一次 3,sqlserverlog:sqlserver日志提醒 :每5分钟一次 4,复制分发log(表:MSrepl_errors):每5分钟 阅读全文

posted @ 2016-07-23 14:31 低级程序人员 阅读(298) 评论(0) 推荐(0)

使SQL用户只能看到自己拥有权限的库

摘要: DENY VIEW any DATABASE to PUBLIC; 阅读全文

posted @ 2016-07-23 14:30 低级程序人员 阅读(171) 评论(0) 推荐(0)

存储过程版本控制-DDL触发器

摘要: 参考:http://www.sqlteam.com/article/using-ddl-triggers-in-sql-server-2005-to-capture-schema-changes USE CedarLog GO CREATE TABLE [dbo].[ChangeLog]( [Log 阅读全文

posted @ 2016-07-23 14:27 低级程序人员 阅读(243) 评论(0) 推荐(0)

查看剩余执行时间

摘要: 在创建索引,数据库恢复等耗时操作时,可通过以下方法查看剩余时间 SELECT d.PERCENT_COMPLETE AS [%Complete], d.TOTAL_ELAPSED_TIME/60000 AS ElapsedTimeMin, d.ESTIMATED_COMPLETION_TIME/60 阅读全文

posted @ 2016-07-23 14:26 低级程序人员 阅读(364) 评论(0) 推荐(0)

迁移数据库文件位置

摘要: --1,修改文件逻辑位置 --1)查询文件逻辑名, SELECT name logical_name, physical_name AS CurrentLocation, state_desc FROM sys.master_files WHERE database_id = DB_ID('test 阅读全文

posted @ 2016-07-23 14:25 低级程序人员 阅读(211) 评论(0) 推荐(0)

Service Broker needs to access the master key in the database ‘BRM_TEST’. Error code:32. The master key has to exist and the service master key encryption is required.

摘要: Service Broker needs to access the master key in the database ‘BRM_TEST’. Error code:32. The master key has to exist and the service master key encryp 阅读全文

posted @ 2016-07-23 14:25 低级程序人员 阅读(762) 评论(0) 推荐(0)

存储过程在程序慢而在Management Studio快的原因

摘要: 1,存储过程在程序慢而在Management Studio快,分析查询计划,发现生成了两个执行计划,说明二者用的不是同一个查询计划,因参数嗅探问题引发此种情况。2,产生不同执行计划原因是:引起执行计划重新编译的原因之一是上下文环境发生改变,SET开关。这些开关会影响语句执行的行为,甚至带来不同的结果 阅读全文

posted @ 2016-07-23 14:24 低级程序人员 阅读(344) 评论(0) 推荐(0)

死锁原因的排查

摘要: 1,打开跟踪,写入日志DBCC TRACEON (3605,1222,-1) –3605写入errorlog,1222死锁DBCC TRACEON(1222,-1) /若在启动时,加-T 1222同时,可开profile中的Deadlock graph跟踪,以图形化2,分析安装目录下生成的日志 1) 阅读全文

posted @ 2016-07-23 14:22 低级程序人员 阅读(1722) 评论(0) 推荐(0)

sql基线建立-知识准备

摘要: 1,SQLdiag is a successor of PSSdiag. SQL Nexus is a tool used to load and analyze performance data collected by SQLdiag SQLdiag作用是收集以下信息。 Windows服务器的软 阅读全文

posted @ 2016-07-23 14:21 低级程序人员 阅读(563) 评论(0) 推荐(0)

SQL Server DBA工作内容详解

摘要: 在Microsoft SQL Server 2008系统中,数据库管理员(Database Administration,简称为DBA)是最重要的角色。DBA的工作目标就是确保Microsoft SQL Server 2008系统正常高效地运行。DBA的工作也是最繁忙的工作,无论是性能调整,还是灾难 阅读全文

posted @ 2016-07-23 14:18 低级程序人员 阅读(3459) 评论(0) 推荐(0)

待建立的索引及要删除的索引

摘要: 1,查询待建立的索引。sys.dm_db_missing_index_groups,sql如下: SELECT * FROM ( SELECT TOP 50 ROUND(s.avg_total_user_cost * (s.avg_user_impact/100) * (s.user_seeks + 阅读全文

posted @ 2016-07-23 14:17 低级程序人员 阅读(236) 评论(0) 推荐(0)

执行计划缓存

摘要: 执行计划编译是需要时间的,为了提高效用率,是要缓存的,可用如下方式查看:–查看执行计划的缓存 SELECT UseCounts,RefCounts, Cacheobjtype, Objtype,dbid, ISNULL(DB_NAME(dbid),'ResourceDB') AS DatabaseN 阅读全文

posted @ 2016-07-23 14:16 低级程序人员 阅读(671) 评论(0) 推荐(0)

sql基线建立-步骤

摘要: 1,在目标机上收集性能指标: 运行: 配置文件 执行以下命令: 以服务运行 早上8点到晚18点。 SQLDIAG -P"C:\sqldiag" -B 08:00:00 -E 18:30:00 -N2 -R net start sqldiag 卸载: net stop sqldiag sqldiag 阅读全文

posted @ 2016-07-23 14:16 低级程序人员 阅读(207) 评论(0) 推荐(0)

统计信息

摘要: 据统计信息来作预估,如执行计算预估的返回行查看统计信息:DBCC SHOW_STATISTICS ('bdship','IX_bdship_2')建立索引后,若想看其好坏,用DBCC SHOW_STATISTICS ('bdship','IX_bdship_2')查看重复率,越小越好。统计信息维护: 阅读全文

posted @ 2016-07-23 14:15 低级程序人员 阅读(176) 评论(0) 推荐(0)

sql server 复制,镜像,日志传输及故障转移集群区别

摘要: 复制:将数据传输到其他服务器上存储,做备份。镜像:主服务器数据库挂了,另一台自动成为主服务器运行,日志:可控制的镜像。集群:主服务器挂了,另一台自动成为主服务器运行,并不仅限于数据库。 明细:引自http://hi.baidu.com/jaimy_jie/blog/item/6e099ed52f42 阅读全文

posted @ 2016-07-23 14:14 低级程序人员 阅读(444) 评论(0) 推荐(0)

获取表结构的sql

摘要: EXEC GetTableScript 'frmuser' CREATE PROCEDURE GetTableScript @TableName VARCHAR(50) AS --To get table script declare @Id int, @i int, @i2 int,@Sql va 阅读全文

posted @ 2016-07-23 14:13 低级程序人员 阅读(249) 评论(0) 推荐(0)

阻塞与死锁

摘要: 1,锁发生在事务中。事务的4个属性是:原子性,一致性,隔离性,持久性。(ACID)1)原子性:对于数据的修改,要么全部执行,要么全部不执行,不存在一部分修改而另一部分未变的情况,即使执行一半发生断电的情况,下次启动时也会读取日志将上次未完的操作执行下去(故对于事务,日志优先写入)。2)隔离性:对于数 阅读全文

posted @ 2016-07-23 14:12 低级程序人员 阅读(338) 评论(0) 推荐(0)

DBCC SHRINKFILE有时收缩文件不成功的原因

摘要: DBCC SHRINKFILE收缩的是区一级的数据,会将没在使用中的区进行删除。但会有许多空页分布在区内,造成区在使用,故这样的区得不到删除。若想删除,方式是:重建聚集索引,整理页数据。注:页是SQL Server数据存储的最基本单位,页的大小是8KB,每区由8个页组成,这意味着SQL Server 阅读全文

posted @ 2016-07-23 14:11 低级程序人员 阅读(1140) 评论(0) 推荐(0)

将数据库系统在一台新服务器上恢复

摘要: 实例:将数据库系统在一台新服务器上恢复下面是参考步骤。请注意,在命令行下运行的指令,是大小写敏感的。1. 确认备用服务器的SQL Server版本和原服务器一致。因为我们需要恢复系统数据库,需要保证我们恢复的master和msdb要能够和备用机的resource数据库一致。否则SQL Server将 阅读全文

posted @ 2016-07-23 14:11 低级程序人员 阅读(732) 评论(0) 推荐(0)

除0判断

摘要: 为防止分母中出现0,可用NULLIF与0做判断,若等于0,则返回NULL,任何数与NULL运算都为NULL,否则,返回原值。declare @i intset @i = 0select(2/nullif(@i,0) 为防止分母中出现0,可用NULLIF与0做判断,若等于0,则返回NULL,任何数与N 阅读全文

posted @ 2016-07-23 14:10 低级程序人员 阅读(204) 评论(0) 推荐(0)

ldf文件与mdf文件放在不同磁盘可提高性能的原因

摘要: 磁盘负责三方面,一个将数据写入到日志文件ldf中,然后在check point后写入到mdf, 接着就是大量的读操作。先写入ldf,是因为sql server的预写日志机制引起的,此机制保证了数据在写入到mdf中前,一定会在ldf中保留一份,这样以后恢复等操作都可进行,故可以说,影响写性能的主要是写 阅读全文

posted @ 2016-07-23 14:09 低级程序人员 阅读(465) 评论(0) 推荐(0)

收缩文件 — DBCC SHRINKFILE

摘要: –数据库日志文件增长的很快,每次手工收缩不能及时,用下面的方法建立一job可以定时运行 USE brm_lvjian –设置数据库恢复模式为简单ALTER DATABASE BRM_LVJIANSET RECOVERY SIMPLE –收缩日志到1MDBCC SHRINKFILE (‘BRM_LVJ 阅读全文

posted @ 2016-07-23 14:07 低级程序人员 阅读(539) 评论(0) 推荐(0)

查询速度提升

摘要: 制约查询速度的有两方面,一是找到,二是取出,分别对应的是扫描数据与IO吞吐,扫描数据的提升通过建立合适的索引解决,而提升IO可以考虑将大表进行分区,分到多个物理磁盘上,通过并行方式提升IO能力。 制约查询速度的有两方面,一是找到,二是取出,分别对应的是扫描数据与IO吞吐,扫描数据的提升通过建立合适的 阅读全文

posted @ 2016-07-23 14:06 低级程序人员 阅读(143) 评论(0) 推荐(0)

SqlServer系统表与一些属性

摘要: 系统表的作用:用户自定义的表对自己填充的数据进行操作。而对sql server来说,用户自定义的表就相当于为系统表填充的数据,故用系统表来操作用户数据库,数据表,存储过程等数据。 系统表操作用户自定义表,用户自定义表操作外来的数据。 1,sysobjects表:万物皆对象,这是一个系统对象表。表,存 阅读全文

posted @ 2016-07-23 13:56 低级程序人员 阅读(486) 评论(0) 推荐(0)

SqlServer常用的存储过程

摘要: ?1,查看数据库的版本select @@version 2,查看数据库所在机器操作系统参数exec master..xp_msver查看数据库启动的参数sp_configure查看数据库启动时间select convert(varchar(30),login_time,120) from maste 阅读全文

posted @ 2016-07-23 13:55 低级程序人员 阅读(216) 评论(0) 推荐(0)

检查超过7天未备份的db

摘要: SELECT dbs.[name] AS DatabaseName FROM master.sys.databases dbs where dbs.database_id <> 2 AND dbs.[name] NOT IN ( SELECT bus.database_name as 'name' 阅读全文

posted @ 2016-07-23 13:51 低级程序人员 阅读(154) 评论(0) 推荐(0)

sqlserver内存设置

摘要: SQL Server会把用过的数据放入cache,以便加速数据的访问。如果没有其它进程竞争,那么SQL Server会使用几乎全部的内存,直到有其它进程需要内存,才会释放内存。 在并发度不大的情况下,不用去设置SQL Server的内存是没什么问题的。但是在高并发度/大数据量的情况,这样可能会导致大 阅读全文

posted @ 2016-07-23 11:09 低级程序人员 阅读(1037) 评论(0) 推荐(0)

即时设置数据库状态

摘要: 在设置数据库状态时with子句忽略,则当数据库中存在任何锁时,ALTER DATABASE 语句将无限期等待。with NO_WAIT ,指定若有事务还没有提交,则立即失败,不再进行下面的操作with ROLLBACK AFTER integer [SECONDS] | ROLLBACK IMMED 阅读全文

posted @ 2016-07-23 10:22 低级程序人员 阅读(224) 评论(0) 推荐(0)

数据库文件损坏修复

摘要: 【场景】:对象浏览器中只有数据库名,数据库展不开,查看日志【由于数据库没有完全关闭,无法重新生成日志。】,推测原因是服务器异常关停,造成数据库没有正常写完数据造成。 【处理方法】:修复数据,舍弃异常数据。DBCC CHECKDB (mydb, REPAIR_ALLOW_DATA_LOSS),前提是要 阅读全文

posted @ 2016-07-23 10:19 低级程序人员 阅读(608) 评论(0) 推荐(0)

磁盘空间查看

摘要: Method 1: EXEC MASTER..xp_fixeddrivesGO Method 2: SELECT DISTINCT DB_NAME(dovs.database_id) DBName,mf.physical_name PhysicalFileLocation,dovs.logical_ 阅读全文

posted @ 2016-07-23 10:08 低级程序人员 阅读(115) 评论(0) 推荐(0)

导航