Авторизация



Теги сайта



0х0000007b 1c access control list acl activation active directory ad roles add route adexplorer apache authentication to zabbix bare metal recovery bg zsh bicycle books bruteforce c admin ccna centos centos packet change net adapter name chap chkrootkit chmod cisco clipboard cmd configuring cpu cores cron crontab csc cut cvsup cvsup-without-gui db dev null 2 1 dhcp dhcp reservation disable ipv6 diskpart dism dns domain naming master domain roles download download powershell enable routing on windows enabled end-system doc english english language esx eventlog exe file associations fail2ban fastest_cvsup fedora fg zsh formatdatabase freebsd fsmo get-aduser group policy management hardware https hyper-v idioms iis iperf iptables iscsi jobs kernel panic ldap ldap аутентификация zabbix limit lingualeo linux malware posix mcitp mcsa mcse memory check microsoft mod_ssl mount mssql mysql mysql user password netcache network network config network diagram network document network load balance cluster network scripts nginx nlb num lock numlock openssl pap partition pdc permissions php pipeline pkg_version ports upgrade portupgrade posix powershell ppp pwdlastset rdp reg add regedit registry remote enable restrictions reverse proxy rhel rid rope jumping bridge мост прыжок высота route add route freebsd router switch doc routing protocol rpm sc sc sdset sc sdshow schema scope script output secure web security seize role service permissions services set dns servers set ip address sftp shell script show variables snmp sound scheme sounds speed ssh standard-supfile subinacl supfile switch switchport sync syncronization task sсheduler tempdb topology map transfer role tripplite monitoring tweaks unix user must change password at next logon utf8 vim vlan vmware w32tm web windows windows 2003 r2 windows 2008 r2 windows administrative share windows firewall windows server windows server 2012 windows server backup windows service permissions windows пингалка winre wsus xargs yum zabbix zabbix external check zabbix ldap authentication zsh автоматическое обновление портов freebsd автономные файлы активация английский язык ассоциации файлов windows база данных безопасность active directory буфер вело велосипед видео включение роутинга в windows внешняя проверка zabbix вредоносное программное обеспечение posix документация сети задание двумерного массива захват ролей dc звуки звуковая схема идиомы иероглифы киев кодировка командная строка конфигурация сети маршрутизация маршруты в freebsd маршруты в redhat linux область ограничения windows основные команды отключение административных ресурсов пакеты centos перевод передача ролей dc перенос планировщик задач покатушки полет над днепром проблемы кодировки протокол путь развития в it разрешения служб windows регистрируем cmd скриптом недоступность хоста реестр резервирование ip скриптом роли домена русские символы синхронизация скачать скачать powershell скачать книгу скорость сети списки контроля доступа тарзанка твики фоновые процессы цикл mssql

Скрипт для создания дополнительных файлов базы TempDB на количество CPU Печать

Чтобы в MS SQL достичь оптимальной производительности TempDB, можно создать несколько файлов хранения для этой базы данных. Если быть точнее, то рекомендуется создавать по одному файлу на каждое ядро центрального процессора CPU. Однако же если у Вашей системы ядер более чем 8, то на каждые последующие 2 ядра создавать только по одному дополнительному файлу хранения.

Например,

  • если Ваш сервер обладает 8 ядрами CPU, то необходимо создать 8 файлов tempdb
  • если Ваш сервер обладает 16 ядрами CPU, нужно 12 файлов tempdb
  • если Ваш сервер обладает 32 ядрами CPU, нужно 20 файлов tempdb

