Comandos de uso diario en sistemas Linux
10 de septiembre de 2020Crear el archivo de intercambio (swap) en linux
23 de septiembre de 2020CREATE DATABASE YourDatabase;
GO
RESTORE BACKUP
USE master
GO
RESTORE DATABASE YourDatabase;
FROM DISK = ‘F:\\backup.bak’
WITH FILE = 1,
MOVE ‘fichero_db’ TO ‘D:\\db.mdf’,
MOVE ‘fichero_log’ TO ‘E:\\log.ldf’,
NOUNLOAD, STATS = 5
GO
BORRAR BASE DE DATOS
USE master
GO
ALTER DATABASE YourDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE
GO
USE master
GO
DROP DATABASE YourDatabase
GO
RENOMBRAR BASE DE DATOS
USE master;
GO
ALTER DATABASE MyTestDatabase SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE MyTestDatabase MODIFY NAME = MyTestDatabaseCopy;
GO
ALTER DATABASE MyTestDatabaseCopy SET MULTI_USER;
GO
VER PROCESOS CORRIENDO DE UNA DB
SELECT sd.name, sp.spid, sp.login_time, sp.loginame from sysprocesses sp inner join sysdatabases sd on sp.dbid = sp.dbid
where sd.name = ‘MyDB’
Referencias:
MATAR PROCESOS EN EJECUCIÓN (de una base de datos cuando no puede borrarse la db, ver script anterior)
Opción 1:
Right click on database engine, click on activity monitor and see which process is having connection.
Kill that particular user and execute the query Immediately.
Opción 2 (Recomendada):
For MS SQL Server 2012 and above:
USE master;
DECLARE @kill varchar(8000) = ”;
SELECT @kill = @kill + ‘kill ‘ + CONVERT(varchar(5), session_id) + ‘;’
FROM sys.dm_exec_sessions
WHERE database_id = db_id(‘yourDbName’)
EXEC(@kill);
Ponemos Offline la db para realizar las operaciones pertinentes:
USE master
ALTER DATABASE <yourDbName>
SET OFFLINE WITH ROLLBACK IMMEDIATE
For MS SQL Server 2000, 2005, 2008:
USE master;
DECLARE @kill varchar(8000); SET @kill = ‘ ‘;
SELECT @kill = @kill + ‘kill ‘ + CONVERT(varchar(5), spid) + ‘;’
FROM master.sysprocesses
WHERE dbid = db_id(‘yourDbName’)
EXEC(@kill);
Referencias:
TRUNCAR ARCHIVO LOG
SELECT * FROM sys.database_files;
DBCC SHRINKFILE(‘Dbname_Log’);
ALTER DATABASE Dbname;
SET RECOVERY SIMPLE;
GO
— Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (‘Dbname_Log’, 1);
GO
— Reset the database recovery model.
ALTER DATABASE Dbname
SET RECOVERY FULL;
GO
Referencias:
CAMBIAR UBICACION DE ARCHIVOS DE DATOS LOG Y DATOS
ALTER DATABASE NombreBaseDeDatos
MODIFY FILE (NAME = NombreDeDatos, FILENAME = ‘E:\ew_location\\Data.mdf’);
GO
ALTER DATABASE NombreBaseDeDatos
MODIFY FILE ( NAME = NombreDeLog, FILENAME = ‘E:\ew_location\\Log.ldf’);
GO ALTER DATABASE NombreBaseDeDatos SET OFFLINE;
GO
Ahora movemos el archivo físicamente cortando y pegando. Y volvemos a poner online la db.
ALTER DATABASE NombreBaseDeDatos SET ONLINE;
GO
BORRAR USUARIO DE BASE DE DATOS
USE nombre_db
GO
ALTER authorization
ON schema::db_owner
TO dbo
GO
DROP user nombre_user
GO
Nota: Asegurarse de tener seleccionada la DD.BB. correcta (desplegable de arriba a la izquierda).
VER UBICACION FÍSICA DE LOS FICHEROS DE DB
SELECT name, physical_name AS NewLocation, state_desc AS OnlineStatus FROM sys.master_files
WHERE database_id = DB_ID(‘NombreBaseDeDatos’)
GO
PASAR DDBB A SINGLE USER
ALTER DATABASE MyDB
SET SINGLE_USER with rollback inmediate
GO
PASAR DDBB A MULTI USUARIO
ALTER DATABASE MyDB
SET MULTI_USER with rollback inmediate
GO
Tutorial para crear job y poder truncar de manera programada el archivo de log: