GVKun编程网logo

sql-server – 如何恢复SQL Server数据库并同时收缩其文件?

12

本篇文章给大家谈谈sql-server–如何恢复SQLServer数据库并同时收缩其文件?,同时本文还将给你拓展asp在线备份与恢复sqlserver数据库的代码、sqlserver-mac下如何连接

本篇文章给大家谈谈sql-server – 如何恢复SQL Server数据库并同时收缩其文件?,同时本文还将给你拓展asp 在线备份与恢复sqlserver数据库的代码、sql server-mac下如何连接调用sql Server数据库、SQL Server当恢复sqlserver bak文件时,原始的用户无法删除的解决方法、SQL Server数据库恢复,SQL Server数据恢复,SQL Server数据误删除恢复工具SQLRescue等相关知识,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

sql-server – 如何恢复SQL Server数据库并同时收缩其文件?

sql-server – 如何恢复SQL Server数据库并同时收缩其文件?

假设我有一个sql Server数据库,其数据文件的初始大小为100 GB,但它只包含10 GB的数据.然后,数据库备份的大小仅为10 GB.

我想将此备份还原到不同的服务器(或同一服务器上的不同数据库),但我不希望它占用与原始磁盘空间相同的磁盘空间(100 GB),这是默认情况下发生的情况.

在进行备份之前我无法缩小原始数据库(它是一个生产数据库,它需要那么多预先分配的空间);恢复完成后,我可以缩小恢复的数据库,但我真的更喜欢在执行此操作时不占用100 GB;此外,在这个特定的场景中,我没有那么多的可用磁盘空间,因此恢复不会在任何地方.

有什么方法可以恢复数据库,并且它只占用与它包含的实际数据一样多的空间吗?

解决方法

不,对不起 – 没办法.还原还原备份时的文件.必须在此之后或在备份之前完成Schinking.

asp 在线备份与恢复sqlserver数据库的代码

asp 在线备份与恢复sqlserver数据库的代码

asp在线备份sql server数据库:
1、备份sqlserver
复制代码 代码如下:

<%
SQL="backup database 数据库名 to disk=''"&Server.MapPath("backup")&"\"&"backuptext.dat"&"''"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd="
cnn.execute SQL
on error resume next
if err<>0 then
response.wrITe "错误:"&err.Descripting
else
response.wrITe "数据备份成功!"
end if
%>

2、恢复sqlserver
复制代码 代码如下:

<%
SQL="Restore database 数据库名 from disk=''"&Server.MapPath("backup")&"\"&"backuptext.dat"&"''"
set cnn=Server.createobject("adodb.connection")
cnn.open "driver={SQL Server};Server=服务器名;uid=sa;pwd="
cnn.execute SQL
on error resume next
if err<>0 then
response.wrITe "错误:"&err.Descripting
else
response.wrITe "数据恢复成功!"
end if
%>

ACCESS原理一样
复制代码 代码如下:

<%
''*****************************************
function CopyTo(ByVal cFile,ByVal toFile)
cFile=Server.MapPath(cFile) ‘所要备份的文件
toFile=Server.MapPath(toFile) ‘备份文件
Dim cFso,cf
set cFso=Server.CreateObject("Scripting.FileSystemObject")
cFso.fileexists(cFile)
cFso.Copyfile cFile,toFile
end function
''*********************************************
'' ASP实现备份及恢复ACCESS数据库操作
''本页面为 databackup.asp
dim dbpath,bkfolder,bkdbname,fso,fso1
call main()
call main2()
conn.close
set conn=nothing
sub main()
if request("action")="Backup" then
call backupdata()
else
%>
<table cellspacing=1 cellpadding=1 align=center width="90%">
<tr>
<th height=25 >
&nbsp;&nbsp;<B>数据库备份</B>
</th>
</tr>
<form method="post" action="databackup.asp?action=Backup">
<tr>
<td height=100>
&nbsp;&nbsp;
当前数据库路径(相对路径):
<input type=text size=15 name=DBpath value="../mdb/database.mdb"><BR>
&nbsp;&nbsp; 备份数据库目录(相对路径):
<input type=text size=15 name=bkfolder value=../Databackup>&nbsp;如目录不存在,程序将自动创建<BR>
&nbsp;&nbsp; 备份数据库名称(填写名称):
<input type=text size=15 name=bkDBname value=database.mdb> &nbsp;如备份目录有该

