科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道SQL Server 数据库操作实用技巧锦集

SQL Server 数据库操作实用技巧锦集

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

本文主要概括安装时提示有挂起的操作、收缩数据库、压缩数据库、转移数据库给新用户以已存在用户权限、检查备份集、修复数据库等操作技巧。

作者:赛迪网 唐云武 来源:天新网 2008年4月28日

关键字: Mssql SQL SQL Server 数据库

  • 评论
  • 分享微博
  • 分享邮件

方法二:

1、设置数据库为紧急模式;
2、停掉SQL Server服务;
3、把应用数据库的数据文件XXX_Data.mdf移走;
4、重新建立一个同名的数据库XXX;
5、停掉SQL服务;
6、把原来的数据文件再覆盖回来;
7、运行以下语句,把该数据库设置为紧急模式;
8、运行。

“Use Master

Go

sp_configure 'allow updates', 1

reconfigure with override

Go”

执行结果:

DBCC 执行完毕。(如果 DBCC 输出了错误信息,请与系统管理员联系。)已将配置选项 'allow updates' 从 0 改为 1。请运行 RECONFIGURE 语句以安装,接着运行“update sysdatabases set status = 32768 where name = 'XXX'”。

执行结果:

重启SQL Server服务;运行以下语句,把应用数据库设置为Single User模式;运行“sp_dboption 'XXX', 'single user', 'true'”。

执行结果:

命令已成功完成;做DBCC CHECKDB;运行“DBCC CHECKDB('XXX')”。

执行结果:

'XXX' 的 DBCC 结果;'sysobjects' 的 DBCC 结果;对象 'sysobjects' 有 273 行,这些行位于 5 页中;'sysindexes' 的 DBCC 结果;对象 'sysindexes' 有 202 行,这些行位于 7 页中;'syscolumns' 的 DBCC 结果。

运行以下语句把系统表的修改选项关掉,运行“sp_resetstatus "XXX":

go

sp_configure 'allow updates', 0

reconfigure with override

Go”

执行结果:

在 sysdatabases 中更新数据库 'XXX' 的条目之前,模式 = 0,状态 = 28(状态 suspect_bit = 0),没有更新 sysdatabases 中的任何行,因为已正确地重置了模式和状态。没有错误,未进行任何更改。

DBCC 执行完毕。(如果 DBCC 输出了错误信息,请与系统管理员联系。)已将配置选项 'allow updates' 从 1 改为 0。请运行 RECONFIGURE 语句以安装;重新建立另外一个数据库XXX.Lost。

DTS导出向导:

运行DTS导出向导;复制源选择EmergencyMode的数据库XXX,导入到XXX.Lost,选择“在SQL Server数据库之间复制对象和数据”,试了多次,好像不行,只是复制过来了所有表结构,但是没有数据,也没有视图和存储过程,而且DTS向导最后报告复制失败;所以最后选择“从源数据库复制表和视图”,但是后来发现,这样总是只能复制一部分表记录;于是选择“用一条查询指定要传输的数据”,缺哪个表记录,就导哪个;视图和存储过程是执行SQL语句添加的。

12.维护Sql Server中表的索引

在使用和创建数据库索引中经常会碰到一些问题,在这里可以采用一些另类的方法解决:

第一步:查看是否需要维护,查看扫描密度/Scan Density是否为100%:

declare @table_id int
set @table_id=object_id('表名')
dbcc showcontig(@table_id)

第二步:重构表索引:

dbcc dbreindex('表名',pk_索引名,100)

重做第一步,如发现扫描密度/Scan Density还是小于100%则重构表的所有索引:

dbcc dbreindex('表名','',100)

13.SQL Server补丁版本的检查

SQL Server的补丁版本检查不如Windows 补丁版本检查直接,一个系统管理员,如果不了解SQL Server版本对应的补丁号,可能也会遇到一点麻烦,因此在这说明一下,通过这样的办法判别机器是安全的办法,不会对系统产生任何影响。

1、用Isql或者SQL查询分析器登录到SQL Server,如果是用Isql,请在cmd窗口输入isql -U sa,然后输入密码,进入;如果是用SQL查询分析器,请从程序中启动,输入sa和密码(也可以用windows验证)。

2、在ISQL中输入:

Select @@Version; 
go

或者SQL查询分析器中输入(其实如果不想输入,只要打开帮助的关于就可以了:

Select @@Version;

然后按执行,这时会返回SQL的版本信息,如下:

Microsoft SQL Server 2000 - 8.00.760
 (Intel X86) Dec 17 2002 14:22:05 Copyright (c) 
1988-2003 Microsoft Corporation EntERPrise 
Edition on Windows NT 5.0 (Build 2195: Service Pack 3) 
其中的8.00.760就是SQL Server的版本和补丁号。对应关系如下: 

SQL Server 2000 版本和级别 @@VERSION 产品级别 
SQL Server 2000 原始版本 8.00.194 RTM 
Database Components SP1 8.00.384 SP1 
Database Components SP2 8.00.534 SP2 
Database Components SP3、SP3a 或 MSDE 2000 Release A 8.00.760 SP3 
Database Components SP4 8.00.2039 SP4

这样我们就能看到SQL Server的正确版本和补丁号了与此同进也可以用xp_msver看到更详细的信息。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章