Еще немного полезных SQL-скриптов (Скрипты для SQL-Server - Часть 3)

Публикация № 807843 29.03.18

Администрирование БД - HighLoad оптимизация

Представляю вашему вниманию заключительный вебинар из цикла вебинаров по скриптам для MS SQL-сервера.

 

Видео в формате вебинара:

 

 

Ну и, непосредственно, сами разобранные в вебинаре скрипты под спойлерами ниже. Все переменные собраны в соответствующем блоке в начале скриптов. Для отправки электронной почты используется предварительно настроенный профиль электронной почты компоненты DataBase Mail. О настройке компоненты можно прочитать, например, здесь. Все скрипты много раз опробованы в бою и протестированы на версиях MS SQL 2008, 2012, 2016.

 

Скрипт, очищающий таблицы указанной базы данных:

 

 

Скрипт, очищающий таблицы нескольких баз данных (по определенному условию):

 

 

Перевод в простую модель восстановления и сжатие указанной базы данных:

 

 

Перевод в простую модель восстановления и сжатие нескольких баз данных (по определенному условию):

 

 

Перевод в простую модель восстановления и сжатие только файлов журнала транзакций нескольких баз данных (по определенному условию):

 

 

Скрипт, показывающий все соединения с сервером SQL:

 

 

Скрипт, показывающий версию сервера SQL:

 

 

Эти и другие скрипты доступны также в репозитории: https://github.com/Tavalik/SQL_TScripts

Все вебинары по скриптам для SQL:

  1. Автоматизируем перезаливку баз (Часть 1): //infostart.ru/public/799857/
  2. Регламентные операции с индексами в MS SQL Server (Часть 2): //infostart.ru/public/803209/
  3. Еще немного полезных SQL-скриптов (Часть 3): //infostart.ru/public/807843/

 

Скачать файлы

Наименование Файл Версия Размер
Все скрипты в одном архиве (часть 3)

.zip 10,20Kb
16
.zip 10,20Kb 16 Скачать

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. пользователь 29.03.18 19:49
Сообщение было скрыто модератором.
...
2. Akbis 53 02.04.18 21:31 Сейчас в теме
Может вместо delete стоит делать truncate?

А так спасибо за скрипты.
3. Tavalik 2686 03.04.18 06:28 Сейчас в теме
(2)
В вебинаре delete, но в самих скриптах я уже давно на truncate поменял.

Спасибо за комментарий.
4. serferian 26 04.04.18 08:25 Сейчас в теме
Пользуйтесь, не надо придумывать велосипед
1. поддержка баз (переиндексирование, перестройка, бакап рестор и прочее) https://ola.hallengren.com/
все с примерами и легко вешается в задачи sql.
2. монитор активности: whoisactive
h00k; Aleksey.Bochkov; +2 Ответить
7. vis_tmp 31 14.01.20 08:09 Сейчас в теме
5. Milanick 04.04.18 09:14 Сейчас в теме
Коллеги, можете подскажите советом , куда капнуть?

Задача "Проверка целостности базы данных" (W2008R2) Проверить целостность базы данных Соединение с локальным сервером Базы данных TEMP_FG Включить индексы Начало задачи: 2018-03-25T19:00:01.
Конец задачи: 2018-03-25T19:07:52.
Ошибка:(-1073548784) Сбой выполнения запроса "DBCC CHECKDB(N'TEMP_FG') WITH NO_INFOMSGS " со следующей ошибкой: "Экстент (1:8488) в базе данных с идентификатором 7 размещен несколькими объектами размещения.
Экстент (1:8528) в базе данных с идентификатором 7 размещен несколькими объектами размещения.
Экстент (1:8488) размещен в "Unknown" и по крайней мере еще одном объекте.
Экстент (1:8528) размещен в "Unknown" и по крайней мере еще одном объекте.
На страницу карты распределения индекса (IAM) (1:64493) указывает предыдущий указатель IAM-страницы (1:6378) в объекте с идентификатором 0, идентификатор индекса -1, идентификатор секции 0, идентификатор единицы размещения 72060067471556608 (тип Unknown), но это не было обнаружено в ходе просмотра.
Экстент (1:8488) размещен в "dbo.Config, PK__ConfigNG__589E6EED4499BB57" и по крайней мере еще одном объекте.
Экстент (1:8528) размещен в "dbo.Config, PK__ConfigNG__589E6EED4499BB57" и по крайней мере еще одном объекте.
CHECKDB обнаружил 5 ошибок размещения и 0 ошибок согласованности, не связанных ни с одним объектом.
CHECKDB обнаружил 2 ошибок размещения и 0 ошибок согласованности в таблице "Config" (идентификатор объекта 1118925541).
CHECKDB обнаружил 7 ошибок размещения и 0 ошибок согласованности в базе данных
repair_allow_data_loss - это минимальный уровень исправления для ошибок, найденных DBCC CHECKDB (TEMP_FG).". Возможные причины сбоя: проблемы с этим запросом, свойство "ResultSet" установлено неправильно, параметры установлены неправильно или соединение было установлено неправильно.
6. ecstazi 01.03.19 13:25 Сейчас в теме
Всё отлично,можно ли добавить в скрипт в конец перевод в полную модель восстановления
Оставьте свое сообщение

