Forum Orisinil
Kategori Umum => Diskusi Umum => Topic started by: CEMERLANG on October 22, 2016, 04:51:46 PM
-
Tolong infonya para master cara maintenance database dan urutannya bagaimana, maksudnya apakah lewat otomax ataukah lewat query dll, saya coba cari di forum memang sudah ada beberapa cara tapi masih bingung urutan maintenance dan caranya, takut salah bertindak nanti error ;D :P tolong ya master master semuanya :)
-
kalau saya begini om urutannya, yg pertama backup dulu.. kalau ada apa2 kan bisa restore lagi databasenya. kedua suspect, ke tiga reindex keempat shring. dari awal pake otomax pake ini aman
- Backup Database
DECLARE @name VARCHAR(50)
DECLARE @database VARCHAR(50)
DECLARE @path VARCHAR(256)
DECLARE @fileName VARCHAR(256)
DECLARE @fileDate VARCHAR(20)
SET @path = 'D:\' --- TUjuan Simpan File
SET @database = 'otomax'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + '_' +
REPLACE(CONVERT(VARCHAR(20),GETDATE(),108),':','')
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name IN (@database)
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
- Suspect Database OtomaX
EXEC sp_resetstatus 'otomax';
ALTER DATABASE otomax SET EMERGENCY
DBCC checkdb('otomax')
ALTER DATABASE otomax SET SINGLE_USER WITH ROLLBACK
IMMEDIATE
DBCC CheckDB ('otomax', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE otomax SET MULTI_USER
- Reindex DataBase OtomaX
USE otomax
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM
information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',95)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE
TableCursor
- Shrink DataBase OtomaX
USE OTOMAX
GO
DBCC SHRINKDATABASE(N'otomax' )
GO
DBCC SHRINKFILE (N'otomax' , 0, TRUNCATEONLY)
GO
DBCC SHRINKFILE (N'otomax_log' , 0,
TRUNCATEONLY)
GO
-
kalau saya begini om urutannya, yg pertama backup dulu.. kalau ada apa2 kan bisa restore lagi databasenya. kedua suspect, ke tiga reindex keempat shring. dari awal pake otomax pake ini aman
- Backup Database
DECLARE @name VARCHAR(50) Apakah @name diganti otomax?Jadi DECLARE @otomax VARCHAR(50) Bagian mana yg perlu diganti atau mentah2 copy paste?
DECLARE @database VARCHAR(50)
DECLARE @path VARCHAR(256)
DECLARE @fileName VARCHAR(256)
DECLARE @fileDate VARCHAR(20)
SET @path = 'D:\' --- TUjuan Simpan File
SET @database = 'otomax'
SELECT @fileDate = CONVERT(VARCHAR(20),GETDATE(),112) + '_' +
REPLACE(CONVERT(VARCHAR(20),GETDATE(),108),':','')
DECLARE db_cursor CURSOR FOR
SELECT name
FROM master.dbo.sysdatabases
WHERE name IN (@database)
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
- Suspect Database OtomaX
EXEC sp_resetstatus 'otomax';
ALTER DATABASE otomax SET EMERGENCY
DBCC checkdb('otomax')
ALTER DATABASE otomax SET SINGLE_USER WITH ROLLBACK
IMMEDIATE
DBCC CheckDB ('otomax', REPAIR_ALLOW_DATA_LOSS)
ALTER DATABASE otomax SET MULTI_USER
- Reindex DataBase OtomaX
USE otomax
DECLARE @TableName varchar(255)
DECLARE TableCursor CURSOR FOR
SELECT table_name FROM
information_schema.tables
WHERE table_type = 'base table'
OPEN TableCursor
FETCH NEXT FROM TableCursor INTO @TableName
WHILE @@FETCH_STATUS = 0
BEGIN
DBCC DBREINDEX(@TableName,' ',95)
FETCH NEXT FROM TableCursor INTO @TableName
END
CLOSE TableCursor
DEALLOCATE
TableCursor
- Shrink DataBase OtomaX
USE OTOMAX
GO
DBCC SHRINKDATABASE(N'otomax' )
GO
DBCC SHRINKFILE (N'otomax' , 0, TRUNCATEONLY)
GO
DBCC SHRINKFILE (N'otomax_log' , 0,
TRUNCATEONLY)
GO
Sebelumnya terimakasih atas tanggapan dan share dari om E-Refil. apakah script diatas mentah mentah dicopy paste di Query SQL?maksudnya apakah harus disesuaikan dengan "path" masing2 pengguna? Terus apakah fasilitas menghapus data yg ada di Otomax tidak perlu dipakai?.Yg saya maksudkan fasilitas menghapus data seperti digambar di bawah ini
(http://i1211.photobucket.com/albums/cc430/Lunamek/Menghapus%20data_zpsevsaifjw.jpg) (http://s1211.photobucket.com/user/Lunamek/media/Menghapus%20data_zpsevsaifjw.jpg.html)
Apakah ada yg mau membantu menambahkan?
-
Sebelumnya terimakasih atas tanggapan dan share dari om E-Refil. apakah script diatas mentah mentah dicopy paste di Query SQL?maksudnya apakah harus disesuaikan dengan "path" masing2 pengguna? Terus apakah fasilitas menghapus data yg ada di Otomax tidak perlu dipakai?.Yg saya maksudkan fasilitas menghapus data seperti digambar di bawah ini
(http://i1211.photobucket.com/albums/cc430/Lunamek/Menghapus%20data_zpsevsaifjw.jpg) (http://s1211.photobucket.com/user/Lunamek/media/Menghapus%20data_zpsevsaifjw.jpg.html)
Apakah ada yg mau membantu menambahkan?
Untuk yang belum paham tentang query sebaiknya menggunakan fitur hapus data yang gambarnya ditampilkan di atas.
-
Untuk yang belum paham tentang query sebaiknya menggunakan fitur hapus data yang gambarnya ditampilkan di atas.
Terimakasih atas sarannya bos M.A.M :)
-
nah tuh masternya udh dateng, silahkan bisa konsultasi ke beliau ;D
-
ikut nyimak
-
Untuk yang belum paham tentang query sebaiknya menggunakan fitur hapus data yang gambarnya ditampilkan di atas.
Om, kalo yang bawaan Otomax kan shrink database, terus kalo untuk suspect & reindex gimana ya
-
ikut nyimak dulu, masih byk yg perlu dipelajari