ms sql server (ru)

  • Усечение лога транзакций в MS SQL Server 2005/2008/R2

    В Microsoft SQL Server 2005/2008/R2 усечение лога транзакций происходит совсем не так, как это было в 2000-й версии.

  • Выгружаем пользователей AD в базу MS SQL

    Здравствуйте!

    Продолжаю публикации скриптов. Сегодняшний наш пациент был разработан в процессе создания биллинга звонков. У каждого юзера в Active Direcotry есть поле, в котором прописан его внутренний номер телефона. Этот же номер фигурирует в биллинге, но нам конечно хочется видеть не что-то вроде "1316", а "Иванов Владислав Александрович". 

    В сети полно примеров и скриптов, позволяющих достать пользователей из AD в csv-файл. По логике, мы можем потом взять этот csv и импортировать в MS SQL с помощью SSIS-скриптов. Однако это мне это не понравилось, т.к. на выходе у нас получается аж два скрипта, работающих на разных технологиях + один промежуточный файл. И это только для одного домена AD. А у меня их 14.

  • Поиск строки в базе MS SQL Server

    Иногда, когда изучаешь софт, бывает необходимо найти некоторое значение в базе данных Microsoft SQL Server.

    Вот вам скрипт, который выполняем в Query Editor над базой. В строчке "set @search_string = 'what.you.are.searching.for';" в кавычках пишем, что мы ищем.

  • Изменение сервисной учетной записи для MS SQL Server 2012 и последующие трудности Изменение сервисной учетной записи для MS SQL Server 2012 и последующие трудности

    Предположим, что вам необходимо изменить учетную запись для службы MS SQL Server 2012. Раньше она была - System, а теперь надо работать под доменной учетной записью.

    Сама процедура смены учетной записи несложная. Лучше всего запустить Sql Server Configuration Manager и в разделе SQL Server Services изменить необходимую службу.

  • Пошаговое развертывание AlwaysOn - MS SQL 2012 Пошаговое развертывание AlwaysOn - MS SQL 2012

    До появления Microsoft SQL Server 2012 и механизма AlwaysOn, администраторы БД имели только одну не совсем удобную технолонию зеркалирования баз данных в SQL Server от Microsoft (Database Mirroring). Причем (как показала практика тестирования, и об этом не написано в документации) - это НЕ синхронная репликация базы и логов транзакций.

    Если вкратце - то мы изучали поведение базы данных при интенсивной записи и различных неисправностях. Какие сбои мы смотрели:

    • Штатное выключение мастер-сервера без уведомления зеркального сервера.
    • Нештатное выключение мастер-сервера.

    Как ни странно, именно штатное выключение показало, что есть некоторое различие между зеркалируемыми базами.

    Поэтому я бы не советовал использовать Database Mirroring в продуктивных решениях, а обратил бы внимание на технологию AlwaysOn.

  • Массовая запись в базу MS SQL скриптом на Powershell Массовая запись в базу MS SQL скриптом на Powershell

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

    Т.к. я совсем не знаю T-SQL, решил написать небольшой скрипт на Powershell для решения этой задачи.

    Нам понадобится:

    • Непосредственно база данных
    • Таблица в ней для службных нужд
  • Предоставление доступа к PaaS SQL базам данных в Azure Предоставление доступа к PaaS SQL базам данных в Azure

    Если вам надо предоставить доступ пользователям к PaaS SQL базам данных в Azure, можно использовать эти скрипты ниже (GUI-функционал при работе с PaaS SQL в Azure сильно ограничен).

  • Transparent Data Encryption / TDE на SQL Server: включение, ключи и сертификаты, бэкапы, восстановление Transparent Data Encryption / TDE на SQL Server: включение, ключи и сертификаты, бэкапы, восстановление

    Прозрачное шифрование данных (TDE) позволяет шифровать файлы данных SQL Server, База данных SQL Azure и Хранилище данных SQL Azure; это называется шифрованием хранящихся данных.

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

    Одним из решений может стать шифрование конфиденциальных данных в базе данных и защита ключей, используемых при шифровании, с помощью сертификата. Это не позволит использовать данные ни одному человеку, не имеющему ключей, но такой тип защиты следует планировать заранее.

  • Найти сервера с установленным MS SQL Server с помощью Powershell Найти сервера с установленным MS SQL Server с помощью Powershell

    Вот скрипт, который умеет искать сервера в вашем домене, на которых установлен Microsoft SQL Server.

    Скрипт умеет обрабатывать выключенные\неотвечающие сервера с помощью пингов WMI, что полезно, когда ICMP по какой-то причине заблокирован. Кроме этого, тут используется Powershell Remoting, поэтому сначала удостоверьтесь, что он включен.