数据库备份恢复注意事项
2014-08-02 23:47
246 查看
SQLDMO.dll是个好东西,ASP.NET利用它可以实现在线备份、还原数据库等各种功能。近日有客户要求为其在后台添加一个管理数据库的功能。于是就出现了这篇文章。
由于客户的数据库和WEB服务不再同一台服务器,当我们把网站部署在服务器上以后,运行程序,提示如下错误:
Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154.
而客户又不想在这台电脑安装MSSQL,所以我们只需要在没有安装MSSQL的电脑上注册SQLDMO.DLL组件。
第一步:首先将msvcr71.dll, SQLDMO.DLL, Resources\2052\sqldmo.rll,Resources\1033\sqldmo.rll 拷贝到C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录。
第二步:打开开始,在运行中输入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll" 注册sqldmo.dll。
正常情况下,经过以上两个步骤,网页就应该可以访问了的。 但是我们经过以上两次操作后,访问网页依然提示如下错误:
Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80070005.
后经过一段时间的检查,我们发现C:\Program Files\文件夹仅有Administrator和System的控制权限,而没有其他任何用户的权限,因此我们为Microsoft SQL Server文件夹增加上Network Service 的读取权限。
至此,问题得到解决!
CREATE PROCEDURE KillSpid(@dbName varchar(20))
AS
BEGIN
DECLARE @sql nvarchar(500)
DECLARE @spid int
SET @sql='DECLARE getspid CURSOR FOR SELECT spid FROM sysprocesses WHERE dbid=db_id('''+@dbName+''')'
EXEC (@sql)
OPEN getspid
FETCH next FROM getspid INTO @spid
WHILE @@fetch_status<>-1
BEGIN
EXEC('kill '+@spid)
FETCH next FROM getspid INTO @spid
END
CLOSE getspid
DEALLOCATE getspid
END
GO
由于客户的数据库和WEB服务不再同一台服务器,当我们把网站部署在服务器上以后,运行程序,提示如下错误:
Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154.
而客户又不想在这台电脑安装MSSQL,所以我们只需要在没有安装MSSQL的电脑上注册SQLDMO.DLL组件。
第一步:首先将msvcr71.dll, SQLDMO.DLL, Resources\2052\sqldmo.rll,Resources\1033\sqldmo.rll 拷贝到C:\Program Files\Microsoft SQL Server\80\Tools\Binn目录。
第二步:打开开始,在运行中输入 regsvr32 "C:\Program Files\Microsoft SQL Server\80\Tools\Binn\sqldmo.dll" 注册sqldmo.dll。
正常情况下,经过以上两个步骤,网页就应该可以访问了的。 但是我们经过以上两次操作后,访问网页依然提示如下错误:
Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80070005.
后经过一段时间的检查,我们发现C:\Program Files\文件夹仅有Administrator和System的控制权限,而没有其他任何用户的权限,因此我们为Microsoft SQL Server文件夹增加上Network Service 的读取权限。
至此,问题得到解决!
CREATE PROCEDURE KillSpid(@dbName varchar(20))
AS
BEGIN
DECLARE @sql nvarchar(500)
DECLARE @spid int
SET @sql='DECLARE getspid CURSOR FOR SELECT spid FROM sysprocesses WHERE dbid=db_id('''+@dbName+''')'
EXEC (@sql)
OPEN getspid
FETCH next FROM getspid INTO @spid
WHILE @@fetch_status<>-1
BEGIN
EXEC('kill '+@spid)
FETCH next FROM getspid INTO @spid
END
CLOSE getspid
DEALLOCATE getspid
END
GO
相关文章推荐
- 如何备份恢复IIS?【景安vps重装系统注意事项】
- 数据库备份注意事项
- Mysql 数据库常用备份方法和注意事项
- Oracle备份和还原数据库应该注意的事项
- Microsoft Office SharePoint Server 2016 备份与恢复解决方案(一,备份准备工作和注意事项。)
- ORACLE11G数据备份恢复注意事项
- SQL Server 数据库的备份详细介绍及注意事项
- BE 备份和恢复exchange2007注意事项
- Mysql 数据库常用备份方法和注意事项
- Linux备份恢复注意事项
- SqlServer2008 数据库的恢复和还原 及注意事项
- SQL Server 数据库的备份详细介绍及注意事项
- 数据库备份注意事项
- 怎么备份和恢复双操作系统及其注意事项
- SQL2005 数据库备份与还原注意事项
- SQL Server 2008数据库创建,备份,还原图解及注意事项
- 不完全恢复后打开数据库的注意事项
- 如何得到服务器端数据库列表 并 备份和恢复数据库 [copy]
- 数据库的备份与恢复的存储过程
- C#可定制的数据库备份和恢复程序