Задать вопрос
Ответы пользователя по тегу SQL Server
  • Не удается подключить сервер к консоли администрирования 1С. В чем может быть проблема?

    hint000
    @hint000
    у админа три руки
    1С и консоль администрирования 1С на данном сервере не установлены.
    А вы пытаетесь подключиться именно к серверу 1С, который и не установлен.
    Потребовалось подключить базы, расположенные на другом сервере под управлением Win 2019 с SQL 2019 (№2).
    У вас два варианта.
    (1) Таки установить 1С сервер на Win 2019. Но он потребует лицензию (именно для сервера 1С). Но работать будет быстро.
    (2) Добавить информационную базу 1С на Win 2008 R2, указав в параметрах имя или адрес Win 2019 и имя БД. Поскольку сервер 1С и сервер SQL разнесены на разные хосты, то работать будет несколько медленнее. Зато не потребуется дополнительной лицензии на сервер 1С.

    Клиент подключается именно к серверу 1С, т.е. в первом случае к Win 2019, а во втором к Win 2008 R2, и клиенту не важно (он не знает) где на самом деле находится БД в SQL.

    P.S. При любом из двух вариантов вам не требуется явно (руками) указывать порт, ПО само знает, какие порты используются по умолчанию. Такое прописывание руками только ещё больше запутывает вас насчёт того, к чему же на самом деле вы пытаетесь подключиться.
    Ответ написан
    1 комментарий
  • 1С как выбрасывать пользователей из-за которых растёт tempdb?

    hint000
    @hint000
    у админа три руки
    Во-первых, про митигирование (смягчение) проблемы. В настройках MSSQL можно ограничить максимальный размер файлов для tempdb (как и для любой БД). Вероятно, при переполнении в таком случае пользователь с "плохим" запросом получит какое-то сообщение об ошибке в 1С (но это не точно); простые запросы, не требующие tempdb продолжат выполняться.

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

    В-третьих, малыми силами можно мониторить размер tempdb (сторонним ПО, даже самописным скриптом) и отправлять уведомление админу, чтобы админ мог по горячим следам искать виновника.
    Ответ написан
    Комментировать
  • Как настроить строку подключения к удаленном серверу?

    hint000
    @hint000
    у админа три руки
    "ConnectionString": "Data Source=147.78.64.26;Initial Catalog=StroyCompany;Integrated Security=False;User Id='sa';Password='********';MultipleActiveResultSets=True"
    (в предположении, что default instance)
    Источник: https://learn.microsoft.com/en-us/previous-version...
    раздел SQL Server (Full Editions) Connection String Examples
    Ответ написан
    Комментировать
  • Как настроить права?

    hint000
    @hint000
    у админа три руки
    https://dba.stackexchange.com/questions/78388/crea...
    https://stackoverflow.com/questions/11231934/creat...

    The user must be a member of dbcreator server role for user to have enough permissions to create a database.
    Пользователю нужна роль dbcreator.
    Ответ написан
  • Как экспортировать MS SQL базу данных?

    hint000
    @hint000
    у админа три руки
    Можно делать бэкап со сжатием (сам MS SQL будет сжимать налету).
    Ответ написан
    Комментировать
  • Как выполнить sql запрос кнопкой?

    hint000
    @hint000
    у админа три руки
    System.Data.SqlClient.SqlException: "Incorrect syntax near ')'."

    По-моему, он намекает, что у вас не хватает одной скобки в конце запроса:
    ...ORDER BY NEWID())", sqlConnection);
    Вот разве не так нужно?:
    ...ORDER BY NEWID()))", sqlConnection);
    Ответ написан
  • Как загрузить изображения в таблицу?

    hint000
    @hint000
    у админа три руки
    Лучше бы не пихать сами картинки в БД, а оставить их в файлах.
    Но если очень надо, то https://www.google.com/search?q=blob+mssql
    Ответ написан
    Комментировать
  • Почему перестал подключаться к 1с 7.7 SQL отдельный терминальный юзер?

    hint000
    @hint000
    у админа три руки
    а в некоторых пропало соединение с SQL
    Почему вы думаете, что пропало соединение с SQL? В этом случае не было бы приглашения на ввод пароля.

    Другой вопрос.
    некоторые терминальные пользователи могут спокойно подключиться
    Проверьте, дело в пользователях виндовых или дело в пользователях 1С?
    Зайдите на терминальный сервер "проблемным" пользователем, и попробуйте зайти в 1С под другим (не проблемным) пользователем.

    Третий вопрос. Не помню, в 7.7 был журнал, такой же как в 8.*? Если был, то посмотрите записи в журнале на момент неудачных попыток логина.

    Четвёртый вопрос. Не помню, в 7.7 была чудодейственная (исправляющая самые загадочные глюки) процедура удаления кэша в пользовательском профиле?
    Ответ написан
    6 комментариев
  • Как найти значение в связанных полях?

    hint000
    @hint000
    у админа три руки
    можно ли как то в с помощью представлений SQL решить данную проблему?
    В принципе это даже гуглится: https://www.google.com/search?q=рекурсивные+sql+запросы
    Но я бы не стал так делать без крайней необходимости. Как такое дебажить и рефакторить? Как переносить с MSSQL на другую СУБД? Хотя для учебного проекта всё это не критично. В реальной жизни таких формулировок задач не должно быть.

    а транзисторы в составе имеют корпус транзистора
    кристалл транзистора имеет в составе атомы кремния, мышьяка, кислорода и т.д., атомы имеют в составе протоны, нейтроны и электроны. Протон состоит из двух u-кварков и одного d-кварка, нейтрон состоит из двух d-кварков и одного u-кварка. И тут проблема: у нас нет комплектующих для сбора кварков. ;)
    Ответ написан
    1 комментарий
  • Как выполнять бекап MSSQL в сетевую папку, защищенную паролем?

    hint000
    @hint000
    у админа три руки
    Как SQL сообщить логин и пароль от доступа к папке?
    Насколько я понимаю, вы пытаетесь делать через план обслуживания. А вы вместо этого делайте cmd-скриптом через планировщик заданий. В cmd-скрипте легко можете прописать подключение сетевого диска с указанием пароля,
    net use p: \\192.168.1.100\backup p@$$w0rd /USER:vpupkin
    а затем уже команду резервного копирования базы.
    set DATABASENAME=ИмяБазыДанных
    set DATESTAMP=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%-%time:~0,2%-%time:~3,2%
    if "%time:~0,1%" == " " set DATESTAMP=%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%-0%time:~1,1%-%time:~3,2%
    set BACKUPFILENAME=p:\%DATABASENAME%-%DATESTAMP%.bak
    set OSQL="C:\Program Files\Microsoft SQL Server\120\Tools\Binn\OSQL.EXE"
    %OSQL% -E -Q "BACKUP DATABASE [%DATABASENAME%] TO DISK='%BACKUPFILENAME%' WITH FORMAT"
    Ответ написан
    Комментировать
  • Как конвертировать целое число в значение времени?

    hint000
    @hint000
    у админа три руки
    Эмпирически: (количество секунд от полуночи)*4648.5
    т.е. целое поделить на 4648.5, результат из секунд перевести в часы и минуты (поделить на 60 и ещё раз на 60, взять целую часть и остаток от деления)
    Правда 14:57 заметно выбивается, может опечатка у вас?


    Upd:
    hours = number / 2^24
    minutes = (number mod 2^24) / 2^16
    Ответ написан
  • Почему бэкап MS SQL базы по сети занимает очень много времени?

    hint000
    @hint000
    у админа три руки
    В первом случае (за 40 минут) в сети происходит примерно такой процесс:5d2205e1cc5f8961198235.png
    Во втором случае (за 12 часов) примерно такой: 5d22060ce273e917302788.png Ничего удивительного нет. Это так и работает.
    Ответ написан
    Комментировать