Служба «sql server, браузер»sql server browser service

PowerShell и SQL Server

  • SQL Server & Windows Documentation Using Windows PowerShell (by Kendal Vandyke)
  • TSQL Code Smells Finder (by Dave Ballantyne)
  • Stairway to SQL PowerShell (by Ben Miller)
  • SQL Server Health Check Script with Powershell (by Atul Kapoor)
  • Universal SQL Server Installation Scripts (by Prakash Heda)
  • Powershell SQL Server Performance Health Check (by Omid Afzalalghom)
  • Performance Analysis of Logs (PAL) Tool (by svenhau and mikelag)
  • PSCI — Powershell Continuous Integration (by Objectivity Bespoke Software Specialists)
  • SQLTranscriptase — SQL Server Documentation in Powershell (by Vijay Bandi)
  • SQL Server PowerShell Extensions (SQLPSX) (by Mike Shepard)
  • PowerShell dbatools for SQL Server (by Chrissy LeMaire)
  • Create a Monitoring Server for SQL Server with PowerShell (by Laerte Junior)
  • PowerShell SQLPass articles and video
  • PowerShell Blog NetNerds
  • QS Config (by Derik Hammer)
  • Idera 89 Free SQL Server PowerShell Scripts
  • Performance Analysis of Logs (PAL) Tool (by Clint Huffman)
  • Powershell SQL Server Library (PSSQLLib) (by Sander Stad)

Основы правил проектирования базы данных

Tutorial


Введение

Как это часто бывает, архитектору БД нужно разработать базу данных под конкретное решение. Однажды в пятницу вечером, возвращаясь на электричке домой с работы, я подумал о том, как бы я создал сервис по найму сотрудников в разные компании. Ведь ни один из существующих сервисов не позволяет быстро понять насколько подходит тебе кандидат. Нет возможности создать сложные фильтры, включающие или исключающие совокупность определенных навыков, проектов или позиций. Максимум, что обычно предлагают сервисы — фильтры по компаниям и частично по навыкам. В данной статье я позволю себе немного разбавить строгое изложение материала, смешав техническую информацию с не техническими примерами из жизни. Для начала, разберем создание базы данных в MS SQL Server для сервиса поиска соискателей на работу. Этот материал можно перенести и на другую СУБД такую как MySQL или PostgreSQL.

Общие сведения o SQL сервере

SQL сервер — программа, которая предназначена для хранения базы данных и обеспечения доступа к этим данным из других программ. В SQL Server включена поддержка языка XML и протокола HTTP, средства повышения быстродействия и доступности, позволяющие распределить нагрузку и обеспечить бесперебойную работу. Сложный доступ к данным используется для надежности их хранения.  SQL сервер позволяет резервное копирование в любой момент рабочего дня без отключения пользователей. Также если размер вашей базы данных стремиться к гигабайту и продолжает увеличиваться, то SQL сервер единственно возможный метод обеспечения ее функционирования. 

Существует несколько способов подключения к SQL Server. Чаще всего используют четыре варианта:

  • подключение по OLE DB — набор интерфейсов, основанных на СОМ, которые позволяют приложениям обращаться к данным, хранимым в разных источниках информации или хранилищах данных с помощью унифицированного доступа. Этот способ является наиболее рекомендуемым и современным вариантом;

  • подключение по Open DataBase Connectivity (ODBC) — интерфейс взаимодействия приложений с системами управления базами данных (СУБД);

  • подключение с использованием BDE (Borland Database Engine) — доступ к базам данных из  C++ Builder, Delphi;

  • подключение по JDBC, который позволяет приложениям под управлением Java соединяться с Microsoft SQL Server.

Команды OSQLOSQL Commands

Помимо инструкций Transact-SQLTransact-SQL в программе osqlтакже доступны следующие команды.In addition to Transact-SQLTransact-SQL statements within osql, these commands are also available.

Get-HelpCommand ОписаниеDescription
GOGO Выполняет все инструкции, введенные после последней команды GO.Executes all statements entered after the last GO.
RESETRESET Очищает все введенные инструкции.Clears any statements you have entered.
QUIT или EXIT( )QUIT or EXIT( ) Завершение работы программы osql.Exits from osql.
CTRL+CCTRL+C Завершает запрос без выхода из программы osql.Ends a query without exiting from osql.

Примечание

Команды !!The !! и ED больше не поддерживаются программой osql.and ED commands are no longer supported by osql.

