Jump to content

SQL Script για αυτόματο backup όλων των DBs


v_pasch
 Share

Recommended Posts

Καλησπέρα. Θέλω να πάρω backup όλες τις βάσεις που έχω στον SQL Server 2008 αλλά θέλω να μη κάνω τη διαδικασία για κάθε μία. Έχω βρει αυτό το SQL Script αλλά μου χτυπάει όταν το τρέχω.

 

Είναι σωστό?

 

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

 

SET @path = '\\192.168.1.150\Backup\'

 

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')

 

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

Link to comment
Share on other sites

μερικά λαθάκια, να το διορθωμένο, αλλά έχεις σκεφτεί να φτιάξει κάποιο maintenance plan?

DECLARE

@path VARCHAR(256) -- path for backup files

DECLARE

@fileName VARCHAR(256) -- filename for backup

DECLARE

@fileDate VARCHAR(20) -- used for file name

SET @path ='\\192.168.1.150\backup\'

SELECT

@fileDate = CONVERT(VARCHAR(20),GETDATE(),112)

DECLARE

db_cursor CURSOR

READ_ONLY

FOR

SELECT name

FROM

master.dbo.sysdatabases

WHERE

name NOT IN ('master','model','msdb','tempdb')

DECLARE

@name varchar(128)

OPEN

db_cursor

FETCH

NEXT FROM db_cursor INTO @name

WHILE

(@@fetch_status -1)

BEGIN

IF (@@fetch_status -2)

BEGIN

SET @fileName = @path + @name + '_' + @fileDate + '.BAK'

exec ( 'BACKUP DATABASE ' +@name + ' TO DISK =''' + @fileName +'''' )

END

FETCH NEXT FROM db_cursor INTO @name

END

CLOSE

db_cursor

DEALLOCATE

db_cursor

GO

Link to comment
Share on other sites

Εμένα πάντως το πρωτότυπο δούλεψε κανονικά, απλά άλλαξα την IP με ένα server name και το αντίστοιχο shared folder.

 

Με IP δεν δούλευε αλλά δεν είχα χρόνο να δω γιατί ... Επειδή οι γνώσεις μου στον SQL είναι βασικές ... να υποθέσω ότι δουλεύει με IP αλλά έχω κάποιο θέμα στο DNS ή μέσα σε T-SQL δεν μπορώ να βάλω IP address;

Link to comment
Share on other sites

 Share

×
×
  • Create New...