См. также

Многопоточная обработка данных Промо

HighLoad оптимизация Инструменты администратора БД v8 v8::УФ 1cv8.cf Абонемент ($m)

Конфигурация "Универсальные механизмы: пакеты данных". Набор инструментов для быстрой организации отказоустойчивой многопоточной обработки данных.

1 стартмани

23.11.2018    34658    127    _ASZ_    17    

Нагрузочный тест для базы данных 1С (обычные формы)

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Универсальный нагрузочный тест для баз данных 1С. Позволяет оценивать производительность работы в конкретной базе данных при подборе параметров сервера. Тест производит циклическое перепроведение документов и замер скорости на каждом цикле. Выбирается интервал документов и виды документов для перепроведения.

1 стартмани

27.12.2021    1982    4    Miket78    4    

Блокировки SQL базы данных 1С 7.7

HighLoad оптимизация v7.7 1cv7.md Абонемент ($m)

Конфигурация на 1С 7.7, показывающая блокировки на MS SQL сервере и доменных пользователей по SPID. Используется 1С++ и классы.

1 стартмани

09.11.2021    2239    5    ShoDm    15    

Обработка данных в фоновых потоках

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Выполнение заданных действий над выбранными данными в фоновых заданиях.

3 стартмани

30.10.2021    2823    4    MaxxiMiliSan    4    

Мониторинг здоровья MS SQL Server Промо

HighLoad оптимизация Абонемент ($m)

Описывается очередной изобретенный "велосипед" для мониторинга здоровья MS SQL Server, который мы используем в glassdoor.com - втором крупнейшем в США сайте для соискателей работы.

1 стартмани

23.10.2018    11927    12    Aleksey.Bochkov    2    

Изыскания на тему записи в регистр сведений

HighLoad оптимизация v8 Платформа 1C v8.2 1cv8.cf Абонемент ($m)

Уважаемые коллеги, здравствуйте! Сегодня хочу поделиться с Вами своими изысканиями на тему записи в регистр сведений в контексте оптимизации одной операции. Однажды мы столкнулись со следующей проблемой: поступили жалобы от разработчиков сайта, что наш веб-сервис очень медленно реагирует, точней, обработка запроса не укладывается в таймаут 5 секунд, и сайт получает ошибку 500. Стали разбираться, и вот что выяснили.

1 стартмани

21.09.2021    7243    0    METAL    57    

Сравнение замеров производительности

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Бывают ситуации, когда необходимо быстро определить, в чем разница при выполнении, например, проведения документа. Я обычно для решения данной задачи использовал два замера и сравнивал в коде. Это помогало при небольшом количестве строк кода, но, когда их тысячи, или сотни тысяч, проще воспользоваться обработкой, которая позволяет находить различия в замерах производительности.

2 стартмани

06.09.2021    2136    2    17808849    4    

Где баланс между производительностью и возможностями программы ? Исправление автоподбора контрагента в УНФ

Рефакторинг и качество кода HighLoad оптимизация Адаптация типовых решений v8 УНФ Россия УУ Абонемент ($m)

