Приложение sqlservr
Приложение sqlservr запускает, останавливает, приостанавливает и возобновляет работу экземпляра Microsoft SQL Server операциями из командной строки. Используйте данную процедуру для запуска Microsoft SQL Server исключительно в целях устранения неполадок.
Синтаксис
sqlservr [-s instance_name] [-c] [-d master_path] [-f] [-e error_log_path] [-l master_log_path] [-m] [-n] [-T trace#] [-v] [-x]
Аргументы
-sinstance_name — указывает экземпляр SQL Server для подключения. Если именованный экземпляр не указан, программа sqlservr запускает экземпляр SQL Serverпо умолчанию.
Для запуска экземпляра SQL Serverприложение sqlservr необходимо запускать из каталога, соответствующего этому экземпляру. Для экземпляра по умолчанию sqlservr нужно запускать из каталога \MSSQL\Binn. Для именованного экземпляра sqlservr нужно запускать из каталога \MSSQL$имя_экземпляра\Binn.
-c — указывает, что экземпляр SQL Server будет запущен независимо от диспетчера управления службами Microsoft Windows. Этот параметр используется при запуске SQL Server из командной строки, чтобы сократить время, необходимое для запуска SQL Server .
При использовании этого параметра остановить SQL Server с помощью Service Manager SQL Server или команды net stop будет невозможно. SQL Server будет остановлен, если выйти из системы на данном компьютере.)
-dmaster_path — указывает полный путь к файлу базы данных master. Между параметрами -d и master_pathнет пробелов. Если этот параметр не задан, используются параметры из реестра.
-f — запускает экземпляр SQL Server с минимальной конфигурацией. Эта функция полезна в случае, если установленные значения конфигурации (например, слишком большой объем выделяемой памяти) не позволяют выполнить запуск сервера.
-eerror_log_path — указывает абсолютный путь к файлу журнала ошибок. Если этот параметр не указан, используется расположение по умолчанию *\*:\Program Files\Microsoft SQL Server\MSSQL\Log\Errorlog для экземпляра по умолчанию и *\*:\Program Files\Microsoft SQL Server\MSSQL$*instance_name*\Log\Errorlog для именованного экземпляра. Между параметрами -e и error_log_pathнет пробелов.
-lmaster_log_path — указывает полный путь к файлу журнала транзакций базы данных master. Между параметрами -l и master_log_pathнет пробелов.
-m — указывается для запуска экземпляра SQL Server в однопользовательском режиме. Если SQL Server запущен в однопользовательском режиме, к нему может подключиться только один пользователь. Механизм CHECKPOINT, гарантирующий, что завершенные транзакции регулярно записываются из дискового кэша в устройство хранения базы данных, не запускается. (Как правило, этот параметр используется при появлении проблем с системными базами данных, требующими исправления.) Включает параметр sp_configure allow updates. По умолчанию параметр allow updates отключен.
-n — позволяет запустить именованный экземпляр SQL Server. Если не указать параметр -s , будет выполнена попытка запуска экземпляра по умолчанию. Перед запуском программы sqlservr.exeв командной строке необходимо перейти в каталог BINN соответствующего экземпляра. Например, если экземпляр Instance1 должен использовать \mssql$Instance1 для своих двоичных файлов, для запуска sqlservr.exe -s instance1пользователь должен быть в каталоге \mssql$Instance1\binn. Если экземпляр SQL Server запускается с параметром -n , целесообразно также использовать параметр -e , иначе события SQL Server не будут регистрироваться.
-Ttrace# — указывает, что экземпляр SQL Server должен запускаться так, как если бы был установлен флаг трассировки (trace#). Флаги трассировки используются для запуска сервера в нестандартном режиме. Дополнительные сведения см. в разделе Флаги трассировки (Transact-SQL).
При указании флага трассировки укажите -T , чтобы передать номер флага трассировки. Знак t в нижнем регистре ( -t) также принимается SQL Server. Однако в этом случае -t установит другие внутренние флаги трассировки, необходимые специалистам службы поддержки SQL Server .
-v — отображает номер версии сервера.
-x — отключает ведение статистики по процессорному времени и коэффициенту попадания в кэш. Позволяет достичь максимальной производительности.
Remarks
Рекомендуется использовать методы, описанные в разделе Параметры запуска службы Database Engine, вместо программы sqlservr.exe для запуска Microsoft SQL Server. Программа sqlservr.exe используется в основном для сложных случаев устранения неполадок или масштабных операций обслуживания. Если SQL Server запущен из командной строки с помощью программы sqlservr.exe, SQL Server запускается не в качестве службы, поэтому остановить SQL Server с помощью команды net невозможно. Пользователи могут подключаться к SQL Server, однако средства SQL Server отображают состояние службы, поэтому диспетчер конфигурации SQL Server правильно показывает, что служба остановлена. SQL Server Management Studio может подключаться к серверу, но также укажет, что служба остановлена.
Поддержка совместимости
Следующие параметры считаются устаревшими и не поддерживаются в SQL Server 2019 (15.x).
Microsoft SQL Server
Microsoft SQL Server — система управления реляционными базами данных (СУБД), разработанная корпорацией Microsoft. Основной используемый язык запросов — Transact-SQL, создан совместно Microsoft и Sybase. Transact-SQL является реализацией стандарта ANSI/ISO по структурированному языку запросов (SQL) с расширениями. Используется для работы с небольшими и средними по размеру базами данных до крупных баз данных масштаба предприятия; конкурирует с другими СУБД в этом сегменте рынка.
SQL является общепринятым интерфейсом к базам данных. «Все промышленные базы — Oracle, Microsoft SQL Server, PostgreSQL, MySQL — работают на SQL.
Безопасность
2022
Серверы накрыла мощная волна атак с использованием вирусов-вымогателей
В конце сентября 2022 года стало известно о том, что серверы Microsoft SQL накрыла мощная волна атак с использованием вирусов-вымогателей. Злоумышленники применяют вредоносные программы под названием Fargo и GlobeImposter.
Как сообщили ИБ-специалисты AhnLab Security Emergency Response Center (ASEC), цепочка заражения вирусами-вымогателями начинается с загрузки .NET файла процессом MS-SQL с помощью cmd.exe и powershell.exe. Загруженный файл подгружает дополнительные вредоносные программы, затем генерирует и запускает BAT-файл, который отключает определенный процессы и службы. После этого вредоносное ПО внедряется в AppLaunch.exe и пытается удалить ключ реестра утилиты Raccine, служащей для ликвидации любых процессов, пытающихся удалить теневые копии в ОС Windows с помощью vssadmin.exe. Кроме того, вредонос отключает восстановление и завершает все процессы, связанные с базами данных, чтобы сделать их содержимое доступным для шифрования.
![]()
Серверы Microsoft SQL накрыла мощная волна атак с использованием вирусов-вымогателей
Именно этот штамм исследователи Avast назвали «TargetCompany» в отчете на февраль 2022 года, подчеркнув, что зашифрованные им файлы в некоторых случаях могут быть восстановлены бесплатно. Статистические данные об атаках вымогателей на платформе ID Ransomware свидетельствуют о том, что семейство вредоносных программ для шифрования файлов FARGO является достаточно активным.
Из шифрования исключены несколько системных каталогов Microsoft Windows, загрузочные файлы, Tor Browser, Internet Explorer, пользовательские настройки и параметры, файл журнала отладки или база данных эскизов. После завершения шифрования заблокированные файлы переименовываются с использованием расширения «.Fargo3», а вредоносная программа генерирует записку о выкупе («RECOVERY FILES.txt»). Жертвам угрожают утечкой похищенных файлов на Telegram-канале угрожающего субъекта, если они не заплатят выкуп.
Администраторам серверов Microsoft SQL, команда ASEC на сентябрь 2022 года рекомендует убедиться в том, что они используют достаточно надежные и уникальные пароли. Кроме того, никогда не выходят из моды советы по обновлению машины последними исправлениями уязвимостей безопасности. Эксперты предупреждают, что БД чаще всего взламываются атаками по словарю и перебором, т.е. риску подвержены учетные записи со слабыми паролями. [1]
Атаки на Microsoft SQL с помощью антихакерского ПО
28 февраля 2022 года стало известно, что злоумышленники устанавливают с помощью брутфорса и словарных атак «маяки» Cobalt Strike и майнеры на слабозащищенные серверы MS SQL.
Эксперты по информационной безопасности наблюдают очередную волну атак на серверы Microsoft SQL.
Cobalt Strike — легальный инструмент пентеста и пост-эксплуатации, который также используется и киберкриминалом и кибершпионами. Его «маяки» — это локальные агенты Cobalt Strike, используемые для удаленного наблюдения за сетью или выполнения дальнейших команд.
MS SQL Server — известная система управления базами данных, на основе которой работают многочисленные интернет-приложения любых масштабов. По данным компании Ahn Lab, многие из этих серверов защищены слабыми паролями и доступны из глобальной Сети, что делает их весьма привлекательной мишенью.
Атаки начинаются со сканирования серверов с открытым портом TCP 1433 — это признак доступного извне сервера MS SQL. После обнаружения такого ресурса злоумышленники запускают брутфорс и словарные атаки с целью вскрытия пароля.
![]()
Серверы MS SQL серийно атакуют с помощью Cobalt Strike. Фото: safe.cnews.ru
Если это удается, и злоумышленник получает доступ к админской панели, до на сервер подгружаются криминальные криптомайнеры, такие как LemonDuck, KingMiner, Vollgar, а также «маяки» Cobalt Strike, обеспечивающие возможность дальнейшей разведки локальной сети.
CobaltStrike загружается через шелл-процесс (cmd.exe и powershell.exe), затем производится его инъекция и запуск в MSBuild.exe для избегания обнаружения. После запуска «маяк» встраивается в процесс системной библиотеки wwanmm.dll и ожидает команд от операторов, оставаясь скрытным.
В дальнейшем злоумышленники могут производить на скомпрометированной системе запуск произвольных команд, кейлоггинг, операции с файлами, установление прокси Socks, повышать привилегии, сканировать порты, а также красть реквизиты доступа с помощью Mimikatz.
говорит Алексей Водясов, технический директор компании SEQ.
Эксперт добавил также, что серверы MS SQL следует регулярно обновлять, если такая возможность есть. [2]
История
Исходный код MS SQL Server (до версии 7.0) основывался на коде Sybase SQL Server, и это позволило Microsoft выйти на рынок баз данных для предприятий, где конкурировали Oracle, IBM, и, позже, сама Sybase. Microsoft, Sybase и Ashton-Tate первоначально объединились для создания и выпуска на рынок первой версии программы, получившей название SQL Server 1.0 для OS/2 (около 1989 года), которая фактически была эквивалентом Sybase SQL Server 3.0 для Unix, VMS и др. Microsoft SQL Server 4.2 был выпущен в 1992 году и входил в состав операционной системы Microsoft OS/2 версии 1.3. Официальный релиз Microsoft SQL Server версии 4.21 для ОС Windows NT состоялся одновременно с релизом самой Windows NT (версии 3.1). Microsoft SQL Server 6.0 был первой версией SQL Server, созданной исключительно для архитектуры NT и без участия в процессе разработки Sybase.
К тому времени, как вышла на рынок ОС Windows NT, Sybase и Microsoft разошлись и следовали собственным моделям программного продукта и маркетинговым схемам. Microsoft добивалась исключительных прав на все версии SQL Server для Windows. Позже Sybase изменила название своего продукта на Adaptive Server Enterprise во избежание путаницы с Microsoft SQL Server. До 1994 года Microsoft получила от Sybase три уведомления об авторских правах как намёк на происхождение Microsoft SQL Server.
После разделения компании сделали несколько самостоятельных релизов программ. SQL Server 7.0 был первым сервером баз данных с настоящим пользовательским графическим интерфейсом администрирования. Для устранения претензий со стороны Sybase в нарушении авторских прав, весь наследуемый код в седьмой версии был переписан.
Версия SQL Server 2005 — была представлена в ноябре 2005 года. Запуск версии происходил параллельно запуску Visual Studio 2005. Существует также «урезанная» версия Microsoft SQL Server — Microsoft SQL Server Express; она доступна для скачивания и может бесплатно распространяться вместе с использующим её программным обеспечением.
С момента выпуска предыдущей версии SQL Server (SQL Server 2000) было осуществлено развитие интегрированной среды разработки и ряда дополнительных подсистем, входящих в состав SQL Server 2005. Изменения коснулись реализации технологии ETL (извлечение, преобразование и загрузка данных), входящей в состав компонента SQL Server Integration Services (SSIS), сервера оповещения, средств аналитической обработки многомерных моделей данных (OLAP) и сбора релевантной информации (обе службы входят в состав Microsoft Analysis Services), а также нескольких служб сообщений, а именно Service Broker и Notification Services. Помимо этого, были произведены улучшения в производительности.
Функциональность
Microsoft SQL Server в качестве языка запросов использует версию SQL, получившую название Transact-SQL (сокращённо T-SQL), являющуюся реализацией SQL-92 (стандарт ISO для SQL) с множественными расширениями. T-SQL позволяет использовать дополнительный синтаксис для хранимых процедур и обеспечивает поддержку транзакций (взаимодействие базы данных с управляющим приложением). Microsoft SQL Server и Sybase ASE для взаимодействия с сетью используют протокол уровня приложения под названием Tabular Data Stream (TDS, протокол передачи табличных данных). Протокол TDS также был реализован в проекте FreeTDS с целью обеспечить различным приложениям возможность взаимодействия с базами данных Microsoft SQL Server и Sybase.
Microsoft SQL Server также поддерживает Open Database Connectivity (ODBC) — интерфейс взаимодействия приложений с СУБД. Версия SQL Server 2005 обеспечивает возможность подключения пользователей через веб-сервисы, использующие протокол SOAP. Это позволяет клиентским программам, не предназначенным для Windows, кроссплатформенно соединяться с SQL Server. Microsoft также выпустила сертифицированный драйвер JDBC, позволяющий приложениям под управлением Java (таким как BEA и IBM WebSphere) соединяться с Microsoft SQL Server 2000 и 2005.
SQL Server поддерживает зеркалирование и кластеризацию баз данных. Кластер сервера SQL — это совокупность одинаково конфигурированных серверов; такая схема помогает распределить рабочую нагрузку между несколькими серверами. Все сервера имеют одно виртуальное имя, и данные распределяются по IP-адресам машин кластера в течение рабочего цикла. Также в случае отказа или сбоя на одном из серверов кластера доступен автоматический перенос нагрузки на другой сервер.
SQL Server поддерживает избыточное дублирование данных по трем сценариям:
- Снимок: Производится «снимок» базы данных, который сервер отправляет получателям.
- История изменений: Все изменения базы данных непрерывно передаются пользователям.
- Синхронизация с другими серверами: Базы данных нескольких серверов синхронизируются между собой. Изменения всех баз данных происходят независимо друг от друга на каждом сервере, а при синхронизации происходит сверка данных. Данный тип дублирования предусматривает возможность разрешения противоречий между БД.
В SQL Server 2005 встроена поддержка .NET Framework. Благодаря этому, хранимые процедуры БД могут быть написаны на любом языке платформы .NET, используя полный набор библиотек, доступных для .NET Framework, включая Common Type System (система обращения с типами данных в Microsoft .NET Framework). Однако, в отличие от других процессов, .NET Framework, будучи базисной системой для SQL Server 2005, выделяет дополнительную память и выстраивает средства управления SQL Server вместо того, чтобы использовать встроенные средства Windows. Это повышает производительность в сравнении с общими алгоритмами Windows, так как алгоритмы распределения ресурсов специально настроены для использования в структурах SQL Server.
Microsoft разработала конкурента Oracle Exadata и SAP HANA
Microsoft разработал новую технологию in-memory, которая будет в скором времени добавлена в SQL Server. Технология получила название Hekaton. Об этом 7 ноября 2012 года сообщил ComputerWorld.
Microsoft в стремлении ускорить процессы оперативной обработки транзакций (OLTP) добавил в SQL Server возможность использовать реляционные системы управления базами данных.
Планируется, что уже в следующей версии SQL Server будет включена возможность размещения части таблиц баз данных или даже все базы данных в памяти сервера. Так же будут добавлены дополнительные инструменты для упрощенного запуска технологии.
По словам генерального менеджера Microsoft Дуга Леланда, технология Hekaton сейчас тестируется некоторыми заказчиками. Но о более точных сроках ее запуска пока не сообщает.
Microsoft утверждает, что сервер будет быстрее выполнять операции,если необходимые таблицы и базы данных будут в памяти, а не записаны на диск, к которому необходимо будет обращаться. Гигант уверен, что технология позволит увеличить скорость обработки данных до 50 раз по сравнению с аналогичными системами для SQL Server.
Основными направлениями для использования Hekaton являются банковские онлайн системы, ERP, и другие транзакционные системы, которым необходимо оперативно связываться и использовать базы данных. Технология может быть установлена на одном сервере и далее масштабирована на остальные сервера, т.к. она не имеет жестких ограничений по используемой памяти.
Выход Hekaton может стать серьезной головной болью для таких компаний как Oracle с ее продуктом Oracle Exadata и для SAP, в частности SAP HANA. Это обусловлено тем, что технология значительно упрощает ИТ-архитектуру и снимает необходимость докупать компоненты для обработки данных, как это реализовано у конкурентов.
Дуг Леланд утверждает, что Hekaton — не первый опыт Microsoft в работе с технологиями in-memory. Так в офисном приложении Microsoft Excel используются технологии PowerPivot и Power View, позволяющие оперативно манипулировать большим объемом данных.
Microsoft также объявила о скором выходе следующей версии Data Warehouse Appliance, SQL Server 2012 Parallel Data Warehouse (PDW). А для SQL Server 2012 выпущен пакет обновлений, который в частности включает возможность пользователям Exel 2013 работать с данными, хранящимися на SQL Server.
Разработка приложений
Microsoft и другие компании производят большое число программных средств разработки, позволяющих разрабатывать бизнес-приложения с использованием баз данных Microsoft SQL Server. Microsoft SQL Server 2005 включает в себя также Common Language Runtime (CLR) Microsoft .NET, позволяющий реализовывать хранимые процедуры и различные функции приложениям, разработанным на языках платформы .NET (например, VB.NET или C#). Предыдущие версии средств разработки Microsoft использовали только API для получения функционального доступа к Microsoft SQL Server.
SQL Server Express Edition
Microsoft SQL Server Express является бесплатно распространяемой версией SQL Server, развитием системы MSDE. Данная версия имеет некоторые технические ограничения. Такие ограничения делают её непригодной для развертывания больших баз данных, но она вполне годится для ведения программных комплексов в масштабах небольшой компании. Содержит полноценную поддержку новых типов данных, в том числе XML-спецификации. Фактически, это полноценный MS SQL Server, включая все его компоненты программирования, поддержку национальных алфавитов и Unicode. Поэтому используется в приложениях, при проектировании или для самостоятельного изучения. Нет никаких препятствий для дальнейшего развёртывания накопленной базы данных на MS SQL Server неэкспрессной версии. В 2007 году Microsoft выпустила отдельную утилиту с графическим интерфейсом для администрирования данной версии, которая также доступна для бесплатного скачивания с сайта корпорации.
Ссылки
Примечания
- ↑Microsoft SQL servers hacked in TargetCompany ransomware attacks
- ↑Хакеры массово захватывают серверы MS SQL с помощью антихакерского ПО
C# MSSQL Что необходимо для запуска?
Создал проект windows forms с .NET v4.0, добавил в проект Service-based Database, назвал Database.mdf. Я хочу запустить приложение на другом компьютере, кроме .NET v4.0, что мне еще необходимо установить для корректной работы с MDF базой? Локально все работает, на других компьютерах нет. Ошибки:
System.Data.SqlClient.SqlException (0x80131904): A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 50 — Local Database Runtime error occurred. The specified LocalDB instance does not exist.
Строка подключения к базе:
con.ConnectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Database.mdf; Integrated Security=True";
Подключение к ms sql server через приложения
Подключаюсь к бд через microsoft sql managment studio, все нормально, создаю: таблицы, бд, делаю запросы и все такое(рис.1).
Мне нужно настроить бд так, чтобы можно было к ней подключаться через порт 1433, через приложения. Вот тут начинаются проблемы. Как я понял, для настройки нужно сначала запустить сервис Sql server agent, но при попытке запуска возникает ошибка(рис.2).
Я не знаю с чем она связана, прогуглил весь интернет, все перепробовал. В службе настройки sql сервера вылезает ошибка(рис.3)
Помогите плз настроить эту бд правильным образом.
Отслеживать
задан 8 янв 2018 в 16:21
marllborobro marllborobro
43 1 1 серебряный знак 5 5 бронзовых знаков
А где код, как вы подключаетесь и сообщение об ошибке ?
– user177220
8 янв 2018 в 16:34
Если вы подключаетесь «через приложение» с той же машины, без явного указания порта и протокола, просто задавая имя сервера — ничего настраивать не нужно. SQL Agent вам не нужен — это служба для запуска задач по расписанию, и в SQL Server Express он не работает.
