Задать вопрос
  • Как работает белый список интернета?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Под отключением мобильного интернета понимается не то, что перестанет работать канал цифровой связи, а то, что любые попытки соединиться с адресом, не входящем в белый список, будут безусловно дропаться.
    Обойти их, в т.ч. через VPN, не получится. По той простой причине, что твой VPN-сервер не входит в белый список, и ты не сможешь соединиться с ним и установить канал.
    Ответ написан
  • Как перенести Windows Server на другое железо?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Во-первых, начните с ПОЛНОГО бэкапа сервера на старой машине, причём при загрузке с ДРУГОЙ операционной системы. Оптимальный вариант - вообще сделать зеркальную копию накопителя. Или накопителей, если их для загрузки используется несколько.

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

    Далее - отключите всё, что стартует НЕ с этого накопителя. Службы, приложения автозагрузки, файлы подкачки и прочее. На всех сетевых интерфейсах уберите статическое назначение адресов, ещё лучше - дополнительно отключите их в центре управления сетями. После отключения проверьте, что сервер нормально стартует при физически отключенных всех остальных накопителях и сетевых интерфейсах.

    Теперь перенесите накопитель на новое железо и запустите там. Сперва в безопасном режиме. Если обнаружится недостаток каких-то базовых драйверов, из тех, что грузятся в safe mode - доустановить. После этого грузиться в обычном режиме и убирать все проблемы из диспетчера оборудования.

    Финально настройте все новые сетевые интерфейсы, подключите остальные накопители, раздайте соответствующие буквы и включите всё ранее отключенное из программного. Убедитесь, что сервер стартует нормально и его функционал работает в полном объёме.

    Конечно, бывают случаи, когда задача вообще не решается. Скажем, жёсткая привязка к оборудованию (привет, один-эс). Или радикальная смена платформы - тут иногда помогает переустановка сервера поверх с сохранением. Но обычно если начались проблемы, то их видимое решение на самом деле просто загоняет их вглубь, а когда и чем аукнется, неизвестно.
    Ответ написан
    1 комментарий
  • Почему у некоторых таблиц Update_time равен null?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Не используйте этот функционал, он, даже когда даёт ответ, всё одно плюс-минус лапоть.

    Если задача - точно фиксировать время изменения данных, а автообновляемого поля штампа времени в структуре нет, используйте триггерную логику.
    Ответ написан
    3 комментария
  • Как открыть порт на Windows Server?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Чтобы пришедший из интернета на внешний интерфейс сервера пакет был сервером перенаправлен на компьютер внутри локальной сети, необходимо настроить маппинг этого порта на внешнем интерфейсе. Это делается командой
    netsh interface portproxy [параметры маппинга]

    Но я абсолютно согласен со всеми комментариями к вопросу - выставление Windows Server голой жопой напрямую в Интернет есть абсолютно [censored] идея. Тем более когда эту процедуру выполняет человек, не имеющий даже базовых знаний по теме (сетевой) безопасности.
    Ответ написан
    5 комментариев
  • Возможно ли в UPDATE "видеть" результат обновления предыдущих строк?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Пример возможной реализации. Демонстрация логики.

    1. Создание тестовой таблицы

    CREATE TABLE PDIndicatorsHistory 
    (
    	RecId int PRIMARY KEY IDENTITY(1,1),
    	ItemId int,
    	ReportDate datetime,
    	PD int
    );
      
    INSERT INTO PDIndicatorsHistory (ItemId,ReportDate,PD) VALUES
    (1, '2025-07-06', 2), (1, '2025-07-07', NULL), (1, '2025-07-08', NULL);
    
    SELECT * FROM PDIndicatorsHistory;


    2. Создание функции

    CREATE FUNCTION dbo.GetPD 
    (
        @prev_RecId INT,  -- идентификатор предыдущей записи, её исходное состояние
        @next_RecId int,  -- идентификатор текущей записи, её исходное состояние
        @prev_PD INT      -- значения отдельных полей обновлённой предыдущей записи
    )
    RETURNS int
    AS
    
    BEGIN
    -- требуемая сложная логика, опирающаяся на идентификаторы текущей и предыдущей записей
    -- что позволяет получить значения полей записей ДО запуска SELECT или там UPDATE,
    -- а также на значения полей модифицированного состояния предыдущей записи, переданных по отдельности
        RETURN @prev_PD * 2;
    END;


    3. Обновление

    WITH
    -- первый CTE, просто нумерует записи по возрастанию даты для каждого ItemId отдельно
    cte1 AS (
        SELECT *, ROW_NUMBER() OVER (PARTITION BY ItemId ORDER BY ReportDate ASC) rn
        FROM PDIndicatorsHistory
        ),
    -- рекурсивно обрабатываем записи в порядке возрастания номера
    cte2 AS (
        SELECT RecId, ItemId, ReportDate, PD, rn
        FROM cte1
        WHERE rn = 1 -- начинаем с первой
        UNION ALL
        SELECT cte1.RecId,
               cte1.ItemId,
               cte1.ReportDate,
               dbo.GetPD(cte2.RecId, cte1.RecId, cte2.PD),
               cte1.rn
        FROM cte1
        JOIN cte2 ON cte1.ItemId = cte2.ItemId
                 AND cte1.rn = cte2.rn + 1 -- а потом вторая, третья... пока не кончатся
        )
    -- посчитав значения, которые нужно использовать при обновлении, выполняем само обновление
    UPDATE PDIndicatorsHistory
    SET PD = cte2.PD
    FROM cte2
    WHERE PDIndicatorsHistory.RecID = cte2.RecId;


    fiddle

    PS. Почему так сложно? Такова логика UPDATE (транзакции, роллбэки - по-другому никак). Сначала подготовить новое состояние для ВСЕХ модифицируемых записей, а потом выполнить их фактическое обновление. И соответственно SELECT к таблице внутри функции обращается к исходному состоянию таблицы, ему пофиг, что запись, к которой ты обращаешься, ПОДГОТОВЛЕНА к модификации. Она ещё не модифицирована.
    Ответ написан
    7 комментариев
  • RRPPP принципиально ли направление primary/secondary портов на транзитах?

    @Akina
    Сетевой и системный админ, SQL-программист.
    В RRPP primary/secondary имеют значение только на мастер-коммутаторе, потому что primary только шлёт, а secondary только принимает. На транзитных коммутаторах health-пакеты просто безусловно коммутируются/пропускаются в обоих направлениях, то есть прописанный для порта primary/secondary элементарно игнорируется. А поскольку в каждом кольце только один мастер-коммутатор, то в режиме штатной работы совершенно неважно, как прописаны на портах роли.

    Правильная цепь ролей начинает иметь значение только при нештатных ситуациях на мастере. Ну и при перестройке топологии "на горячую".
    Ответ написан
  • Как в выборке sql обратиться к предыдущей записи?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Я просто вставляю order by date (поле даты) и забираю последнюю строчку.

    Глупо.

    Используй ORDER BY date DESC - и тогда можно, во-первых, брать первую строку, а не мотать вниз до последней, во-вторых, нужная "предыдущая" строка при обратной сортировке будет "следующая" - ну то есть вторая.

    PS. Дата - ненадёжный критерий сортировки. За один день комп могут сдать на склад и выдать другому товарищу - и будешь ты гадать, какая из двух записей актуальная, а какая для неё предыдущая. Я уж не говорю о вводах и корректировках "задним числом".
    Ответ написан
    1 комментарий
  • Как протянуть оптический линк между двумя соседними домами?

    @Akina
    Сетевой и системный админ, SQL-программист.
    либо взять готовый патчкорд, что мне более предпочтительно, но тогда вопрос, пролезут ли коннекторы...

    Если нужен ОДИН линк - то это предпочтительное решение.

    Коннекторы FC/SC/ST/etc. без проблем протягиваются через 20-ю гофру, а LC - даже через 16-ю. Одиночный разъём, само собой, если патч дуплексный, разберите его и протягивайте по одному волокну. Но, если возможно, лучше используйте не гофру, а 20-мм трубу для электропроводки.

    Берите патч как минимум с 2 метрами запаса. Лучше большое кольцо на одной из сторон, чем натянутый патч.

    какая оптика с какими коннекторами?

    Смотрите коннекторы на сетевых картах или SFP+ модулях. Если есть возможность выбирать - берите с ферулой 2,5 (обычно это FC). Полировка - предпочтительно UPC.

    Модули SFP+ должны соответствовать как типу волокна патча, включая тип полировки, так и быть совместимы со свичами.

    Я бы рекомендовал SM (одномодовое) волокно и WDM-модули (работающие по одному волокну, покупаются строго комплементарной парой). Но тут уж на вкус и цвет...

    какие могут быть неочевидные ламеру нюансы?

    Хренова гора...
    Ответ написан
    Комментировать
  • От чего зависит время пинга?

    @Akina
    Сетевой и системный админ, SQL-программист.
    На самом деле время пинга складывается из нескольких составляющих. Основные две из них:

    - время, которое тратится промежуточными узлами на передачу до пингуемого узла и обратно;
    - время, которое пингуемый узел тратит на обработку запроса и формирование/отправку ответа.

    Именно это порождает порой забавные артефакты. Смотришь трассировку, и видишь, что пинг промежуточных узлов в основном медленно растёт по мере их удаления, но встречаются случаи, когда время пинга следующего узла меньше, чем предыдущего. А всё просто - предыдущий узел перегружен функциями, ответ на пинг имеет наименьший приоритет, потому узел сперва сделал всё нужное, и только потом ответил. А порой и не ответил вообще, или отвечает через раз.

    Что самое противное, ни одну из этих составляющих нельзя измерить надёжно. А тебя по большому счёту, интересует только первая из названных составляющих. Даже на время реакции целевого, конечного, узла можно начхать - на TCP/UDP он будет реагировать гораздо шустрее, чем на пинг, а если будет тормозить, то отвечающий софт, а не передача.

    А на скорость передачи не заморачивайтесь. Пакетики в пинге короткие, частота передачи высокая, так что время передачи пакета от узла к узлу по медному или оптическому кабелю в подавляющем большинстве случаев просто меньше точности измерения времени.
    Ответ написан
    Комментировать
  • Как настроить IP DNS-сервера в локальной сети Windows?

    @Akina
    Сетевой и системный админ, SQL-программист.
    У меня неправильные настройки?

    Да. При переключении настройки вообще не следовало трогать. В обоих схемах дефолтный шлюз и DNS должны быть 192.168.0.1.
    Что до DHCP-сервера - на вторичном роутере его следует вообще выключить. Либо настроить на диапазон адресов, который не пересекается со скопом первого роутера, и в качестве шлюза/DNS отдавать адрес не свой, а именно первого роутера.
    Ответ написан
  • Как правильно подключить две сети к интернету, по отдельным IP одной подсети?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Через два из них должны подключатся к интернету две разные, внутренние, физически непересекающиеся сети.

    Вы фактически хотите объединить две физически изолированные сети? Вы уверены в том, что делаете? Если этот вопрос контролируется соотв. службой, вы сильно рискуете...
    Гораздо разумнее запросить от провайдера второй порт подключения (с изоляцией портов) и поставить отдельную железку.
    Ответ написан
  • Как настроить trunk порты на коммутаторе Eltex MES2424?

    @Akina
    Сетевой и системный админ, SQL-программист.
    как лучше и корректней настраивать trunk порты на данных коммутаторах?

    Настраивать нужно так, как вам требуется.
    Trunk - транковый (tagged only).
    Access - клиентский (untagged only).
    General - гибридный режим (tagged + untagged).
    Параметр default-vlan устанавливает, в каком режиме работает default VLAN (по умолчанию VLANID = 1).

    Руководство по эксплуатации, страницы 86-88.

    в интернете и на форумах Eltex увидел

    Консультироваться в Инете, не прочитав документацию - одна из самых не очень умных вещей...
    Ответ написан
    6 комментариев
  • Как отработать EXTRACT(epoch FROM MAX(null))?

    @Akina
    Сетевой и системный админ, SQL-программист.
    может есть вариант функции "EXTRACT" способный обрабатывать значение Null

    Вотще! Это забота программиста - обеспечить корректное значения параметра.
    SELECT EXTRACT(epoch FROM COALESCE( MAX(t.date_x), {default datetime literal} )) 
    FROM T

    Если очень надо- можно ещё сверху NULLIF() наслоить.

    Альтернативное решение - явное приведение типа:
    SELECT EXTRACT(epoch FROM CAST( MAX(t.date_x) AS TIMESTAMP)) 
    FROM T
    Ответ написан
  • Как в Excel изменить область действия именованного диапазона?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Имена хранятся в коллекциях по имени Names. Для книги и листа соответственно это Workbook.Names и Worksheet(idx).Names.

    Желаемое действие - изменение области,- на самом деле потребует ПЕРЕМЕЩЕНИЯ объекта из одной коллекции в другую. Т.е. удалить из одной коллекции и добавить в другую. К тому же в ходе этого процесса существует потенция ошибки дублирования имени - ведь в пределах коллекции ключ (т.е. в пределах области имя) должен быть уникальным.

    Как итог - изменения области действия имени диапазона просто не существует. Так что всё руками... отдельно прибить на старом месте, отдельно создать на новом.
    Ответ написан
    Комментировать
  • Как организовать доступ между двумя подсетями в одном стеке коммутаторов?

    @Akina
    Сетевой и системный админ, SQL-программист.
    На PC-1 установлена 1 сетевая карта Realtek GBe Gaming Family Controller, поддерживающая VLAN (утилитой Realtek Ethernet Diagnostic Utility задали второй IP для компа - из подсети видео 172.16.99.*).

    Сейчас найти карту, которая поддерживает VLAN, проще, чем карту, которая НЕ поддерживает.

    Основной вопрос - поддерживает ли ваша карта multi-VLAN? Или иначе - после установки REDU, её запуска и выбора в левом окне вашей сетевой карты - появляется ли в среднем окне в дереве пункт VLAN?

    Если нет, то всё плохо, и простого решения нет.

    Если пункт есть, то всё элементарно:
    1. Перенастроить порт свича к этой сетевой карте в режим транка, и включить его в оба VLAN в режим tagged.
    2. С помощью REDU создать два указанных VLAN на сетевой карте. Рекомендую каждому VLAN присвоить вручную VMAC из диапазона незарегистрированных, и чтобы последние 4 цифры указывали на VLANID.
    3. В свойствах сетевых подключений для каждого подключения установить требуемый адрес.
    Ответ написан
  • Как настроить автоматическое заполнение планов в таблице по дате из другой таблицы?

    @Akina
    Сетевой и системный админ, SQL-программист.
    C7=HLOOKUP($B$5;'Планы'!$B$6:$I$11;row()-5;false)
    6802b292363d1080348760.png
    Ответ написан
  • Что будет если в сети подключить 2 коммутатора с одинаковыми IP?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Сети похрен. Коммутаторам тоже похрен.

    Единственным последствием дублирования адресов будет то, что, подключаясь к коммутатору по адресу, ты не сможешь предугадать, к какому из них подключишься. И бесполезно надеяться, что это будет ближайший. Более того, в процессе работы с коммутатором сеанс может развалиться, потому что неожиданно произойдёт переключение на другой коммутатор.

    Всё это проверено практикой. Обычное дело, когда наводишь порядок в сети с кучей ненастроенных коммутаторов. Сперва подключаешься быстренько к кому-нибудь, резко меняешь ему IP, запоминая МАС, и надеешься, что именно в этот момент не произойдёт "смена лидера" (именно поэтому никаких веб-интерфейсов, только телнет). А потом, избавившись от дубляжа, по ARP-таблицам, списку активных портов и прочим признакам (например, модель коммутатора или тип свистка, FC или FX, в комбо-порте) пытаешься понять, кто есть ху.

    Это при условии, что адрес на коммутаторах не используется активно - скажем, как промежуточный узел маршрутизации на L2+ или L3 коммутаторе. А если используется - то обычные проблемы дублирования встанут в полный рост.
    Ответ написан
    3 комментария
  • Какая скорость передачи отдельного пакета по сети?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Как скорость передачи отдельного пакета может быть 100 Гбит/, если этот пакет передается в потоке со скоростью 50 Гбит/с?

    Элементарно. Ограничение скорости отдельного потока в канале - оно внешнее по отношению к скорости передачи данных в канале. За счёт конкуренции, шейпинга, приостановки средствами управления потоком... то есть канал половину времени передаёт данные потока со скоростью 100Гбит, а вторую половину или передаёт что-то другое, или ничего не делает, только держит несущую. А сама скорость в канале постоянна и неизменна.
    Ответ написан
    Комментировать
  • Что делать, если не устанавливается mysql server 9.2?

    @Akina
    Сетевой и системный админ, SQL-программист.
    Я не смог найти оригинальный дистрибутив windows 10

    https://massgrave.dev/genuine-installation-media
    Ответ написан
  • Как включить скрытую кнопку Общий доступ в новых версиях Excel?

    @Akina
    Сетевой и системный админ, SQL-программист.