SQL Server数据库备份恢复常见问题(不断更新中)-阿里云开发者社区

开发者社区> 科技小能手> 正文

SQL Server数据库备份恢复常见问题(不断更新中)

简介:
+关注继续查看
问题1:恢复过程中出现“因为数据库正在使用,所以未能获得对数据库的排它访问权。”
解决方法:出现这种问题主要是由于数据库的会话还没有中断,可以采用kill会话进程或重启服务器,个人比较喜欢的方法是,代码如下:
 /*
断开所有用户打开的连接
*/
use master
go
 
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[p_killspid]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)
drop procedure [dbo].[p_killspid]
go
 
create proc p_killspid
@dbname sysname   --要关闭进程的数据库名
as  
declare @s nvarchar(1000)
declare tb cursor local for
select s='kill '+cast(spid as varchar)
from master..sysprocesses 
where dbid=db_id(@dbname)
 
open tb 
fetch next from tb into @s
while @@fetch_status=0
begin
exec(@s)
fetch next from tb into @s
end
close tb
deallocate tb
go

--用法  
exec p_killspid  '数据库名'
 

--恢复数据库.
RESTORE  DATABASE  数据库名  FROM  disk='F:\DATA\sample.bak'
 
-----------------------------------------------------------------------------------------------------------------------
 
问题2:恢复数据库后,增加登录名出现“数据库中的用户名存在“,但是登录名却显示<无>而且新加用户会提示用户已存在 !”
解决方法:使用如下代码:
         sp_change_users_login 'update_one','数据库用户名称','登录名称'
 

-----------------------------------------------------------------------------------------------------------------------
 
问题3:无法更改数据库中对象的所有者:

解决方法使用如下代码:
          exec sp_changeobjectowner '原所有者名',[dbo]
          执行存储过程changename 
           exec changename '原所有者名','新所有者名'
 
 
-----------------------------------------------------------------------------------------------------------------------
 
问题4:mssql2000备份的数据库还原到2005后,选择“数据库关系图”提示:此数据库没有有效所有者,因此无法安装数据库关系图支持对象。若要继续,请首先使用“数据库属性”对话框的“文件”页或 ALTER AUTHORIZATION 语句将数据库所有者设置为有效登录名,然后再添加数据库关系图支持对象。

解决方法
 
 1、设置兼容级别为90(2005为90) USE [master] GO EXEC dbo.sp_dbcmptlevel @dbname='数据库名', @new_cmptlevel=90 GO 或是选责你还原的数据库,点右键,选属性->选项->兼容级别,选择sqlserver2005(90) 然后确定.
2.选择你的数据库,然后选择"安全性"->"用户",选择dbo,打开属性页,如登录名为空的话,新建查询,然后use [你的数据库名]EXEC sp_changedbowner 'sa' 执行成功后,你再选择"数据库关系图"节点,时提示 “此数据库缺少一个或多个使用数据库关系图所需的支持对象,是否创建",选择“是”即可。 就可以看到原先建的关系图了。
 
-----------------------------------------------------------------------------------------------------------------------
 
问题5:如何将SQLSERVER数据库备份到网络上
 
解决方法
[@physicalname =] 'physical_name'
备份设备的物理名称。物理名称必须遵照操作系统文件名称的规则或者网络设备的通用命名规则,并且必须包括完整的路径。physical_name 的数据类型为 nvarchar(260),没有默认值,并且不能为 NULL。
当创建远程网络位置上的备份设备时,请确保在其下启动 SQL Server 的名称对远程的计算机有适当的写入能力。
B. 添加网络磁盘备份设备
下面的示例显示一个远程磁盘备份设备。在其下启动 SQL Server 的名称必须对该远程文件拥有权限。
USE masterEXEC sp_addumpdevice 'disk', 'networkdevice',   '\\servername\sharename\path\filename.ext'"
以前曾看到过有人问,怎么样才能将数据备份到网络上,一直没有答案,然后我就试验了一把.
在服务器上建了一个目录,然后确保共享并有权限,如果需要建在共享目录下的目录下,那还得保证用户有权限
当然,SQLSERVER系统启动早于登录,一般用户会在登录中使用本地系统账户,我想在登录到系统之前一直是administrator用户模拟,因此,我将登录的账户改为了网络用户,因为我公司有域,因此我将域用户设置为本机的系统管理员,以确保该服务能启动.
接下来更简单了:
sp_addumpdevice'DISK','NetWork','\\server\d$\databak\xuzh.bak'gobackup database xuzh to network
得到的结果如下:
成功完成网络备份
 

本文转自 saturn 51CTO博客,原文链接:http://blog.51cto.com/saturn/108202

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
sql server 备份与恢复系列四 大容量模式下的备份与还原
原文:sql server 备份与恢复系列四 大容量模式下的备份与还原 一. 概述   在sql server 备份与恢复系列的第一篇里,有讲到大容量模式下备份与还原的相关知识。这篇重点来演示在大容量模式下常用的备份与还原模式“完整备份+差异备份+日志备份”。
763 0
CHSNS R1.2_CHS 源代码开放(数据库备份已经更新)
三月的时候就承诺大家放出1.2正式版,可是由于有很多事情,所以一直没有时间发布,为了弥补,这一次推出这个有着全部源代码的开源版本 因为要投入下一个版本CHSNS的开发,所以这个开源版本,代码应该标的都标了,没标的也没有时间了,如果有看不明白的可以在博客问我 另:我的另一产品,动网COOLLS...
647 0
如何保证 Serverless 业务部署更新的一致性?
每一个工具的诞生,都要有一个成长的过程,Serverless Devs 正在不断的成长。
3065 0
【镜像更新】Windows Server 2019 数据中心版
信息摘要: Windows Server 2019 数据中心版镜像更新适用客户: 使用Windows Server的用户版本/规格功能: 镜像ID: win2019_64_dtc_1809_zh-cn_40G_alibase_20190318.
4347 0
sql server 备份与恢复系列三 简单恢复模式下的备份与还原
原文:sql server 备份与恢复系列三 简单恢复模式下的备份与还原 一.概述   前面讲了备份的一些理论知识,这篇开始讲在简单恢复模式下的备份与还原。在简单模式下是不能做日志备份的,发生灾难后,数据库最后一次备份之后做的数据修改将是全部丢失的,所以在生产环境下,数据又很重要,一般不建议使用这种模式。
819 0
MySQL 数据库备份种类以及常用备份工具汇总
  1,数据库备份种类 按照数据库大小备份,有四种类型,分别应用于不同场合,下面简要介绍一下: 1.1完全备份 这是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。
1159 0
23706
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础HTML入门教程》
立即下载
《零基础CSS入门教程》
立即下载