--批处理是可以的
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**1.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**2.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**3.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**4.sql'--不建议这么做,数据量大的时候效率很低
--建议吧数据库备份后,恢复的方法。
具体操作如下:
--建库
IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME=N'数据库 ')
DROP DATABASE 数据库
CREATE DATABASE 数据库
--恢复declare @s as varchar(8000)
set @s=' use master
declare @Data_Path as varchar(100),@Log_Path as varchar(100)
select @Data_Path=ltrim(rtrim(filename)) from 数据库..sysfiles where charindex(''MDF'',filename)>0
select @Log_Path=ltrim(rtrim(filename)) from 数据库..sysfiles where charindex(''LDF'',filename)>0
RESTORE DATABASE 数据库 FROM DISK = ''c:\数据库.bak'' with replace, move ''数据库_Data'' to @Data_Path,
move ''数据库_Log'' to @Log_Path '
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**1.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**2.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**3.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**4.sql'--不建议这么做,数据量大的时候效率很低
--建议吧数据库备份后,恢复的方法。
具体操作如下:
--建库
IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME=N'数据库 ')
DROP DATABASE 数据库
CREATE DATABASE 数据库
--恢复declare @s as varchar(8000)
set @s=' use master
declare @Data_Path as varchar(100),@Log_Path as varchar(100)
select @Data_Path=ltrim(rtrim(filename)) from 数据库..sysfiles where charindex(''MDF'',filename)>0
select @Log_Path=ltrim(rtrim(filename)) from 数据库..sysfiles where charindex(''LDF'',filename)>0
RESTORE DATABASE 数据库 FROM DISK = ''c:\数据库.bak'' with replace, move ''数据库_Data'' to @Data_Path,
move ''数据库_Log'' to @Log_Path '
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**1.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**2.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**3.sql'
master.dbo.xp_cmdshell 'osql -U 用户名 -P 密码 -i c:\**4.sql'--不建议这么做,数据量大的时候效率很低
--建议吧数据库备份后,恢复的方法。
具体操作如下:
--建库
IF EXISTS (SELECT * FROM MASTER..sysdatabases WHERE NAME=N'数据库 ')
DROP DATABASE 数据库
CREATE DATABASE 数据库
--恢复declare @s as varchar(8000)
set @s=' use master
declare @Data_Path as varchar(100),@Log_Path as varchar(100)
select @Data_Path=ltrim(rtrim(filename)) from 数据库..sysfiles where charindex(''MDF'',filename)>0
select @Log_Path=ltrim(rtrim(filename)) from 数据库..sysfiles where charindex(''LDF'',filename)>0
RESTORE DATABASE 数据库 FROM DISK = ''c:\数据库.bak'' with replace, move ''数据库_Data'' to @Data_Path,
move ''数据库_Log'' to @Log_Path '