Ключевыми выгодами от создания дополнительных файлов хранения в соответствии с ядрами процессора являются:

  1. возможность размазать транзакции ввода/вывода (I/O) по всем файлам хранения
  2. возможность предотвратить блокировку во время одновременного выполнения SQL операций в многопроцессорных средах

 

 USE master
 GO
 
 CREATE TABLE #numprocs
 (
 [Index] INT,
 [Name] VARCHAR(200),
 Internal_Value VARCHAR(50),
 Character_Value VARCHAR(200)
 )
 
 DECLARE @BASEPATH VARCHAR(200)
 DECLARE @PATH VARCHAR(200)
 DECLARE @SQL_SCRIPT VARCHAR(500)
 DECLARE @CORES INT
 DECLARE @FILECOUNT INT
 DECLARE @SIZE INT
 DECLARE @GROWTH INT
 DECLARE @ISPERCENT INT
 
 INSERT INTO #numprocs
 EXEC xp_msver
 
 SELECT @CORES = Internal_Value FROM #numprocs WHERE [Index] = 16
 PRINT @CORES
 PRINT 'http://vam.in.ua/index.php/it/18-mssql/270-mssql-script-tempdb-files-according-cpu-cores.html'
 
 SET @BASEPATH = (select SUBSTRING(physical_name, 1, CHARINDEX(N'tempdb.mdf', LOWER(physical_name)) - 1) DataFileLocation
 FROM master.sys.master_files
 WHERE database_id = 2 and FILE_ID = 1)
 PRINT @BASEPATH
 
 SET @FILECOUNT = (SELECT COUNT(*)
 FROM master.sys.master_files
 WHERE database_id = 2 AND TYPE_DESC = 'ROWS')
 
 SELECT @SIZE = size FROM master.sys.master_files WHERE database_id = 2 AND FILE_ID = 1
 SET @SIZE = @SIZE / 128
 
 SELECT @GROWTH = growth FROM master.sys.master_files WHERE database_id = 2 AND FILE_ID = 1
 SELECT @ISPERCENT = is_percent_growth FROM master.sys.master_files WHERE database_id = 2 AND FILE_ID = 1
 
 IF @CORES > 8
 BEGIN
 	IF ((@CORES % 2) = 1)
		SET @CORES = @CORES - 1

	SET @CORES = (@CORES - 8) / 2 + 8
 END

 WHILE @CORES > @FILECOUNT
 BEGIN
 SET @SQL_SCRIPT = 'ALTER DATABASE tempdb
 ADD FILE
 (
 FILENAME = ''' + @BASEPATH + 'tempdb' + RTRIM(CAST(@CORES as CHAR)) + '.ndf'',
 NAME = tempdev' + RTRIM(CAST(@CORES as CHAR)) + ',
 SIZE = ' + RTRIM(CAST(@SIZE as CHAR)) + 'MB,
 FILEGROWTH = ' + RTRIM(CAST(@GROWTH as CHAR))
 IF @ISPERCENT > 0
 SET @SQL_SCRIPT = @SQL_SCRIPT + '%'
 SET @SQL_SCRIPT = @SQL_SCRIPT + ')'
 
 EXEC(@SQL_SCRIPT)
 SET @CORES = @CORES - 1
 END
 GO
 DROP TABLE #numprocs
 
Цикл для MSSQL Печать
/* Данный SQL-запрос
создает таблицу в базе данных,
перебрасывает пару значений из существующей таблицы в новую,
затем удаляет созданную таблицу
и повторяет это снова
*/

declare @i int;   -- объявляем переменную i
set @i = 1;   -- устанавливаем значение переменной i

while @i < 10000000   -- создаем цикл, пока i меньше миллиарда выполнять то что между begin и end
begin
set @i = @i + 1;   -- каждый проход цикла увеличивает переменную i на единицу
create table dbo.URtest   -- создаем новую таблицу в БД
(column_name char(99) not null,
column_int int not null,
column_name2 char(50) not null);

insert into dbo.URtest (column_name, column_name2, column_int) select UserName, UserName, UserID from dbo.UR;   -- переносим в новую таблицу данные из существующей таблицы

drop table dbo.urtest;   -- удаляем новую таблицу
end;
 
Включение поддержки FILESTREAM для Blob Storage Печать

FILESTREAM - это фича SQL сервера 2008, которая поддерживает BLOB файловое хранилище.

 

Включаем FILESTREAM на Microsoft SQL Server 2008 R2

  1. Открываем оснастку "SQL Server Configuration Manager". Start -> Programs -> Microsoft SQL Server 2008 R2 -> Configuration Tools -> SQL Server Configuration Manager
  2. Переходим на "SQL Server Services", правой кнопкой на экземпляр "SQL Server (MSSQLSERVER)" -> Свойства
  3. На вкладке "FILESTREAM" проставляем галочки "Enable FILESTREAM for Trasact-SQL access", "Enable FILESTREAM for file I/O streaming access" и если необходимо "Allow remote clients to have streaming access to FILESTREAM data"