Полезные запросы для MS SQL

Получить список всех баз

SELECT
‘USE [‘ + d.name + N’]’ + CHAR(13) + CHAR(10)
+ ‘DBCC SHRINKFILE (N»’ + mf.name + N»’ , 0, TRUNCATEONLY)’
+ CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10)
FROM
sys.master_files mf
JOIN sys.databases d
ON mf.database_id = d.database_id
WHERE d.database_id > 4;

 

Задать всем БД простую модель восстановления 

USE MASTER
declare
@isql varchar(2000),
@dbname varchar(64)
 
declare c1 cursor for select name from master..sysdatabases where name not in (‘master’,‘model’,‘msdb’,‘tempdb’,‘ReportServer’,‘ReportServerTempDB’)
open c1
fetch next from c1 into @dbname
While @@fetch_status <> 1
    begin
 
    select @isql = ‘ALTER DATABASE @dbname SET RECOVERY SIMPLE’
    select @isql = replace(@isql,‘@dbname’,@dbname)
    print @isql
    exec(@isql)
 
    select @isql=‘USE @dbname; DBCC SHRINKFILE (N’‘@dbname_log’‘ , 0, TRUNCATEONLY)’
    select @isql = replace(@isql,‘@dbname’,@dbname)
    print @isql
    exec(@isql)
 
    fetch next from c1 into @dbname
    end
close c1
deallocate c1
 
Получить скрипт для шринка логов всех БД 
SELECT 
      'USE [' + d.name + N']' + CHAR(13) + CHAR(10) 
    + 'DBCC SHRINKFILE (N''' + mf.name + N''' , 0, TRUNCATEONLY)' 
    + CHAR(13) + CHAR(10) + CHAR(13) + CHAR(10) 
FROM 
         sys.master_files mf 
    JOIN sys.databases d 
        ON mf.database_id = d.database_id 
WHERE d.database_id > 4;
 

Минимальный набор правил для IPTABLES

#Разрешаем принимать соединения.
iptables -A INPUT -m state --state NEW,RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

#Натим порт
iptables -t nat -A PREROUTING -p tcp --dport 13389 -j DNAT --to-destination 192.168.100.100:3389



#Разрешаем весь трафик на loopback  интерфейсе
iptables -A INPUT -i lo -j ACCEPT

#разрешаем ходить на SSH только с адреса xxx.xxx.xxx.xxx
iptables -A INPUT -s xxx.xxx.xxx.xxx -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -s 81.23.157.117 -p tcp --dport 22 -j ACCEPT

#Запрещаем udp соединения на порт 111, необязательно,  т.к. следующее правило запрещает все что не разрешено
iptables -A INPUT -p udp --dport 111 -j DROP
#Маскарадим трафик
iptables -t nat -A POSTROUTING -s '192.168.16.0/24' -o enp0s31f6 -j MASQUERADE

#Запрещаем все что явно не разрешено
iptables -P INPUT DROP
#Сохраняем правила
iptables-save > /etc/iptables.rules

#Разрешаем форвардинг между интерфейсами
echo 1 > /proc/sys/net/ipv4/ip_forward

#Редактируем файл интерфейса, чтобы не слетало при перезагрузке
post-up echo 1 > /proc/sys/net/ipv4/ip_forward
post-up iptables-restore < /etc/iptables.rules

Подключение сетевого диска через WebDAV в Windows 2016 Windows 2012

При подключение сетевого диска, можно получить ошибку 

Для исправления — запускаем powershell и устанавливаем компоненты командами: 

В 2012 — Install-WindowsFeature Desktop-Experience

В 2016 —  Install-WindowsFeature WebDAV-Redirector –Restart

Ребутаемся. В 2012 Сразу все работает. в 2016 надо запустить еще 2 службы WebClietn и MRxDAV

Set-Service WebClient -StartupType Automatic
Set-Service MRxDAV -StartupType Automatic

Start-Service WebClient
Start-Service MRxDAV

Быстрый редирект на NGINX

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

в директиве server_name должны быть указанны все доменные имена

server {
  if ($host = www.adminov.net)
  return 301 https://adminov.net$request_uri;
}

XRDP на Debian/Ubuntu server

XRDP — реализация подключения для клиентов ОС семейства Windows через стандартный mstsc.

Устанавливаем необходимые пакеты

apt install xrdp xorgxrdp

Выполним конфигурацию

dpkg-reconfigure xserver-xorg-legacy

Перезапустим сервис

service xrdp restart

Поздравляю! Теперь есть возможность подключения через mstsc к Debian