Как и у многих ко мне стали поступать обращения от менеджеров о медленной работе 1с (эта ваша один с не дает нормально работать), и чтоб быть объективным, и не основываться на человеческом, субъективном восприятии решил вооружиться цифрами, а именно произвести анализ медленных запросов, и проблема была найдена, где я ее не ожидал.

1 стартмани

27.08.2021    3285    0    con-men    0    

SQL сервер 2008: обслуживание, анализ производительности Промо

HighLoad оптимизация Абонемент ($m)

Полезные скрипты и запросы для SQL 2008: обслуживание, анализ производительности. Файл со всеми скриптами во вложении.

1 стартмани

23.10.2014    79552    100    jan27    63    

Просмотр файлов технологических журналов 1С (WinAPI)

HighLoad оптимизация Технологический журнал v8 Россия Абонемент ($m)

Программа просмотра файлов технологических журналов 1С (WinAPI). Работает с большими файлами. Минимальное потребление памяти при индексировании данных, просмотре. Анализ управляемых взаимоблокировок, таймаутов, ожиданий. Фильтры по событиям, периоду, пользователям, соединениям, сеансам.

1 стартмани

24.08.2021    3487    12    sdf1979    2    

Как 1С всю оперативную память съел...

HighLoad оптимизация v8 ЗУП3.x Россия Абонемент ($m)

В данной статье рассматривается обход (средствами встроенного языка) ошибки: "Превышен максимальный расход памяти сервера за один вызов" при рассылке расчетных листков в ЗУП 3.1 250+ сотрудникам.

1 стартмани

17.06.2021    6292    5    iD1n    0    

ЦУП 2.1.6 Исправленная обработка выгрузки метаданных для платформы 8.2

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Обработка предназначена для ЦУП 2.1.6. Исправленная типовая обработка для выгрузки метаданных для конфигурацию, работающих на платформе 8.2 (в т.ч. в режиме совместимости).

1 стартмани

04.03.2021    3002    1    SpecRam    0    

Регламентные операции с индексами в MS SQL Server (Скрипты для SQL-Server - Часть 2) Промо

HighLoad оптимизация Абонемент ($m)

В данном вебинаре я расскажу о том, что такое индексы, зачем они нужны, какие регламентные операции необходимо выполнять с индексами, а также будут приведены соответствующие скрипты (для MS SQL-Server) для обслуживания индексов баз данных.

1 стартмани

22.03.2018    40439    30    Tavalik    10    

Мастер создания копии информационной базы для отчетности

HighLoad оптимизация Администрирование СУБД v8 1cv8.cf Абонемент ($m)

Прототип инструмента для подготовки реплики в режиме только для чтения к использованию. Позволяет использовать "read-only" реплики как обычные информационные базы 1С.

10 стартмани

28.08.2020    11780    12    YPermitin    13    

Транслятор запросов 1С в SQL

HighLoad оптимизация Администрирование СУБД Запросы v8 v8::Запросы 1cv8.cf Абонемент ($m)

Инструмент для трансляции запросов платформы 1С в SQL, а также их диагностики.

10 стартмани

07.01.2020    33543    285    YPermitin    89    

Быстрая реструктуризация базы данных

HighLoad оптимизация v8 v8::УФ 1cv8.cf Россия Абонемент ($m)

Внешняя обработка для быстрой реструктуризации клиент-серверной базы данных. Способ ускорения реструктуризации - замена таблиц большого объема пустыми копиями перед проведением обновления БД и возврат к исходным таблицам после обновления с предварительной корректировкой их структуры. Полностью автоматизировано создание и выполнение всех требуемых скриптов SQL. Представлены версии обработки для обычных форм (1С:Предприятие 8.2 (8.2.19.130)) и управляемого приложения (1С:Предприятие 8.3 (8.3.9.1818)).

1 стартмани

05.11.2019    27907    126    dmitrydemenew    39    

Версионирование объектов. Сжатие регистра "ВерсииОбъектов" Промо

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Cжимаем версии объектов в регистре сведений "ВерсииОбъектов". Экономия занимаемого версиями объектов объема более 50% !!!

1 стартмани

