adminbd

Записи по mssql,oracle,windows и linux

Have a Question?

If you have any question you can ask below or enter what you are looking for!

Время работы 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

 

удаление кеш 1с у всех пользователей + чиста темп на терминальном сервере

SetLocal EnableExtensions

 

For /F "Tokens=2*" %%I In ('Reg Query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList" /V ProfilesDirectory') Do Set Profiles=%%J

Call Set Profiles=%Profiles%

 

For /F "Delims=" %%I In ('Dir /B /AD-S-H "%Profiles%" ^| FindStr /V /B /I /C:"All Users"') Do (

  Del /F /S /Q "%Profiles%\%%I\Application Data\1C\1Cv82\*.*"

  Del /F /S /Q "%Profiles%\%%I\Local Settings\Application Data\1C\1Cv82\*.*"

 

  Del /F /S /Q "%Profiles%\%%I\Local Settings\Temp\*.*"

  Del /F /S /Q "%Profiles%\%%I\Local Settings\Temporary Internet Files\*.*"

 

  Del /F /S /Q "%Profiles%\%%I\AppData\Local\Temp\*.*"

  Del /F /S /Q "%Profiles%\%%I\AppData\Local\Microsoft\Windows\Temporary Internet Files\*.*"

 

)

 

Узнать 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 AS 
Читать далее