Признаки конца команды GO (по умолчанию), RESET, EXIT, QUIT и CTRL+C распознаются только в начале строки, сразу после запроса программы osql .The command terminators GO (by default), RESET EXIT, QUIT, and CTRL+C, are recognized only if they appear at the beginning of a line, immediately following the osql prompt.

GO обозначает конец пакетного файла и исполнения любых кэшированных инструкций Transact-SQLTransact-SQL .GO signals both the end of a batch and the execution of any cached Transact-SQLTransact-SQL statements. При нажатии клавиши ВВОД в конце каждой строки ввода программа osql выполняет кэширование инструкций из этой строки.When you press ENTER at the end of each input line, osql caches the statements on that line. При нажатии клавиши ВВОД после ввода команды GO все текущие инструкции в кэше отправляются в виде пакета в SQL ServerSQL Server.When you press ENTER after typing GO, all of the currently cached statements are sent as a batch to SQL ServerSQL Server.

Последняя версия программы osql работает таким образом, как будто в конце любого выполняемого скрипта имеется подразумеваемая инструкция GO, поэтому выполняются все инструкции скрипта.The current osql utility works as if there is an implied GO at the end of any script executed, therefore all statements in the script execute.

Закончите команду с помощью ввода строки, которая начинается с признака конца команды.End a command by typing a line beginning with a command terminator. Следом за признаком конца команды можно ввести целое число, чтобы указать, сколько раз выполнить команду.You can follow the command terminator with an integer to specify how many times the command should be run. Например, чтобы выполнить эту команду 100 раз, введите:For example, to execute this command 100 times, type:

Результаты выводятся на печать один раз после завершения.The results are printed once at the end of execution. Программаosql не принимает более 1000 символов в одной строке.osql does not accept more than 1,000 characters per line. Большие инструкции должны вводиться в несколько строк.Large statements should be spread across multiple lines.

Для повторного вызова и изменения инструкций osql могут использоваться средства повторного вызова команд Windows.The command recall facilities of Windows can be used to recall and modify osql statements. Существующий буфер запросов можно очистить с помощью команды RESET.The existing query buffer can be cleared by typing RESET.

При запуске хранимых процедур программа osql выводит пустую строку между результирующими наборами в пакете.When running stored procedures, osql prints a blank line between each set of results in a batch. Кроме того, сообщение «обработано строк: 0» не выводится, если оно не применимо к выполненной инструкции.In addition, the «0 rows affected» message does not appear when it does not apply to the statement executed.

БезопасностьSecurity

Права доступа учетной записиAccount Privileges

SQL ServerSQL Server Браузер прослушивает UDP-порт и принимает запросы без проверки подлинности с использованием протокола разрешения SQL ServerSQL Server (SSRP).Browser listens on a UDP port and accepts unauthenticated requests by using SQL ServerSQL Server Resolution Protocol (SSRP). SQL ServerSQL Server должен запускаться в контексте безопасности непривилегированного пользователя, чтобы минимизировать ущерб при возможном проникновении злоумышленника.Browser should be run in the security context of a low privileged user to minimize exposure to a malicious attack. Учетную запись входа можно изменить при помощи диспетчера конфигурации SQL ServerSQL Server .The logon account can be changed by using the SQL ServerSQL Server Configuration Manager. Права, которые необходимо назначить браузеру SQL ServerSQL Server .The minimum user rights for SQL ServerSQL Server Browser are the following:

  • Запретить сетевой доступ к этому компьютеру.Deny access to this computer from the network

  • Запретить локальный вход в систему.Deny logon locally

  • Запретить вход в систему в качестве пакетного задания.Deny Log on as a batch job


  • Запретить вход в систему через службы терминалов.Deny Log On Through Terminal Services

  • Вход в систему в качестве службы.Log on as a service

  • Разрешить чтение и запись разделов реестра SQL ServerSQL Server , связанных с сетью (порты и каналы).Read and write the SQL ServerSQL Server registry keys related to network communication (ports and pipes)

Учетная запись по умолчаниюDefault Account

Программа установки настраивает браузер SQL ServerSQL Server для использования учетной записи, выбранной для служб при установке.Setup configures SQL ServerSQL Server Browser to use the account selected for services during setup. Можно указать другую учетную запись:Other possible accounts include the following:

  • Любая учетная запись домен\локальная .Any domain\local account

  • Учетная запись локальной службыThe local service account

  • Учетная запись локальной системы (не рекомендуется за избыточностью прав доступа).The local system account (not recommended as has unnecessary privileges)