30.12.2014    31737    44    ZLENKO    14    

Влияние БСП на производительность базы 1С с добавленными метаданными

HighLoad оптимизация Адаптация типовых решений БСП (Библиотека стандартных подсистем) v8 УТ11 Абонемент ($m)

Повод для статьи — заметное снижение быстродействия при переводе учета с УТ 11.1 на 11.4 по «нашим» не стандартным метаданным (регламенты работы с массовым заполнением/проведением документов/регистров). Предварительно причину увидел во влиянии БСП. Была создана тестовая подсистема, быстродействие которой оцениваем в демобазе "Управление торговлей". С включенными и выключенными подписками БСП.

5 стартмани

04.11.2019    11309    4    VsHome    1    

Оптимизация прав ролей

HighLoad оптимизация Роли и права v8::УФ v8::Права 1cv8.cf Россия Абонемент ($m)

Решение вопроса по неоптимальной настройке (избыточной) ролей, влияющей на производительность системы (потребление оперативной памяти). Алгоритм работы следующий: Выгрузка конфигурации в файлы - Обработка (изменение) файлов прав ролей - Загрузка измененных прав в конфигурацию. Проверено на платформе начиная с 8.3.12.

1 стартмани

09.09.2019    46781    11    toxilamer    11    

Бухгалтерия 3.0: медленная работа при загрузке данных контрагента по ИНН

HighLoad оптимизация v8 v8::БУ БП3.0 Россия Абонемент ($m)

Поиск и исправление медленной загрузки контрагентов по ИНН в Бухгалтерия 3.0.71.75.

1 стартмани

10.07.2019    8599    3    MaxxiMiliSan    4    

И снова о скорости работы 1с 8.х + тест от Гилева (конфигурация TPС_1C_GILV_A) + как Выбрать сервер для 1С 8.х Промо

HighLoad оптимизация v8 1cv8.cf Россия Абонемент ($m)

Предыстория: Есть в конторе, где я работаю, пара практически ОДИНАКОВЫХ по железу сервера... так вот заметили что на одном из них 1С 8.2 работает значительно быстрей что в Клиент-Серверном, что в файловом варианте... и что именно удивило так это что медленней работал сервер с большим количеством Оперативной памяти + RAID10 на SSD. Проводили много тестов на работу дисковой системы + различные тесты SQL - ВЫВОД: ничего непонятно где тормоза. И вот попала ко мне конфигурация 1С для оценки производительности 1С от Гилева http://infostart.ru/public/57204/ Подробности в Описании...

2 стартмани

13.08.2012    641154    657    sanfoto    2561    

Исправление долгого запуска БП 3.0.70 по причине большого количества платежек

HighLoad оптимизация v8 v8::БУ БП3.0 Россия Абонемент ($m)

Обработка исправления долгого запуска БП 3.0.70 по причине большого количества платежек.

1 стартмани

18.04.2019    8742    8    a_v_u    1    

Взаимодействие при редактировании одних и тех же данных [Расширение] УТ11

HighLoad оптимизация v8 УТ11 Россия Абонемент ($m)

Расширение позволяет взаимодействовать между пользователями в тех случаях, когда они пытаются редактировать одни и те же данные. Теперь пользователи могут согласовать между собой последовательность своих действий, а при необходимости – освободить данные, занятые другим пользователем.

2 стартмани

14.04.2019    9832    4    noprogrammer    1    

Тормозит УАТ 1.0? Простое решение, как ускорить

HighLoad оптимизация v8 1cv8.cf Автомобили, автосервисы Абонемент ($m)

Если тормозит УАТ 1.0, Вам сюда.

1 стартмани

21.02.2019    8988    1    KroVladS    4    

Исправление ЦУП 2.1.2

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Расширение для конфигурации Центр управления производительностью, редакция 2.1 (2.1.2.11), которое позволяет настроить регламентный мониторинг. Работает на платформе 1С:Предприятие 8.3 (8.3.13.1644).

2 стартмани

21.01.2019    9332    6    Neco    0    

Многопоточное тестирование производительности по методике APDEX (управляемые формы)

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Каждый у кого нет сервера, мечтает его купить, а те, у кого сервер есть, мечтают, чтобы он был быстрее. Но деньги на сервер выделяет руководство...