文件,将覆盖,如没有,将自动创建<BR>
&nbsp;&nbsp;<input type=submIT value="备份数据"><hr align="center" width="90%" color="#999999"></td>
</tr>
</form>
</table>
<%
end if
end sub
sub main2()
if request("action")="Restore" then
Dbpath=request.form("Dbpath")
backpath=request.form("backpath")
if dbpath="" then
response.wrITe "请输入您要恢复成的数据库全名"
else
Dbpath=server.mappath(Dbpath)
end if
backpath=server.mappath(backpath)
Response.wrITe Backpath
Set Fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(dbpath) then
fso.copyfile Dbpath,Backpath
response.wrITe "<font color=red>成功恢复数据!</font>"
else
response.wrITe "<font color=red>备份目录下并无您的备份文件!</font>"
end if
else
%>
<table align=center cellspacing=1 cellpadding=1 width="90%">
<tr>
<th height=25 >
&nbsp;&nbsp;<B>恢复数据库</B>
</th>
</tr>
<form method="post" action="databackup.asp?action=Restore">
<tr>
<td height=100 >
&nbsp;&nbsp;备份数据库路径(相对):
<input type=text size=30 name=DBpath value="../Databackup/database.mdb">&nbsp;&nbsp;<BR>
&nbsp;&nbsp;当前数据库路径(相对):
<input type=text size=30 name=backpath value="../mdb/database.mdb"><BR>
&nbsp;&nbsp;<input type=submIT value="恢复数据"> <hr width="90%" align="center" color="#999999">
&nbsp;&nbsp;<font color="#666666">·注意:所有路径都是相对路径 &nbsp;&nbsp;</font></td>
</tr>
</form>
</table>
<%
end if
end sub
sub backupdata()
Dbpath=request.form("Dbpath")
Dbpath=server.mappath(Dbpath)
bkfolder=request.form("bkfolder")
bkdbname=request.form("bkdbname")
Set Fso=server.createobject("scripting.filesystemobject")
if fso.fileexists(dbpath) then
If CheckDir(bkfolder) = True Then
fso.copyfile dbpath,bkfolder& "\\"& bkdbname
else
MakeNewsDir bkfolder
fso.copyfile dbpath,bkfolder& "\\"& bkdbname
end if
response.wrITe "<font color=red>备份数据库成功,您备份的数据库路径为" &bkfolder& "\\"& bkdbname+"</font>"
Else
response.wrITe "<font color=red>找不到您所需要备份的文件。</font>"
End if
end sub
''------------------检查某一目录是否存在-------------------
Function CheckDir(FolderPath)
folderpath=Server.MapPath(".")&"\\"&folderpath
Set fso1 = CreateObject("Scripting.FileSystemObject")
If fso1.FolderExists(FolderPath) then
''存在
CheckDir = True
Else
''不存在
CheckDir = False
End if
Set fso1 = nothing
End Function
''-------------根据指定名称生成目录---------
Function MakeNewsDir(foldername)
dim f
Set fso1 = CreateObject("Scripting.FileSystemObject")
Set f = fso1.CreateFolder(foldername)
MakeNewsDir = True
Set fso1 = nothing
End Function
%>
您可能感兴趣的文章:

sql server-mac下如何连接调用sql Server数据库

sql server-mac下如何连接调用sql Server数据库

macsql serverphp

刚刚更换了mac book,所有开发工具都从新适应,现在有个项目需要使用sql server2005开发,可没有适合的查询sql server的工具,各位大神给小弟指点迷津啊,不胜感激。

SQL Server当恢复sqlserver bak文件时,原始的用户无法删除的解决方法

SQL Server当恢复sqlserver bak文件时,原始的用户无法删除的解决方法

感兴趣的小伙伴,下面一起跟随小编 jb51.cc的小编两巴掌来看看吧!

你无法创建一个相同的用户并mapping这个用户到数据库, 并且你无法删除数据库的用户:DemoUser.
请运行以下脚本, 之后你就可以删除用户:DemoUser.然后创建用户(DemoUser.)并mapping到数据库。
脚本:

代码如下:

 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Membership_BasicAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Membership_FullAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Membership_ReportingAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Profile_BasicAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Profile_FullAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Profile_ReportingAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Roles_BasicAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Roles_FullAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON ROLE::[aspnet_Roles_ReportingAccess] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON SCHEMA::[db_owner] TO [dbo] 
GO 
GO 
ALTER AUTHORIZATION ON SCHEMA::[db_owner] TO [db_owner] 
GO 

SQL Server数据库恢复,SQL Server数据恢复,SQL Server数据误删除恢复工具SQLRescue

SQL Server数据库恢复,SQL Server数据恢复,SQL Server数据误删除恢复工具SQLRescue

专注于SQL Server数据库的恢复。专注于各种勒索病毒加密数据库的修复。

SQLRescue可用于从损坏的 MS SQL Server 数据库数据文件(.mdf .ndf 文件)中恢复数据。它可以保存关键数据,避免其丢失。

一、SQLRescue主要功能有:

系统崩溃只剩下数据文件的情况下的恢复,即无日志文件或者日志文件损坏情况下的恢复;

断电导致数据库文件损坏情况下的恢复;

硬盘坏道造成数据库损坏情况下的恢复;

数据文件内部存在坏页情况下的恢复;

企业管理器误删除数据表记录,管理软件误删除数据表记录的恢复;

并闩锁错误、格式化、误删除后导致软件不能使用的情况;

无法读取并闩锁页sysindexes失败情况下的修复;

数据文件被误删除情况下的碎片提取恢复;

系统表损坏、索引错误、误删除数据库表、删除记录的数据找回;

master数据库损坏而无法正常运行情况下的恢复;

数据文件无法附加情况下的数据恢复;

数据库被标记为可疑,质疑,不可用等情况的恢复;

数据库sysobjects等系统表损坏情况下的恢复;

数据被误(drop、delete、truncate)删除表数据的恢复,误update后的数据恢复等;

还原时报一致性错误,错误823等情况下的数据恢复,各种错误提示的数据库文件修复;

数据库被误格式化等情况下的数据库恢复;

日志收缩造成数据库损坏情况下的恢复;

仅剩损坏的备份文件情况下的恢复。

二、SQLRescue主要技术特点:

只要SQL Server数据库的数据文件存在,我们就有办法帮您从数据文件中找回重要数据。

从数据文件中直接恢复数据

不能附加时直接恢复数据并生成新的数据库

系统表损坏的数据库修复

快速修复SQL 823错误、连接中断错误

三、SQLRescue支持的版本:

Microsoft SQL Server 6.5, 7.0, 2000, 2005, 2008, 2008R2, 2012, 2014, 2016, 2017,2019。

关于sql-server – 如何恢复SQL Server数据库并同时收缩其文件?的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于asp 在线备份与恢复sqlserver数据库的代码、sql server-mac下如何连接调用sql Server数据库、SQL Server当恢复sqlserver bak文件时,原始的用户无法删除的解决方法、SQL Server数据库恢复,SQL Server数据恢复,SQL Server数据误删除恢复工具SQLRescue的相关信息,请在本站寻找。

本文标签:

上一篇数据库 – 我应该删除(SQL和DB)什么吗?(删除数据库的sql语句是什么)

下一篇虚拟化 – 虚拟化Microsoft SQL数据库服务器(虚拟sql数据库操作)