Скрытие экземпляра SQL ServerHiding SQL Server

Скрытые экземпляры SQL ServerSQL Server — это экземпляры, которые поддерживают только соединения через общую память.Hidden instances are instances of SQL ServerSQL Server that support only shared memory connections. В SQL ServerSQL Serverустановите флаг , чтобы браузер SQL ServerSQL Server не выдавал сведения об этом экземпляре сервера.For SQL ServerSQL Server, set the flag to indicate that SQL ServerSQL Server Browser should not respond with information about this server instance.

Применение брандмауэраUsing a Firewall

Для связи со службой браузера SQL ServerSQL Server на сервере, защищенном брандмауэром, в дополнение к TCP-порту SQL ServerSQL Server (например 1433) откройте UDP-порт 1434.To communicate with the SQL ServerSQL Server Browser service on a server behind a firewall, open UDP port 1434, in addition to the TCP port used by SQL ServerSQL Server (e.g., 1433). Сведения о работе с брандмауэром см. в разделе «Практическое руководство. Настройка брандмауэра для доступа SQL ServerSQL Server» в документации по SQL ServerSQL Server.For information about working with a firewall, see «How to: Configure a Firewall for SQL ServerSQL Server Access» in SQL ServerSQL Server Books Online.

Установка SQL сервера 2000

Перед началом установки вставьте CD с Windows SQL 2000 в CD-ROM и запустите любой из менеджеров (Windows Explorer, Total Commander). Найдите в каталоге CD найдите Setup.bat и запустите его.

Перед Вами стартовое окно. Опция “Install Database Server” позволяет начать процесс установки сервера SQL 2000. Для этого нажимаем Next. Существует три варианта установки SQL, выберите необходимый:   

  • Local Computer– установка сервера SQL на локальный компьютер;

        
  • Remote Computer – установка сервера SQL на удаленный компьютер по сети;

        
  • Virtual Server – установки сервера SQL в кластер серверов.

Описание будет проводится так, якобы была выбрана установка сервера на локальный компьютер.

Выбираем следующие опции:

Create a new instance, or install Client Tools – позволяет установить новый экземпляр сервера SQL и инструменты клиента (Client Tools)

Upgrade, remove, or add components – позволяет работать с уже установленным экземпляром.

Advance options – позволяет создавать индивидуальные установочные файлы, восстанавливать ключи регистра и поддерживать Виртуальные Серверы.

Мы выберем Create a new instance, or install Client Tools и нажмем Next.

В полях Name и Company вводим имя и компанию, нажимаем Next. Когда перед Вами появится окошко с правилами использования, нажимаем Yes (да, мы согласны с условиями лицензии).


Теперь следует выбрать тип инсталляции.

Client Tools Only — установить клиентскую часть для работы с удаленным SQL сервером.

Server and Client Tools — установить клиентскую часть и SQL сервер на одном компьютере.

Connectivity only – установить Data Access Components (DAC) и Сетевые библиотеки (Network Libraries), так чтобы приложения могли получать доступ к экземпляру сервера SQL.

 

 Если у Вас в сети уже есть установленный «удаленный» SQL сервер, выбирайте Client Tools Only, иначе — Server and Client Tools. Нажимаем Next.

Необходима помощь специалистов? Оставьте заявку. Мы с Вами свяжемся.

Если выбран режим Default, то сервер SQL будет установлен как экземпляр по умолчанию. Но если Вы хотите, Вы можете установить именованный экземпляр. Для этого выключите переключатель Default и введите имя экземпляра в поле Instance Name. Нажимаем кнопочку Next.

Теперь определим объем инсталляции.

  • Typical – установка обязательных файлов и наиболее часто используемых необязательных файлов.

Minimum – установка только обязательных файлов.

Custom – можно самостоятельно определить, какую конфигурацию SQL сервера Вы желаете установить.

Так же нужно выбрать папки для Program Files и Data Files, в которые будет производиться инсталляция. Next.

Сервер SQL 2000 использует две учетные записи: для агента сервера (Server Agent) SQL и для самого сервера SQL. Теперь пора определиться: использовать ли одну и ту же учетную запись для обеих служб или же будут созданы отдельные учетные записи для каждой службы отдельно. Если Вы будете использовать только одну учетную запись, тогда нужно еще выбрать, будет она локальной учетной записью (local system account) или учетной записью пользователя домена (domain user account). Если Вы пользуетесь только одним сервером SQL в сети, и Вы не планируете его взаимодействие с другими серверами SQL или удаленными серверами, Вы можете использовать только локальную учетную запись. Для примера выберем “Use the same account for both services. Autostart SQL Server Agent Service”, “Use the Local System account”.