10 стартмани

09.01.2019    14077    22    capitan    32    

Решение проблемы быстродействия в ERP на рабочем примере

HighLoad оптимизация v8 ERP2 Абонемент ($m)

Рассмотрим практический пример оптимизации, определим последовательность действий и воспользуемся специализированными инструментами.

3 стартмани

18.12.2018    28990    230    ivanov660    24    

Очистка и обновление индекса полнотекстового поиска (регламентное задание)

HighLoad оптимизация v8 УНФ ДО БП3.0 УТ11 УХ ЗУП3.x Россия Абонемент ($m)

Обработка-регламентное задание позволяет в автоматическом режиме очищать и обновлять индекс полнотекстового поиска. Это необходимо делать для устранения проблем производительности на крупных базах. Подключаем в доп.обработках, задаем расписание выполнения на выходные и радуемся :)

2 стартмани

14.09.2018    33470    93    Kyrales    8    

Монитор блокировок пользователей

HighLoad оптимизация v8 v8::blocking 1cv8.cf Россия Абонемент ($m)

Анализ и автоматическое удаление блокировок

1 стартмани

17.08.2018    11017    25    Re:аниматор    7    

Ускорение отчета 'Контроль передвижений агентов (онлайн-карты)' от AgentPlus v1.5.2

HighLoad оптимизация Рабочее место v8 1cv8.cf Украина Абонемент ($m)

У пользователей системы AgentPlus (Агент Плюс) отчет 'Контроль передвижений агентов (онлайн-карты)' v1.5.2 вызывает восторг и разочарование одновременно. Восторг – потому, что позволяет увидеть маршрут передвижения пользователя системы с привязкой к карте и дорогам, разочарование – от длительности построения отчета. Отчет по 45 точкам маршрута у меня строится больше минуты. Тестировалось на "Управление торговым Предприятием" 1.2.45.2.

1 стартмани

03.05.2018    9612    3    DiegoLidabo    0    

Автоматизируем "перезаливку" баз (Скрипты для SQL-Server - Часть 1)

Архивирование (backup) v8 1cv8.cf Абонемент ($m)

Предлагаю вашему вниманию несколько SQL-скриптов (для MS SQL-Server) для автоматизации процесса резервного копирования и восстановления баз данных. Скрипты для восстановления позволяют "перезаливать" базы данных, т. е. восстанавливать одну базу из копий другой базы данных. Все скрипты формируют лог для вывода и при необходимости могут отправлять результат работы по электронной почте.

1 стартмани

15.03.2018    43886    25    Tavalik    18    

Следим за производительностью системы. APDEX, PowerShell, PRTG

HighLoad оптимизация Абонемент ($m)

Продолжаю делиться своими кастомными сенсорами для системы мониторинга PRTG.

1 стартмани

26.10.2017    16069    8    ddens    0    

Обработки  для проведения сценарного нагрузочного тестирования на примере конфигурации ЗУП версии 3.1.1.91

HighLoad оптимизация v8 1cv8.cf Украина Абонемент ($m)

Обработки предназначены  для проведения сценарного нагрузочного тестирования, включая  пример описанного  сценария  с обработками (epf) -  ГлавныйРасчетчик, Кадровик, Расчетчик, Табельщик. Обработка будет полезна прежде всего тому, кто внедряет решение на базе конфигурации 1С "Зарплата и Управления персоналом" с необходимостью воспроизвести определенный сценарий с заданным количеством пользователей для расчета, а также возможность посмотреть, какая будет при этом нагрузка на ваше оборудование и скорость выполнения операций с учетом блокировок СУБД. Также это будет интересно тем, кто хочет прощупать, как на практике пользоваться конфигурацией "Тест Центр", входящий в состав пакета 1С:КИП.

2 стартмани

15.09.2017    13086    29    podorojnii_ayu    1    

Перерасчет итогов регистра бухгалтерии в 1С

HighLoad оптимизация v8::БУ БП1.6 Россия БУ Абонемент ($m)

Вариант перерасчета итогов частями (помесячно), если при типовом пересчете 1С зависает.

