Задать вопрос
  • Dinstint по условию, возможно?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    SELECT 'test' FROM `messages` WHERE `sender`=1 or `receiver`=1 order by time DESC

    Подзапрос:
    SELECT MAX('id') FROM `messages` WHERE `sender`=1 or `receiver`=1


    Принцип диалогов в ВК
    Пока вы не приведёте (важнее даже для себя) задачу в терминах БД ничего не получится.
    Ответ написан
    3 комментария
  • Почему плохое качество интернет соединения при высоком уровне Wi-Fi сигнала?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Operating Frequency: 2.4GHz
    Почему не купили RT-AC51U с 5GHz?
    Ответ написан
    Комментировать
  • [Mssql2012] Как правильно составить рекурсивное выражение?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    данные выбирать, как дерево
    Кроме прочих вариантов я использую такой трюк: создаю временную таблицу — список узлов. Делаю из неё курсор. Далее перебираю по порядку, добавляя для каждого узла дочерние в конец этой таблицы. В результате имеем полный список.

    Уточнение:
    если убрать эту строку, то всё работает
    "Дерево" не должно иметь ссылки узла на самого себя.
    Ответ написан
    1 комментарий
  • VirtualBox - Автозапуск гостевых машин в Windows 10?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    без авторизации в Windows.
    Нельзя, так как VirtualBox держит свои VM в профиле пользователя.
    автозапуск
    Диспетчер задач — запуск vbox-файла.
    И ещё
    Хост Win 10, установлена VirtualBox. Как настроить автозапуск гостевых машин (отдельных)?
    Hyper-V позволяет запускать VM при запуске ОС, без входа в учётную запись.
    Ответ написан
    1 комментарий
  • Как выбрать правильное количество ОЗУ?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Просто кажется что большое количество оперативной памяти надо только для серверов.
    На рабочих станциях позволяет, например, отказаться от файла подкачки.
    Ответ написан
  • Как задать размер поля в представлении ms sql?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    CAST( [FIELDvarchar(20)] AS varchar(50))
    Ответ написан
    3 комментария
  • Как получить смарт хардов всех доменных пк?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    У много раз писал: если вам нужна инвентаризация в сети используйте соответствующие программы, например, бесплатный Spiceworks Inventory (Хабрахабр).

    Общий вид (шкала времени):
    913900cb2cfe4afdaf0e136e830ade8e.png

    Закладка про диски:
    64d732486a5f4ebeb085a76d84b035c8.png
    Ответ написан
    5 комментариев
  • Как залить большой файл с торрента на облако напрямую?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Как залить большой файл с торрента на облако напрямую?
    Установить в облаке торрент-клиент.
    Ответ написан
    5 комментариев
  • Какие есть хорошие программы для ограничения работы за компьютером?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Встроенный "Родительский контроль" (Windows — точно).
    Ответ написан
    Комментировать
  • Проблема с видеокартой?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Радиатор видео горячий - держать палец невозможно
    Это перегрев — чистите вентилятор, уберите программы "оптимизации" охлаждения или соответствующие настройки в драйвере (BIOS видео тоже) приведите в состояние по-умолчанию..
    Ответ написан
  • Как сгенерировать целочисленный уникальный ID для многопользовательской системы?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Используйте диапазоны для пользователей (как это делается при репликации для каждой реплики) или префикс.
    Ответ написан
    Комментировать
  • Запуск cmd получив список с txt, как?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    мне надо получить список установленных программ
    Используйте бесплатный Spiceworks Inventory.
    Ответ написан
    Комментировать
  • На какие параметры нужно обращать при выборе монитора?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    нужно хотя бы от 120 гц.
    Если планируете использовать стерео-очки, то нужно не только монитор, но и видео-карта поддерживающая этот режим.
    Ответ написан
    Комментировать
  • Как изменить уведомление о запрете доступа?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    при этом палит логин админа
    С помощью групповой политики выключите сохранение имени предыдущей учётной записи в диалоге входа.
    Конфигурация компьютера — Политики — Конфигурация Windows — Параметры безопасности —Локальные политики/Параметры безопасности — Интерактивный вход — Интерактивный вход в систему: не отображать последнее имя пользователя = Включено
    пробует сделать что-то, на что у него нету прав, ему предлагает ввести пароль от админа
    Нет, только если процесс требует выполнить операцию от имени администратора.
    Ответ написан
    3 комментария
  • Почему не записывается кириллица в поле типа text MS-SQL?

    tsklab
    @tsklab Куратор тега SQL Server
    Здесь отвечаю на вопросы.
    Появляется ошибка: "Конфликт типа операндов: varbinary несовместим с text". На типе varchar все норм. Что делать?

    Используйте nvarchar(max)
    Более разумно использовать тип varbinary(50) или нужной вам длины.
    Ответ написан
    Комментировать
  • Дизайн БД для сайта фильмо бд?

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

    Все фильмы в одной таблице. По типам распределяется в представлении:
    CREATE TABLE [Film](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Heading] [int] NULL,
    	[HeadingName] [varchar](20) NULL,
    	[HeadingClose] [bit] NULL,
    	[SeriesName] [varchar](15) NULL,
    	[Series] [smallint] NULL,
    	[SeriesDigit] [smallint] NULL,
    	[Season] [smallint] NULL,
    	[Episode] [smallint] NULL,
    	[PartName] [varchar](15) NULL,
    	[Part] [smallint] NULL,
    	[HeadingNumber]  AS (isnull(isnull([SeriesName]+' ','серия ')+CONVERT([varchar],[Series]),'')+isnull((('s'+right('00'+CONVERT([varchar],[Season]),(2)))+'e')+right('00'+CONVERT([varchar],[Episode]),(2)),'')),
    	[Serias] [smallint] NULL,
    	[Article] [varchar](20) NULL,
    	[Name] [varchar](200) NULL,
    	[NameTranslat] [varchar](200) NULL,
    	[Year] [smallint] NULL,
    	[Premiere] [smalldatetime] NULL,
    	[Country] [varchar](50) NULL,
    	[Addition] [varchar](200) NULL,
    	[TitleArticleLess]  AS ((([Name]+isnull((' ('+[NameTranslat])+')',''))+isnull((' ['+[Addition])+']',''))+isnull(((', '+isnull([PartName],'часть'))+' ')+CONVERT([varchar],[Part]),'')),
    	[TitleBase]  AS ((((isnull([Article]+' ','')+[Name])+isnull((' ('+[NameTranslat])+')',''))+isnull((' ['+[Addition])+']',''))+isnull(((', '+isnull([PartName],'часть'))+' ')+CONVERT([varchar],[Part]),'')),
    	[TitleYear]  AS (((((isnull([Article]+' ','')+[Name])+isnull((' ('+[NameTranslat])+')',''))+isnull((' ['+[Addition])+']',''))+isnull(((', '+isnull([PartName],'часть'))+' ')+CONVERT([varchar],[Part]),''))+isnull(' · '+CONVERT([varchar],[Year],(104)),'')),
    	[TitleCountry]  AS (((((isnull([Article]+' ','')+[Name])+isnull((' ('+[NameTranslat])+')',''))+isnull((' ['+[Addition])+']',''))+isnull(((', '+isnull([PartName],'часть'))+' ')+CONVERT([varchar],[Part]),''))+isnull(' · '+[Country],'')),
    	[TitleYearCountry]  AS ((((((isnull([Article]+' ','')+[Name])+isnull((' ('+[NameTranslat])+')',''))+isnull((' ['+[Addition])+']',''))+isnull(((', '+isnull([PartName],'часть'))+' ')+CONVERT([varchar],[Part]),''))+isnull(' · '+CONVERT([varchar],[Year],(104)),''))+isnull(' · '+[Country],'')),
    	[Cover] [image] NULL,
    	[Note] [text] NULL,
    	[NotWatch] [bit] NULL,
    	[LastWatch] [datetime] NULL,
    	[DateWatch] [datetime] NULL,
    	[WatchDisplay]  AS (isnull('+ '+CONVERT([varchar],[DateWatch],(104)),'')+isnull(case when [DateWatch] IS NULL then CONVERT([varchar],[LastWatch],(104)) else (' ('+CONVERT([varchar],[LastWatch],(104)))+')' end,'')),
    	[Range]  AS ((((((isnull(CONVERT([varchar](4),[Year]),'1895')+right('00'+CONVERT([varchar],isnull([Series],(0))),(3)))+right('00'+CONVERT([varchar],isnull([Season],(0))),(3)))+right('00'+CONVERT([varchar],isnull([Episode],(0))),(3)))+isnull(CONVERT([varchar](8),[Premiere],(112)),'00000000'))+right('00'+CONVERT([varchar],isnull([Part],(0))),(3)))+isnull(upper([Name]),'')),
    	[SearchValue]  AS (replace(rtrim([Name]),' ','+')),
    	[Icon]  AS (CONVERT([bit],isnull(datalength([Note]),(0)),(0))+CONVERT([bit],isnull(datalength([Cover]),(0)),(0))*(2)),
    	[AttributeIcon] [bit] NULL,
     CONSTRAINT [PK_Film] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    ALTER TABLE [Film] ADD  CONSTRAINT [DF_Film_AttributeIcon]  DEFAULT ((0)) FOR [AttributeIcon]
    GO
    ALTER TABLE [Film]  WITH CHECK ADD  CONSTRAINT [FK_Film_Film] FOREIGN KEY([Heading])
    REFERENCES [dbo].[Film] ([ID])
    GO
    ALTER TABLE [Film] CHECK CONSTRAINT [FK_Film_Film]
    GO

    Всех актеров, команду (режис., сценарист, и т.д.)

    Все атрибуты фильма в нескольких таблицах.
    Группы атрибутов
    CREATE TABLE [FilmAttributeGroup](
    	[ID] [smallint] IDENTITY(1,1) NOT NULL,
    	[Name] [varchar](50) NOT NULL,
    	[Person] [bit] NULL,
    	[Under] [bit] NULL,
    	[Range] [smallint] NOT NULL,
    	[Uses] [int] NOT NULL,
     CONSTRAINT [PK_FilmAttributeGroup] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [FilmAttributeGroup] ADD  CONSTRAINT [DF_FilmAttributeGroup_Range]  DEFAULT ((0)) FOR [Range]
    GO
    ALTER TABLE [FilmAttributeGroup] ADD  CONSTRAINT [DF_FilmAttributeGroup_Uses]  DEFAULT ((0)) FOR [Uses]
    GO

    Значения атрибутов
    CREATE TABLE [FilmAttributeValue](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Group] [smallint] NOT NULL,
    	[Value] [varchar](300) NOT NULL,
    	[ValueLeft]  AS (rtrim(case when charindex('(',[Value])>(0) then left([Value],charindex('(',[Value])-(1)) else [Value] end)),
    	[ValueRight]  AS (rtrim(case when charindex('(',[Value])>(0) then substring([Value],charindex('(',[Value])+(1),(charindex(')',[Value])-charindex('(',[Value]))-(1))  end)),
    	[SearchValue]  AS (replace(rtrim(case when charindex('(',[Value])>(0) then left([Value],charindex('(',[Value])-(1)) else [Value] end),' ','+')),
    	[Person] [int] NULL,
    	[Equalize] [bit] NOT NULL,
    	[Uses] [int] NULL,
     CONSTRAINT [PK_FilmAttributeValue] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [FilmAttributeValue] ADD  CONSTRAINT [DF_FilmAttributeValue_Equalize]  DEFAULT ((1)) FOR [Equalize]
    GO
    ALTER TABLE [FilmAttributeValue]  WITH CHECK ADD  CONSTRAINT [FK_FilmAttributeValue_FilmAttributeGroup] FOREIGN KEY([Group])
    REFERENCES [dbo].[FilmAttributeGroup] ([ID])
    ON DELETE CASCADE
    GO
    ALTER TABLE [FilmAttributeValue] CHECK CONSTRAINT [FK_FilmAttributeValue_FilmAttributeGroup]
    GO
    ALTER TABLE [FilmAttributeValue]  WITH CHECK ADD  CONSTRAINT [FK_FilmAttributeValue_Person] FOREIGN KEY([Person])
    REFERENCES [dbo].[Person] ([ID])
    ON DELETE SET NULL
    GO
    ALTER TABLE [FilmAttributeValue] CHECK CONSTRAINT [FK_FilmAttributeValue_Person]
    GO

    Атрибуты фильма
    REATE TABLE [FilmAttribute](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[Film] [int] NOT NULL,
    	[Attribute] [int] NOT NULL,
    	[Addition] [varchar](250) NULL,
    	[GroupEdit] [int] NULL,
     CONSTRAINT [PK_FilmAttribute] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    GO
    ALTER TABLE [FilmAttribute]  WITH CHECK ADD  CONSTRAINT [FK_FilmAttribute_Film] FOREIGN KEY([Film])
    REFERENCES [dbo].[Film] ([ID])
    GO
    ALTER TABLE [FilmAttribute] CHECK CONSTRAINT [FK_FilmAttribute_Film]
    GO
    ALTER TABLE [FilmAttribute]  WITH CHECK ADD  CONSTRAINT [FK_FilmAttribute_FilmAttributeValue] FOREIGN KEY([Attribute])
    REFERENCES [dbo].[FilmAttributeValue] ([ID])
    GO
    ALTER TABLE [FilmAttribute] CHECK CONSTRAINT [FK_FilmAttribute_FilmAttributeValue]
    GO

    Персоны
    CREATE TABLE [Person](
    	[ID] [int] IDENTITY(1,1) NOT NULL,
    	[FirstName] [varchar](100) NULL,
    	[LastName] [varchar](100) NOT NULL,
    	[NameRussian] [varchar](200) NULL,
    	[BirthDay] [smalldatetime] NULL,
    	[BirthPlace] [varchar](100) NULL,
    	[DeathDay] [smalldatetime] NULL,
    	[DeathPlace] [varchar](100) NULL,
    	[Text] [text] NULL,
    	[Picture] [image] NULL,
    	[Uses] [int] NULL,
    	[NameFull]  AS ((isnull([FirstName]+' ','')+ltrim([LastName]))+isnull((' ('+[NameRussian])+')','')),
    	[NameOrder]  AS ((ltrim([LastName])+isnull(', '+[FirstName],''))+isnull((' ('+[NameRussian])+')','')),
    	[SearchValue]  AS (isnull(replace([FirstName],' ','+')+'+','')+replace([LastName],' ','+')),
    	[NoteIcon]  AS (CONVERT([bit],isnull(datalength([Text]),(0)),(0))+CONVERT([bit],isnull(datalength([Picture]),(0)),(0))*(2)),
    	[Key]  AS ('P'+CONVERT([varchar],[ID])),
     CONSTRAINT [PK_Performer] PRIMARY KEY CLUSTERED 
    (
    	[ID] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO
    ALTER TABLE [Person] ADD  CONSTRAINT [DF_Person_Uses]  DEFAULT ((0)) FOR [Uses]
    GO
    Ответ написан
    Комментировать
  • Как восстановить данные после git reset --hard?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    для восстановления из памяти вм?
    Снимок состояния делается не дольше минуты. Вы его делали перед уничтожением данных? Если да — откатите назад.
    Ответ написан
    Комментировать
  • Автоматическое отключение рабочих станции. Способы реализации?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Работает уже несколько лет:
    NightShutdown.cmd запускается заданием в нужное время (у меня в 22:00 и 23:00)
    @echo off
    chcp 1251 > nul
    set LF=NightShutdown.%date:~6,4%.%date:~3,2%.%date:~0,2%.log
    echo ----------- >> %LF%
    echo %time% >> %LF%
    echo ----------- >> %LF%
    psshutdown.exe -k -f -t 00 -v 00 @NightShutdown.list >> %LF%

    NightShutdown.list — список компьютеров.
    И ещё в 21:00, для установки обновлений NightShutdownReboot.cmd
    @echo off
    chcp 1251 > nul
    set LF=NightShutdown.%date:~6,4%.%date:~3,2%.%date:~0,2%.log
    echo ----------- >> %LF%
    echo %time% >> %LF%
    echo ----------- >> %LF%
    psshutdown.exe -r -f -t 00 -v 00 @NightShutdown.list >> %LF%

    PsShutdown v2.52.
    Ответ написан
    2 комментария
  • Как удалённо перезагрузить Server 2012 R2?

    tsklab
    @tsklab
    Здесь отвечаю на вопросы.
    Попробуйте подключиться через "Управление компьютером", "Действие", "Подключиться к другому компьютеру". Если сможете, получите доступ к службам — перезапустите нужные.
    Ответ написан
    Комментировать