首页 首页 大数据 查看内容

如何获得数据库唯一访问权

木马童年 2019-5-27 15:20 51 0

数据库管理员需要定期对测试或发展中的数据库进行恢复,不管是计划中的还是临时的操作需要,恢复数据库的时候一个重要的步骤是要确保在操作过程中拥有数据库的唯一访问权,否则恢复程序就不能完成。那么要怎么样才能 ...

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

——湖南省长沙市 魏书鹏

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

在不久的将来,多智时代一定会彻底走入我们的生活,有兴趣入行未来前沿产业的朋友,可以收藏多智时代,及时获取人工智能、大数据、云计算和物联网的前沿资讯和基础知识,让我们一起携手,引领人工智能的未来!

数据库
0
为您推荐
大数据技术改变城市的运作方式,智慧城市呼之欲出

大数据技术改变城市的运作方式,智慧城市呼

纽奥良虽像大多数城市一样有火灾侦测器安装计划,但直到最近还是要由市民主动申装。纽…...

大数据分析面临生死边缘,未来之路怎么走?

大数据分析面临生死边缘,未来之路怎么走?

大数据分析开始朝着营销落地,尤其像数果智能这类服务于企业的大数据分析供应商,不仅…...

什么是工业大数据,要通过3B和3C来理解?

什么是工业大数据,要通过3B和3C来理解?

核心提示:工业视角的转变如果说前三次工业革命分别从机械化、规模化、标准化、和自动…...

大数据普及为什么说肥了芯片厂商?

大数据普及为什么说肥了芯片厂商?

科技界默默无闻的存在,芯片行业年规模增长到了3520亿美元。半导体给无人驾驶汽车带来…...

大数据技术有哪些,为什么说云计算能力是大数据的根本!

大数据技术有哪些,为什么说云计算能力是大

历史规律告诉我们,任何一次大型技术革命,早期人们总是高估它的影响,会有一轮一轮的…...

个人征信牌照推迟落地,大数据 重新定义个人信用!!

个人征信牌照推迟落地,大数据 重新定义个

为金融学的基础正日益坚实。通过互联网大数据精准记录海量个人行为,进而形成分析结论…...