sql 这将备份SQL实例中的所有数据库,但系统DB除外。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql 这将备份SQL实例中的所有数据库,但系统DB除外。相关的知识,希望对你有一定的参考价值。

USE [master]
GO
/****** Object:  StoredProcedure [dbo].[Backup_All_DBs]    Script Date: 6/16/2014 11:32:00 AM ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author:		<Author,,Name>
-- Create date: <Create Date,,>
-- Description:	<Description,,>
-- =============================================
ALTER PROCEDURE [dbo].[Backup_All_DBs]
as
	DECLARE @name VARCHAR(255) -- database name  
	DECLARE @path VARCHAR(256) -- path for backup files  
	DECLARE @fileName VARCHAR(256) -- filename for backup 
-- specify database backup directory
SET @path = 'G:\MSSQL11.SP2013\MSSQL\Backup\'  

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 NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;

    SET @fileName = @path + @name + '.BAK'  
       BACKUP DATABASE @name TO DISK = @fileName  
 
       FETCH NEXT FROM db_cursor INTO @name
END

CLOSE db_cursor   
DEALLOCATE db_cursor

以上是关于sql 这将备份SQL实例中的所有数据库,但系统DB除外。的主要内容,如果未能解决你的问题,请参考以下文章

sql 这将列出SQL实例中所有数据库中的所有数据库所有者

sql SQL Query获取特定实例中所有数据库的备份历史记录。

sql 不知道我在哪里得到这个。这将重建数据库中的所有索引。

SQL Server系统数据库

SQL server权限管理和备份实例

《SQL Server企业级平台管理实践》读书笔记——几个系统库的备份与恢复