Режим аутентификации для доступа к базам данных может осуществляться операционной системой либо сервером SQL. Лучше вариант “Windows Authentication Mode”, при котором все идентификации обрабатываются через систему безопасности Windows для пользователей и групп.

Выбор способа сортировки символов (collation) по умолчанию. Выберите “SQL Server Collations”, “Dictionary order, case-insensitive, for use with 1252 Character Set”, а затем нажмите Next.

Теперь выберите сетевые библиотеки. Сохраните настройки по умолчанию и нажмите кнопку Next

После возникновения в окошке надписи «Setup has enough information to prompt you for the licensing mode information and start copying the program files. Click Back to review or change the settings, otherwise click Next to proceed.» Чтобы продолжить установку, нажмите Next.

Введите тип и число лицензий, которые вы приобрели и нажмите кнопку Continue.

Установка благополучно завершена!!!

Теперь, чтобы найти инструменты, которые используются для работы с сервером SQL, щелкните мышью на кнопке Start на панели инструментов и выберите меню Programs и Microsoft SQL Server.

История про msdb размером в 42 Гб


Tutorial

Недавно выдалась минутка посмотреть почему старый тестовый сервер безбожно тормозил… К нему я не имел никакого отношения, но меня одолевал спортивный интерес разобраться, что с ним не так. Первым делом открыл Resource Monitor и взглянул на общую нагрузку. Процесс sqlserv.exe нагружал ЦП под 100% и формировал большую дисковую очередь, которая была за 300… при том, что значение выше единицы уже считается проблемным. При анализе дисковой активности заметил непрерывные IO операции в msdb:

Посмотрел на размер msdb:

и включил режим «рука-лицо»:

Файл данных занимал 42 Гб… Взяв небольшую паузу я начал разбираться в чем причина такого нездорового объема msdb и как побороть проблемы с производительностью сервера.

Правила формирования имен объектов SQL сервера

При задании имен создаваемых объектов серверов  и баз данных, которые создаются на сервере, MS SQL задает ряд правил, пердставленных ниже.

  • максимальная длина имени — 128 символов для SQL Server 7.0

  • первым символом имени должна быть буква латинского алфавита или один из символов: @, _, #. Все остальные символы — буквы латинского алфавита, цифры или символы $, #, _.

  • в идентификаторе не допускается использование внутренних пробелов.

  • лучше не использовать в качестве имени зарезервированные слова SQL Server.

  • символы @ и # имеют специальное значение, когда они применяются в качестве первого символа: @ означает переменную, а символ # объявляет именуемый объект временным объектом. Объект, который начинается с двух знаков ## — глобальный временный объект.

Статьи на схожую тематику: 

Занимательно о сервере Ошибки SQL сервера

Остались вопросы? Мы с радостью поможем Вам в их решении.

ТЕХПОДДЕРЖКА:

+8 (495) 663 73 51 

info@1service.ru  

Космос как база данных

Из песочницы

В статье приводится метод построения проекции галактической орбиты Солнечной системы через анализ пространственного перепада космологического красного смещения. Кроме известных движений вращения вокруг центра Галактики и смещения вверх-вниз относительно её диска, на результатах ясно просматривается «покачивание» оси.Рис.0. Визуальное представление минимумов (зелёный) перепада красного смещения на воображаемой гелиоцентрической сфере – результат вращения Солнечной системы вокруг центра Млечного Пути. Чёрная ось – X (положительные направо), красная полупрозрачная – Y (положительные вглубь), синяя – Z (положительные наверх). Жёлтый шар – направление движения согласно жёлтой тенденции (RA 10, DEC -30) – движение Солнечной системы под диск Млечного Пути. Чёрный шар – актуальное направление на Стрельца-А (RA 266, DEC -29), центр Млечного Пути.

Microsoft SQL Server 2016

