不想错过重要资讯?
马上订阅新闻邮件!
 
a 您现在的位置: 中计在线 >> 信息化 >> 网络 >> 文章正文
如何获得数据库唯一访问权
作者:佚名    文章来源:中计在线    更新时间:2008-6-2 11:27:12
【字体:
 中计在线信息化频道全心上线!全力推动中国信息化进程!信息决策,易如反掌,尽在CIW信息化!
中移动去年净赚660亿
[寻找下一个1000亿] [发行A股没有时间表]
·农村信息服务发展呈现三大趋势
·手机病毒悄然来临,你准备好了吗?
·腾讯总裁刘炽平否认Q币属于虚拟货币
·2007年科技产业发展预测

数据库管理员需要定期对测试或发展中的数据库进行恢复,不管是计划中的还是临时的操作需要,恢复数据库的时候一个重要的步骤是要确保在操作过程中拥有数据库的唯一访问权,否则恢复程序就不能完成。那么要怎么样才能获得数据库的唯一访问权以保证数据库恢复顺利进行呢?
——湖南省长沙市  魏书鹏

Q博士:

以下有几种方法可以让你获得数据库唯一访问权:

Kill 用户

使用这个办法需要注意的是,一旦你Kill掉了连接,要确保它不会再重新连接。有一些系统会有自动连接的设置,那么用这个方法就不太合适。

使用GUI进行数据库恢复

在Enterprise Manager和SQL Server Management Studio里并没有在恢复数据库时Kill掉所有用户的选项。当你运行恢复数据库程序,点击“恢复”按钮,恢复数据库程序会开始运行,但有时候不能完成,会因为各种各样原因,出现错误信息提示。因此,如果你的数据库有开放的交易处理或者连接,这个方法也不适用。

断开数据库,再次连接并恢复数据库。

另一个可行的方法就是断开数据库。在通过GUI断开数据库时,你可以选择首先断开现有连接。要Kill掉所有的连接,然后把数据库设置为单用户模式,最后把数据库断开,使其离线。

通过这个方法,你可以断开现有连接,重新连接数据库,并把它设置为单用户模式,再进行数据库恢复。不过这个方法还是无法排除其他连接与你重新连接同时出现的可能性。因此,这个方法其实也不是十分好,而且步骤太多。

最好的方法应该是使用“ALTER DATABASE”命令把数据库转换成单用户模式,同时拒绝其他任何的执行事务。这个命令可以有以下三种形式:

ALTER DATABASE [Test4] SET SINGLE_USER WITH ROLLBACK IMMEDIATE

OR

ALTER DATABASE [Test4] SET SINGLE_USER WITH ROLLBACK AFTER 30

OR

ALTER DATABASE [Test4] SET SINGLE_USER WITH NO_WAIT

“WITH ROLLBACK IMMEDIATE”这个命令不会等待现有的执行事务完成,它会停止所有开放的执行命令。

“WITH ROLLBACK AFTER ?鄢?鄢?鄢”这个命令在等待?鄢?鄢?鄢秒之后停止所有执行命令。在上面例子里,程序等待了30秒之后开始停止执行事务。

“WITH NO_WAIT”这个命令可以在所有执行事务完成之后把数据库转换为单用户模式。它会等待指定的一段时候,如果执行事务不能在这段时间内完成,该程序就会自动取消。这个办法是最可靠的办法,因为它不会取消任何运行中的执行事务。但是不足的地方是,如果一直存在执行事务,那么这个程序就一直不能完成。

只要把数据库转化成单用户模式,你就可以获得数据库的唯一访问权,并顺利完成数据库恢复。

注意:在选择使用ROLLBACK命令的时候,你会取消所有数据库正在运行的执行事务,虽然取消执行事务不会有什么问题,但是如果存在花费时间较长的执行事务,那么你就要花很长一段时间来完成取消执行事务。因此使用这个命令的时候,要先检查一下数据库系统里有什么执行事务正在运行。如果是针对测试或开发中的系统,反正你需要进行系统恢复,有什么执行事务正在运行并不重要,只是需要注意要取消比较长的执行事务需要较长的时间。

责任编辑:罗提
  • 上一个文章:
  • 下一个文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     相关文章
    做系统集成商真憋气
    三款常见网管工具的对比
    新电脑为什么无法联网
    两例打印故障的复杂处理
    区域电子商务提速海峡西岸经济
    区域电子商务提速海峡西岸经济
    有地方特色的东营信息公开
    有地方特色的东营信息公开
    按需而动——打开首都政府信息公开之窗
    按需而动——打开首都政府信息公开之窗
     相关评论
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    用户名:
    · 您将承担一切因您的行为、言论而直接或间接导致的民事或刑事法律责任
    · 留言板管理人员有权保留或删除其管辖留言中的任意内容
    · 本站提醒:不要进行人身攻击与无聊谩骂。谢谢配合。
    热门文章
    最新推荐