前言
这几天和数据库打交道,每天不遇到几个问题,都有点不适应了
数据库的复制
方案一:
我们在转移比较小的数据库的时候,我们可以通过右击数据库,点击-->任务-->分离,然后确定
如果你找不到你的数据库在哪里?你可以右击数据库,属性,文件,找到数据库的路径,然后复制就好了
但是这样操作,你需要在复制之后,再把数据库附加上。
方案二:
但是如果你直接去复制的话,你会发现系统明明没有使用你要调用的数据库,但是系统会提示你,数据库被打开,无法被复制
解决方法:
打开SQL Server的配置管理器,然后将有关于你本地数据库的SQL服务关闭,这时候,你就可以复制你的数据库了
SQL Server 服务的挂起
这个问题紧随其后,我复制完数据库的时候,我需要再次打开SQL服务,但是打不开了,显示SQL服务挂起恢复中
如下图:
解决方案:
- win+R
- 输入regedit
- 找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager 位置
- 删除PendingFileRenameOperations
- 重启电脑
- 打开SQL配置管理器,再次打开上图服务
原因:
按照名称来理解,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager应该存放的是当前系统会话的快照,而PendingFileRenameOperations记录的是一个未成功进行的文件更名操作,SQL Server2000在安装时可能会使用这个键值,记录在安装过程中对临时文件的操作,如果SQL Server2000在安装进程启动时就发现这个键值存在,它就认为上一个安装程序没有完成,从而拒绝继续自身的安装进程。
而按照道理,任何一个改写过此键值的程序都应当在结束或者系统重新启动的时候将这个键值删除,但如果由于种种原因这个操作没有被进行的话,那么SQL Server2000自然会得出错误的结论。