1 стартмани

30.05.2017    20642    32    MarcoPolo3    7    

Просмотр заблокированных строк в 1С

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Ввиду своей деятельности, мне часто приходится рассказывать про различные аспекты оптимизации и в том числе про блокировки. Очень часто слушатели задают следующие вопросы: Как посмотреть в реальном времени, какие именно данные сейчас заблокированы? Как понять, что сейчас заблокировано в терминах 1С? Если гранулярность блокировки страница, как увидеть, какие данные в ней находятся? Раньше приходилось отвечать, что инструмента, который показывает все вышеописанное, сейчас просто нет. Но потом мне это надоело, и я решил сделать собственный инструмент, который позволяет ответить на все вышеописанные вопросы.

1 стартмани

25.10.2016    50518    920    Andreynikus    70    

Настройка PostgreSQL для работы в связке с 1С 8.х на платформе Windows Server 2012, объём БД более 200 Гб

HighLoad оптимизация Инструменты администратора БД v8 Россия Абонемент ($m)

Настройка бесплатной СУБД PostgreSQL для работы в связке с 1С 8.х на платформе Windows Server 2012 х64. Объём БД более 380 Гб для мощного сервака. Конфигурация КА 1.1.108.2, 50 пользователей. Более 1 млн. проводок при закрытии месяца. Время закрытия месяца сравнимо с MSSQL и составляет в среднем 2 часа. Время отмены закрытия месяца - всего 10 минут! Ликвидированы зависания PostgreSQL. Всё за счет настроек файла postgesql.conf.

1 стартмани

11.10.2016    105119    86    vsasav    48    

Оптимизация расчета себестоимости выпуска продукции (УПП 1.3, Партионный учет)

Производство готовой продукции (работ, услуг) HighLoad оптимизация v8 УПП1 БУ Абонемент ($m)

В результате выполненных доработок удалось уменьшить время проведения Регламентной операции "Рассчитать себестоимость (БУ, НУ)" в два и более раза, а в отдельных операциях (Распределение продукции и затрат по переделам) удалось достичь 7-ми кратного уменьшения времени проведения!

1 стартмани

23.08.2016    20369    34    linkov    23    

Средство поиска "узких мест" при проведении документов

HighLoad оптимизация v8 1cv8.cf Россия Абонемент ($m)

Обработка и добавляемые в конфигурацию коды для ведения простой для понимания статистики времени проведения документов. Пригодно для разных конфигураций на платформе 8.2

1 стартмани

31.05.2016    14745    4    ibs10    12    

Просмотр структуры БД, парсинг запросов SQL

Статистика базы данных HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Получение некоторых данных о БД и сеансе, просмотр внутренней структуры таблиц БД 1С в SQL, "перевод" запросов SQL в терминологию 1С. Чуть больше, чем "ПолучитьСтруктуруХраненияБазыДанных"; чуть удобнее, чем аналоги; чуть другая, чем КИП.

1 стартмани

26.02.2016    36169    265    Yashazz    15    

Поиск в динамическом списке (по части строки): попытка оптимизации

HighLoad оптимизация v8 УТ10 Россия УУ Абонемент ($m)

И все же в этом черном ящичке (динамическом списке) есть узкие места, которые влияют на производительность. Попробую описать пойманные места. Запросы в динамическом списке просты, с одной основной таблицей и без фактических соединений на уровне языка 1С.

1 стартмани

24.11.2015    26009    2    logarifm    5    

Фиксируем SPID для отслеживания в SQL Profiler

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Для разбора запросов бывает полезным использовать SQL Profiler. При настройке выборки событий предлагаю дополнительно наложить еще один фильтр по полю SPID.

1 стартмани

22.09.2015    20706    25    break    3    

Обработка-сценарий нагрузочного тестирования для тест-центра

HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Данная обработка реализует сценарий пользовательского проведения документов

1 стартмани

26.08.2015    17301    33    acsent    1    

Скорость проведения документов

Обработка документов Статистика базы данных HighLoad оптимизация v8 1cv8.cf Абонемент ($m)

Отчет служит для анализа скорости проведения документов

1 стартмани

11.06.2015    16088    20    Fox-trot    9