новые функции и усовершенствованияНовая версия Microsoft SQL Server позволяет создавать критически важные приложения для оперативной обработки транзакций (OLTP) с улучшенной масштабируемостью, производительностью при выполнении в памяти и высокой доступностью. При этом обеспечивается согласованность локальной и облачной среды: SQL Server позволяет клиентам получать доступ к данным на локальных серверах и в облаке.

  • Новая технология постоянного шифрования (Always Encrypted) защищает данные при хранении и перемещении без снижения производительности БД. Безопасность особенно важна при переносе данных в облако, и постоянное шифрование призвано решить эту проблему.
  • Технология Stretch Database позволяет динамически переносить «горячие» и «холодные» данные из SQL Server в облако Azure. Для чего это нужно? В частности, по мере накопления в базе исторических данных возрастает сложность и стоимость ее эксплуатации. Автоматический перенос архивных данных в облако по мере их устаревания — разумное решение. Такие данные перемещаются в фоновом режиме. На приложения и запросы это не влияет.
  • Функция Row Level Security (RLS) позволяет администраторам контролировать доступ пользователей к тем или иным данным и управлять им. Это особенно полезно в ситуациях, когда требуется детальное разграничение доступа, например, в некоторых госструктурах или медицинских учреждениях.
  • Согласованность локальной и облачной среды. Независимо от того, где находятся данные — в корпоративном центре обработки данных, в частном облаке или в облаке Microsoft Azure, — обеспечивается согласованная работа как для сервера, так и для базы данных, предоставляемой в качестве услуги. Поддержка гибридного облака дает возможность распределять нагрузку между локальной и облачной средой. Это означает экономию и гибкость.
  • Высокая производительность Data Warehousing — №1, №2 и №3 в тесте TPC-H 10 Terabyte для некластерных сред и №1 в тесте SAP SD Two-Tier в среде Windows.
  • Поддержка структурированных и неструктурированных данных: запросы PolyBase для данных Hadoop. Можно выполнять запросы реляционных и нереляционных данных, используя простой T-SQL с помощью PolyBase. При этом отдельный Microsoft SQL Server 2016 Enterprise Edition используется в качестве головного узла, а масштабирование осуществляется с помощью нескольких вычислительных узлов Standard Edition.
  • Комплексная мобильная бизнес-аналитика помогает преобразовать данные в полезную информацию, получая ценные сведения на любом устройстве (как с подключением к интернету, так и без него) в виде отчетов. Предлагается более 250 встроенных аналитических функций.
  • Расширенная аналитика в базе данных дает возможность анализировать операционные данные в режиме реального времени и с требуемым масштабом непосредственно в базе данных SQL Server. Тем самым устраняется потребность в их перемещении. Анонсированный Microsoft R Server использует технологии приобретенной компании Revolution Analytics для поддержки Hadoop и Teradata.

С помощью SQL Server 2016 можно получать ценные сведения из транзакционных и аналитических данных в режиме реального времени. Продукт позиционируется как безопасная и масштабируемая платформа баз данных, которая предоставляет все необходимое — от расширенной аналитики до высокой производительности обработки любых нагрузок в оперативной памяти.Оперативная аналитика в реальном времени позволяет быстрее принимать решения.Функциональные отличия разных редакций SQL Server 2016.

ImportExportDataSql — бесплатный конвертер данных MSSQL

Введение

Очень часто возникает задача конвертации данных из одной БД в другую, из внешнего файла разного формата в БД и наоборот. При этом типы данных внутри БД могут быть не только текстовые, но и бинарные (binary или varbinary). Бинарные и текстовые данные, как известно, в SQL Server Management Studio обрезаются и не выводятся полностью. В связи с этими недостатками пришлось написать свое приложение для конвертации данных в/из MSSQL на языке C# (.NET Framework 4.0). Приложение называется ImportExportDataSql и изначально он создавался именно для конвертации из бинарных полей БД в файлы, но потом функционал расширялся. Приложение портативное, без рекламы и не требует доступа в Интернет.

Возможности приложения

  1. Результат SQL-запроса выборки данных генерит данные в SQL-формате с проверкой наличия записи в таблице по указанному пользователем условию WHERE
  2. Несколько результатов SQL-запросов объединяются в один файл, если пользователь укажет в разных задачах одинаковое имя выходного файла
  3. Все настройки хранятся в XML файле
  4. Возможность запуска из консоли
  5. Быстрая загрузка/выгрузка в БД при работе с CSV
  6. Возможность загружать Excel-файлы в двух режимах
  7. Выполняются только отмеченные задачи
  8. Задачи, выполненные с ошибками подсвечиваются красным цветом, а без ошибок — зеленым. Сообщение об ошибке при этом выводится не только в лог, но и в виде всплывающей подсказки напротив строки, где возникла ошибка

С этим читают