EXEC
sp_MSforeachdb 'EXEC [?]..sp_changedbowner ''sa'' '
Posts mit dem Label SQL Server werden angezeigt. Alle Posts anzeigen
Posts mit dem Label SQL Server werden angezeigt. Alle Posts anzeigen
Freitag, 31. Juli 2015
Dienstag, 7. Juli 2015
SQL Server: shrink all databases
EXEC
sp_msForEachDB 'PRINT ''
USE
?
GO
ALTER
DATABASE ? SET RECOVERY SIMPLE
GO
DBCC
SHRINKFILE(''''?'''',1)
GO
ALTER
DATABASE ? SET RECOVERY FULL
GO''
'
Labels:
shrink,
shrinkfile,
SQL Server,
T-SQL,
Transaction Log,
Transaktionsprotokoll
SQL Server: shrink all transaction logs retrieving data from sysfiles
CREATE
TABLE #LogFileResults (DatabaseName VARCHAR(150), LogFileName VARCHAR(150) )
DECLARE
DataBaseList CURSOR FOR
SELECT
name FROM SYS.sysdatabases
WHERE
NAME NOT IN ('master','tempdb','model','msdb','distribution')
DECLARE
@dbs VARCHAR(128)
DECLARE
@cmd VARCHAR(MAX)
OPEN
DataBaseList FETCH
NEXT
FROM DataBaseList INTO
@dbs
WHILE
@@FETCH_STATUS <>
-1
BEGIN
SET
@cmd = 'USE [' + @dbs + '] INSERT INTO #LogFileResults(DatabaseName, LogFileName)
SELECT '''
+
@dbs + ''', Name FROM
sysfiles WHERE FileID=2'
EXEC(@cmd)
FETCH
NEXT FROM
DataBaseList INTO @dbs END
DEALLOCATE
DataBaseList
DECLARE
TransactionLogList CURSOR FOR
SELECT
DatabaseName, LogFileName FROM #LogFileResults
DECLARE
@LogFile VARCHAR(128)
OPEN
TransactionLogList FETCH
NEXT
FROM TransactionLogList INTO @dbs, @LogFile
WHILE
@@FETCH_STATUS <>
-1
BEGIN
SELECT
@cmd = 'USE [' + @dbs + '] '
+
'ALTER DATABASE [' +
@dbs + '] SET RECOVERY
SIMPLE WITH NO_WAIT '
+
'DBCC SHRINKFILE(N''' +
@LogFile + ''', 1) '
+
'ALTER DATABASE [' +
@dbs + '] SET RECOVERY
FULL WITH NO_WAIT'
Print
(@cmd)
FETCH
NEXT FROM
TransactionLogList INTO @dbs, @LogFile END
DEALLOCATE TransactionLogList
DROP TABLE #LogFileResults
Labels:
shrink,
shrinkfile,
SQL Server,
T-SQL,
Transaction Log,
Transaktionsprotokoll
Abonnieren
Posts (Atom)