Перейти к содержимому

sql

Показывает все задания в mssql с датой выполнения и вывести список заданий (fob) в sql

/************************************************************
 *  * k.moskvichev ©
 * Time: 10.12.2015 14:07:36
 ************************************************************/

USE msdb

SELECT 		
			DISTINCT
			TOP 100
			--a.job_id  AS Id
           a.name    AS NAME_job
           ,MAX(b.run_date),
            max(b.run_time)
            --  b.step_id,
            --,b.run_status
            
            --SELECT *
FROM   
			dbo.sysjobs a
FULL OUTER JOIN 
	   		dbo.sysjobhistory b
            ON  a.job_id = b.job_id
AND         
			a.[enabled] = '1'
			--WHERE
GROUP BY
       		--b.run_date, 
       		a.job_id
           ,a.name --a.job_id,a.name,b.step_id,b.run_status
ORDER BY
       		a.name       DESC
       		--  b.run_time  DESC
select * FROM [msdb].[dbo].[sysjobs]

 

Вывести список баз в sql и как узнать когда был последний бекап + где лежит физически сама база

 

 Список баз

select * from [master].[sys].[databases]
sp_helpdb

Бэкап

 

/************************************************************
 * k.moskvichev © 
 * Time: 20.07.2015 10:53:59
 ************************************************************/

--DROP TABLE #temp
SELECT 
            @@Servername                AS ServerName
      ,d.Name                     AS DBName
      ,MAX(b.Backup_finish_date)  AS databecap
       -- ,bmf.Physical_Device_name   AS gdebackup
      ,m.physical_name            AS FILENAME
      ,d.recovery_model_desc      AS modelBuckap
       ,m.size           AS DMSize  
       --INTO #temp
FROM   
       sys.databases d
       LEFT OUTER JOIN msdb..backupset b
            ON  b.database_name = d.name
                AND b.[type] = 'D'
                AND b.server_name = @@servername
                    -- FULL OUTER JOIN msdb.dbo.backupmediafamily bmf
                    --   ON  bmf.media_set_id = b.media_set_id
                    --AND bmf.[device_type] = '7'
                    
       FULL OUTER JOIN sys.master_files m
            ON  d.database_id = m.database_id
                AND m.[data_space_id] = '1'
      
WHERE  
       /*datepart(YEAR,Backup_finish_date) BETWEEN 2015 AND 
Читать далее

Время работы sql сервера

DECLARE @Days  int

DECLARE @Hours int

DECLARE @Mins  int

DECLARE @Secs  int

DECLARE @getdate datetime

DECLARE @getdateunix int

 

set @getdate = getdate()

set @getdateunix = DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())

 

SET @Secs = (

 

        SELECT datediff(ss, login_time, getdate())

 

        FROM master..sysprocesses 

 

        WHERE spid = 1

 

    )

 

 

SET @Days  = ((@Secs/60)/60)/24

SET @Hours = ((@Secs/60)/60)%24

SET @Mins  = (@Secs/60)%60

SET @Secs  = @Secs%60

 

 

select @@servername as servername,@getdate as createdate,@getdateunix as createdate_unix ,@Days as days,@Hours as hours,@Mins as mins ,@Secs as secs

 

Переименовать sql сервер

sp_dropserver 'старое имя сервера', 'droplogins' ;

GO

sp_addserver 'новое имя сервера', local;

GO

 

Узнать имя сервера select @@servername
net stop mssqlserver && net start mssqlserver

После переименования сервера не обходимо перезапустить службу MSSQLSERVER.

Перезапуск служб через командную строку

 

если были репликации

 

EXEC master.dbo.sp_serveroption @server=N'XXXX', @optname=N'dist', @optvalue=N'true'
GO

EXEC sp_dropdistributor @no_checks = 1, @ignore_distributor = 1
GO

 

Узнать sid у пользователя и Добавить пользователя с sid

SELECT p.sid, p.name, p.type, p.is_disabled, p.default_database_name 


    FROM sys.server_principals  p


    where name in ('sa','wmsadmin')
CREATE LOGIN [имя пользователя] WITH PASSWORD=N'пароль пользователя',sid=сид пользователя, DEFAULT_DATABASE=[WMPRD], DEFAULT_LANGUAGE=[us_english], CHECK_EXPIRATION=OFF, CHECK_POLICY=ON
GO

 

Узнать версию sql запрос в самом sql

 

   SELECT


   SERVERPROPERTY('Edition') AS 'Edition',


   SERVERPROPERTY('ProductVersion') AS 'ProductVersion',


   SERVERPROPERTY('ProductLevel') AS 'ProductLevel',


   SERVERPROPERTY('ResourceLastUpdateDateTime') AS 'ResourceLastUpdateDateTime',


   SERVERPROPERTY('ResourceVersion') AS 'ResourceVersion'


   GO

 

Как узнать размер таблиц в БД sql. Узнать размер индексов в mssql.

 

DBCC UPDATEUSAGE (0);
CREATE TABLE #t(
[имя таблицы] varchar(255)
,[строк] varchar(255)
,[зарезервировано] varchar(255)
,[всего данных] varchar(255)
,[размер индексов] varchar(255)
,[свободно] varchar(255)
);
 
INSERT INTO #t
exec sp_msforeachtable N'exec sp_spaceused ''?''';
 
SELECT * FROM #t ORDER BY CONVERT(bigint, REPLACE([всего данных], ' KB', '')) DESC;
 
DROP TABLE #t;
DECLARE @TableInfo TABLE (
    table_name sysname,
    row_count int,
    reserved_size_kb nvarchar(50),
    data_size_kb nvarchar(50),
    index_size_kb nvarchar(50),
    unused_size_kb nvarchar(50)
)
 
INSERT INTO @TableInfo
EXEC sp_MSforeachtable 'sp_spaceused ''?'''
 
UPDATE @TableInfo 
SET 
    data_size_kb     = replace(data_size_kb, 'KB', ''),
    reserved_size_kb = replace(reserved_size_kb, 'KB', ''),
    index_size_kb    = replace(index_size_kb, 'KB', ''),
    unused_size_kb   = replace(unused_size_kb, 'KB', '')
 
SELECT *, 
    reserved_size_kb/1024 AS reserved_size_mb, 
    data_size_kb/1024 
Читать далее