MSSqlServer 通过sql语句 还原数据库(已有备份文件)

declare  @dbname varchar(20)   --数据库名称
declare  @filename varchar(200)  --数据库备份文件 路径

set @dbname=‘MyTest‘
set @filename=‘D:\MyTest.bak‘

--关闭现有数据库连接
declare @i int 

declare cur cursor for
select spid from sysprocesses where db_name(dbid)= @dbname
 open cur fetch next from cur into @i while @@fetch_status=0
 begin
   exec(‘kill ‘[email protected]) fetch next from cur into @i
 end
 close cur
 deallocate cur
--已关闭数据库连接

--还原数据库
RESTORE DATABASE @dbname FROM [email protected] WITH replace
--还原数据库完毕

  

时间: 2024-08-24 12:34:06

MSSqlServer 通过sql语句 还原数据库(已有备份文件)的相关文章

sql server 还原数据库后,删除用户,提示数据库主体在该数据库中拥有架构,无法删除解决方法

将另一台服务器上的数据库备份文件,在现在用的这台服务器上还原之后,再创建相同的用户名,提示用户已存在 想将之前的用户先删除掉,却提示“数据库主体在该数据库中拥有架构,无法删除解决方法” 在网上找到方法,试了一下,还真管用. --执行如下SQL语句 ALTER AUTHORIZATION ON SCHEMA::db_owner TO dbo; --然后手动删除就可以了 我看还原后的数据库中的db_owner架构所有者就是那个要删除的用户名,再看其他数据库中的db_owner架构的所有者就是db_o

SQL语句创建数据库以及一些查询练习

--创建 MyCompany数据库 use master execute sp_configure 'show advanced options',1 --开启权限 reconfigure execute sp_configure 'xp_cmdshell',1 reconfigure execute xp_cmdshell 'mkdir e:\作业数据库'--自动创建文件夹 execute sp_configure 'xp_cmdshell',0--关闭权限,先关 reconfigure ex

2-06使用SQL语句创建数据库3

向现有数据库中添加文件组和数据文件几种方式以及步骤: 第一种:在视图下添加文件组和数据文件. 添加文件组的步骤: 右击你想要添加文件组的数据库点属性,然后点文件组就可以添加. 添加数据文件的步骤: 下面可以点击添加文件,打上名字就可以了. 第二种:使用SQL语句向数据库中添加文件组和数据文件. USE E_Market --添加文件组 FG1 ALTER DATABASE E_Market ADD FILEGROUP FG1 GO --为新建的文件组FG1添加数据文件 ALTER DATABAS

3,SQL语句及数据库优化

 1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*From dual 其实就是大小写不同,查询分析器就认为是两句不同的SQL语句,必须进行两次解析.生成2个执行计划 2,不要把SQL语句写得太复杂 我经常看到,从数据库中捕捉到的一条SQL语句打印出来有2张A4纸这么长.一般来说这么复杂的语句通常都是有问题的.我拿着这2页长的SQL语句去请教原作者,结果他说

SQL语句及数据库优化

1,统一SQL语句的写法 对于以下两句SQL语句,程序员认为是相同的,数据库查询优化器认为是不同的. 所以封装成复用方法,用标准模板来控制. select*from dual select*From dual 其实就是大小写不同,查询分析器就认为是两句不同的SQL语句,必须进行两次解析.生成2个执行计划 2,不要把SQL语句写得太复杂 我经常看到,从数据库中捕捉到的一条SQL语句打印出来有2张A4纸这么长.一般来说这么复杂的语句通常都是有问题的.我拿着这2页长的SQL语句去请教原作者,结果他说时

使用SQL语句清空数据库所有表的数据

近来发现数据库过大,空间不足,因此打算将数据库的数据进行全面的清理,但表非常多,一张一张的清空,实在麻烦,因此就想利用SQL语句一次清空所有数据.找到了三种方法进行清空.使用的数据库为MS SQL SERVER.1.搜索出所有表名,构造为一条SQL语句 declare @trun_name varchar(8000)set @trun_name='' select @trun_name=@trun_name + 'truncate table ' + [name] + ' ' from syso

使用SQL语句建立数据库

使用SQL语句建立数据库 创建一个数据库有三个名称,第一个是Create后面的数据库名称,第二个是Name的逻辑名称,第三个是Filename的物理名称. A. 创建未指定文件的数据库 Create Database TestDB --TestDB 数据库名称--DBMS里用的是这个名 B. 创建指定数据和事务日志文件的数据库 Create Database TestDB --TestDB 数据库名称--DBMS里用的是这个名 On --On 代表数据文件组( --主要数据文件Name ='Te

mysql用户管理, 常用sql语句,mysql数据库备份恢复

mysql用户管理 新创建一个指定IP的用户,可以访问mysql的某些库某些表. 所有库的所有表,如果想指定访问某个库某些表,只需要修改名称user1 指定用户名br/>@后面的ip是指定ip,%表示所有的ipindentified by 后面是用户的密码验证用用户user1登录也可以指定localhost,登录时不输入本机ip地址即可访问查看授权,用于授权给新用户,新权限: 常用sql 语句 查看库表的行数搜索:select count() from mysql.user;搜索:select

Oracle - SQL语句实现数据库快速检索

SQL语句实现数据库快速检索 有时候在数据库Debug过程中,需要快速查找某个关键字. 1:使用PLSQL Dev自带的查找数据库对象,进行对象查找 缺点:查找慢.耗时. 2:使用SQL语句对数据库对象进行查找 查找数据库一般对象 1 SELECT * FROM DBA_SOURCE T WHERE UPPER(T.TEXT) LIKE '%关键字%' 查找数据库脚本 1 SELECT * FROM DBA_JOBS T WHERE UPPER(T.WHAT) LIKE '%关键字%'; 原文地