如何备份SQL Server 2008上的所有数据库

Mar*_*oli 2 sql-server sql-server-2008 sql-server-2008-r2 sql-server-2012

我已经在SQL Server 2008 R2上工作了4年,是时候格式化我的笔记本电脑了.

我只使用默认实例,我可以使用.服务器名称访问,然后使用我的用户名和密码进行用户身份验证.

现在我想格式化我的笔记本电脑,几乎不可能手动备份所有数据库.

我发现在以下路径中

C:\ Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL

我找到的每个数据库都拥有的所有数据库:

  1. databasename_log.ldf
  2. databasename.mdf

我将这些文件复制到外部硬盘驱动器.

我的问题:

这些文件是否足以在格式化后导入数据库?如果我安装(格式化后)SQL Server 2012而不是2008 R2,它们会工作吗?

Sat*_*ish 5

我发现本文中的SQL 对于备份服务器上的所有数据库很有用.

DECLARE @name VARCHAR(50) -- database name  
DECLARE @path VARCHAR(256) -- path for backup files  
DECLARE @fileName VARCHAR(256) -- filename for backup  
DECLARE @fileDate VARCHAR(20) -- used for file name


-- specify database backup directory
SET @path = 'C:\Backup\'  


-- specify filename format
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) 


DECLARE db_cursor CURSOR FOR  
SELECT name 
FROM master.dbo.sysdatabases 
WHERE name NOT IN ('master','model','msdb','tempdb')  -- exclude these databases


OPEN db_cursor   
FETCH NEXT FROM db_cursor INTO @name   


WHILE @@FETCH_STATUS = 0   
BEGIN   
       SET @fileName = @path + @name + '_' + @fileDate + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  


       FETCH NEXT FROM db_cursor INTO @name   
END   


CLOSE db_cursor   
DEALLOCATE db_cursor
Run Code Online (Sandbox Code Playgroud)