SQL Server数据库生产环境DBA的7个技巧全集

数据库 SQL Server
我们今天主要和大家讲述的是适用于SQL Server数据库生产环境DBA的7个技巧,如果你掌握了这些技巧在以后的学习中一定会更加简便。

此文章主要向大家讲述的是适用于SQL Server数据库生产环境DBA的7个技巧,我们大家都知道由于SQL Server数据库的普及程度十分的高,随之也出现了大量的相关辅助工具,让DBA感觉眼花缭乱,为了避免在这些工具堆中不知所措。

本文将向那些管理生产系统的DBA提供一些工具选择及使用方面的技巧,让他们的工作变得更简单。

1、使用forfiles命令删除陈旧的数据库备份文件

从Windows Server 2003开始forfiles命令就是Windows的一个自带命令行工具,它主要用于对文件的批处理,利用SQL Server代理作业,加上这个工具,可以删除SQL Server陈旧的数据库备份文件,以往这个工作一般都依赖于SQL Server维护计划、xp_cmdshell扩展存储过程,或VBScript对象。下面的forfiles命令删除了E:\sqlbackup文件夹下两天及两天以前的所有.bak文件。

forfiles /p "e:\sqlbackup" /m "*.bak" /c "cmd /c del /Q @path" /d -2关于forfiles的具体用法请查看其命令行帮助说明。

2、使用ALTER USER WITH LOGIN修复孤儿登录

从SQL Server 2005 SP2开始,T-SQL的ALTER USER命令就包含了WITH LOGIN子句,这个子句通过修改数据库用户的SID为服务器登录的安全标识符修复孤儿登录,它可以同时修复Windows和SQL Server登录的功能。

从另一个服务器恢复数据库,登录是独立的创建的(不是从其它服务器复制过来的),这个时候创建的就是孤儿用户。关于ALTER USER WITH LOGIN的详细情况,请参考Laurentiu Cristofor的博客文章"SQL Server 2005:SP2中的一些新特性",或者参考SQL Server在线电子书中关于ALTER USER命令的页面。

3、使用sp_addsrvrolemember将自己提升为sysadmin角色

在SQL Server 2005中,默认情况下,Windows内置的Administrators组没有授予它sysadmin角色,作为Windows系统管理员,你可以讲 SQL Server启动到单用户模式(即维护模式),然后在Sqlcmd命令行环境中运行sp_addsrvrolemember系统存储过程,将你的 Windows登录用户添加到sysadmin角色。

更多信息请参考Raul Garcia的博客文章"灾难恢复:SQL Server 2005中SA账号密码丢失时该怎么办"

4、使用PortQryUI排除连接故障

为了解决TCP/IP连接问题,可以选择微软提供的PortQryUI工具,这个工具和PortQry一样好用,其实它就是在PortQry外面套了一层外衣,它内置了一些服务,如一组端口扫描,包括UDP 1434和TCP 1433端口。

因此,要检查这些端口的话,只需要输入目标SQL Server数据库实例的IP地址或完全限定域名(FQDN)即可,如果检查到端口可访问,PortQryUI就会告诉你端口正在监听,否则,它会告诉你端口可能被过滤掉了,或者没有监听。可以从http://www.microsoft.com/downloads /details.aspx?FamilyID=8355e537-1ea6-4569-aabb-f248f4bd91d0& displaylang=en下载这个好用的工具。

5、在大型数据库上运行DBCC CHECKDB时采用不同的策略

由于数据库越变越大,使用诸如T-SQL的DBCC CHECKDB命令行工具检查数据库的完整性将会耗费很长时间。如果执行DBCC CHECKDB时超出了分配的维护窗口周期该怎么办?Paul S. Randal在他的博客中提供了几种方法(博客链接:http://sqlskills.com/BLOGS/PAUL/post/CHECKDB- From-Every-Angle-Consistency-Checking-Options-for-a-VLDB.aspx),其中一个解决办法就是一台独立的服务器上使用备份还原数据库,然后再在这个服务器上运行DBCC CHECKDB,另一个解决办法就是设置数据库的页面验证选项(从CHECKSUM改为PHYSICAL_ONLY),然后再运行DBCC CHECKDB,这样运行DBCC CHECKDB的时间就大大减小了,但它仍然会影响I/O子系统和页面腐化。

6、使用导入包选项将SQL Server集成服务(SSIS)部署到msdb数据库上

SSIS有多种部署方法,最简单的方法是将SSIS部署到SQL Server的msdb数据库下,在In SQL Server Management Studio (SSMS)中,连接到集成服务,在存储包下,在MSDB文件夹上点击右键,然后选择导入包,在弹出的对话框中,选择SSIS包的当前位置和名字,根据服务器存储和访问控制角色设置保护级别,然后点击确定按钮。

手动拷贝与SSIS包相关的所有XML配置文件到目标服务器,如果这个包使用SQL Server配置,在导入之前,可能需要使用正确的服务器名更新连接SQL Server的连接字符串。详细信息请参考SQL Server在线电子书中的"如何使用集成服务服务导入包"页面。

7、使用SQL Server 2008的本地服务器组和中央管理服务器同时查询多个服务器

在SQL Server 2008中,你可以使用本地服务器组快速连接到那些你经常管理的服务器,也可以使用中央管理服务器来存储服务器的注册元数据,这样团队成员就可以使用相同的注册信息,可以包括SQL Server 2008、SQL Server 2005和SQL Server 2000服务器。

在SSMS中,可以查询本地服务器组或中央管理服务器中的服务器,并可以合并查询结果,进入SSMS已注册服务器窗口,在本地服务器组或中央管理服务器上点击右键,选择新建查询,在查询编辑器中,输入T-SQL命令,点击执行,将会得到一个包含两列的结果集,第一列包括每个服务器的名字,第二列就是从该服务器的命令输出内容。详细信息请参考SQL Server在线电子书中的"如何对多个服务器同时执行语句(SQL Server数据库管理控制台)"。

原文标题:适用于SQL Server生产环境DBA的七大技巧

连接:http://www.cnblogs.com/ylqmf/archive/2010/05/24/1742854.html

【编辑推荐】

  1. SQL Server负载均衡概念全解
  2. Oracle数据库索引和SQL Server的阐述
  3. SQL Server 2008 R2连连看 需要微软平台配合
  4. 详解SQL Server 2008复制分区清理数据
  5. 安装MySQL Server 5.0在Linux上
责任编辑:佚名 来源: 博客园
相关推荐

2011-03-08 09:27:34

SQL Server数死锁

2009-07-06 21:20:34

SQL Server数

2011-01-20 08:35:23

SQL Server

2010-07-15 17:28:50

SQL Server

2010-06-30 13:19:17

SQL Server

2010-07-01 11:49:13

SQL Server

2010-06-30 08:27:45

SQL Server数

2010-07-08 11:05:14

SQL Server数

2011-03-16 13:57:21

SQL Server数据库查询

2011-02-25 15:31:19

MySQL数据库DBA

2011-03-24 09:07:11

SQL Server数备份

2011-03-24 09:45:34

SQL Server数恢复

2011-03-24 09:24:08

SQL Server数还原

2015-04-14 15:24:01

SQL ServerOLAPDBA

2010-06-30 10:37:55

MS-SQL Serv

2011-03-30 13:24:23

SQL Server数故障修复

2010-07-05 18:02:37

SQL Server数

2010-07-06 15:22:00

SQL Server

2021-05-17 06:57:34

SQLServer数据库

2024-10-30 15:53:59

点赞
收藏

51CTO技术栈公众号