Where ms sql: Предложение WHERE (Transact-SQL) — SQL Server
Содержание
Подключение к локальному источнику Microsoft SQL Server (на основе журнала)
В этом разделе описано, как настроить источник Microsoft SQL Server (на основе журнала) в задаче промежуточного хранения. Прежде чем начать задачу промежуточного хранения, проверьте, что выполнены Предварительные требования, настройте Необходимые разрешения, и ознакомьтесь с ограничениями, перечисленными в разделе Ограничения и замечания.
В этом разделе описаны доступные свойства подключения. Если не указано иное, все свойства являются обязательными.
Источник данных
Шлюз данных: имя шлюза движения данных, которое будет использоваться для доступа к данным.
Поставщик облака: Отсутствует
Сервер: IP-адрес или имя сервера, на котором установлена база данных Microsoft SQL Server.
Примечание к информации
Добавьте порт к имени сервера, разделив их запятой, если нужно заменить порт по умолчанию новым значением. Например, если имя сервера —
myserver.company.local
и используется порт3333
, то имя сервера должно выглядеть так:myserver.company.local,3333
Свойства учетной записи (Account properties)
Имя пользователя и пароль: Имя и пароль пользователя, у которого есть доступ к базе данных Microsoft SQL Server.
Свойства базы данных
База данных: Имя базы данных.
- Шифрование (Encrypt): Выберите тип шифрования при обмене с сервером базы данных.
- Сертификат доверенного сервера (Trust server certificate): Проверка доверенной цепочки не производится, система автоматически доверяет сертификату сервера. Если активно, параметры сертификата клиента недоступны.
- Сертификат клиента: сертификат клиента, запрашиваемый сервером.
- Ключ сертификата клиента (Client certificate key): файл закрытого ключа клиента в формате PEM.
Свойства CDC
Политика защиты (Safeguard policy): Data Movement gateway будет пытаться захватить из активного журнала транзакций (TLOG) все непрочитанные изменения, чтобы обеспечить оптимальную производительность. Однако иногда из-за усечения активный журнал TLOG может содержать не все непрочитанные изменения. Когда это происходит, Data Movement gateway обращается к журналу резервных копий, чтобы захватить недостающие изменения. Чтобы свести к минимуму количество обращений к журналу резервных копий, Data Movement gateway предотвращает усечение с помощью методов, описанных ниже.
Использовать агент репликации SQL Server (Rely on SQL Server replication agent):это метод по умолчанию. При использовании этого метода Data Movement gateway предотвращает усечение TLOG, имитируя транзакцию в базе данных. Пока такая транзакция открыта, изменения, появившиеся после начала выполнения транзакции, не будут усечены. Этот метод следует выбрать, если необходимо, чтобы в базе данных была включена функция репликации Microsoft.
Эксклюзивное автоматическое усечение (Exclusive automatic truncation): Когда используется этот метод, задача промежуточного хранения считывает изменения и затем использует
sp_repldone
для пометки транзакций TLOG как готовой к усечению. Хотя этот метод не подразумевает транзакционных действий, его можно использовать, только когда Microsoft Replication не работает. Кроме того, при использовании этого метода только одна задача промежуточного хранения может получить доступ к базе данных в конкретный момент времени. Поэтому если требуется выполнять параллельные задачи промежуточного хранения в одной базе данных, используйте метод по умолчанию.Примечание к информации
- Для использования этого метода требуется остановить агент чтения журнала в базе данных. Если агент чтения журнала работает на момент запуска задачи, Data Movement gateway завершит его работу в принудительном порядке. Также можно остановить агент чтения журнала вручную, прежде чем запускать задачу промежуточного хранения. Инструкции см. в справке по Microsoft SQL Server Management Studio.
- При использовании этого метода с MS-CDC задания «Захват CDC» и «Очистка CDC» следует завершить и отключить.
- Этот метод недоступен, когда задание репликации Microsoft SQL Server располагается на удаленном распределяющем компьютере, так как Data Movement gateway не имеет доступа к удаленному компьютеру.
Применять политику предотвращения усечения TLOG раз в сек. (Apply TLOG truncation prevention policy every (seconds)):Укажите, как часто следует предотвращать усечение TLOG с помощью одного из методов, описанных выше. Факторы, которые следует учитывать, определяя частоту применения политики, включают доступность хранилища, резервное копирование и ведение журнала, а также скорость, с которой Data Movement gateway обрабатывает события.
Примечание к информации
Если выбрано Эксклюзивное автоматическое усечение, то использование слишком короткого интервала (например, 1) может отрицательно повлиять на обработку задачи и даже вызвать ошибку.
Изменить режим обработки (читать изменения начиная с) (Change processing mode (Read changes from)): Выберите один из режимов обработки изменений:
- Приоритет онлайн-журналов — значение по умолчанию. Data Movement gateway сначала будет искать изменения в онлайн-журналах транзакций. Если изменения не найдены в онлайн-журналах транзакций, то поиск продолжается в журналах резервных копий транзакций.
Приоритет журналов резервных копий — если выбран этот параметр, Data Movement gateway сначала будет искать изменения в журналах резервных копий транзакций. Это может повысить производительность в случае, если чтение из онлайн-журналов транзакций происходит медленно (например, из-за конфликтов при блокировках) или если доступ к журналам резервных копий транзакций осуществляется на уровне файлов.
Если изменения не найдены в журналах резервных копий транзакций, то поиск продолжается в онлайн-журналах транзакций.
- Только журналы резервных копий (Backup Logs Only) — если выбрано, убедитесь, что изменения сохраняются только в журналах резервных копий транзакций. Выбор этого метода приводит к увеличению времени отклика из-за того, что резервные копии делаются с интервалом. Текущее время отклика сохраняется постоянным, но может меняться в зависимости от расписания резервного копирования.
- Только журналы онлайн-транзакций (Online Logs Only)— если выбрано, убедитесь, что изменения сохраняются только в журналах онлайн-транзакций.
Другая папка резервного копирования (Alternate backup folder): Место хранения журналов резервного копирования, если резервное копирование производится с помощью утилит других разработчиков (например, вместо системы резервного копирования, встроенной в Microsoft SQL Server). Примечание. В указанную папку следует экспортировать файлы резервного копирования в стандартом формате Microsoft SQL Server.
- Выбрать тип виртуального устройства резервного копирования (Select virtual backup device types): если активен этот параметр, изменения считываются с указанного виртуального устройства. Как правило, этот параметр нужен, если используется утилита резервного копирования стороннего разработчика (которая работает как виртуальное устройство).
Имя
Отображаемое имя подключения источника.
Подключение к Microsoft SQL Server из ArcGIS—ArcMap
- Подключение из ArcMap
- Подключение из ArcGIS Server
Чтобы подключиться к Microsoft SQL Server из клиента ArcGIS, установите поддерживающий Microsoft SQL Server драйвер ODBC на клиентской машине ArcGIS и подключитесь к базе данных из клиента ArcGIS.
Так как клиент ODBC SQL Server настроен на всех клиентских компьютерах ArcGIS, создайте файл подключения к базе данных. Для публикации веб-сервисов ArcGIS Server, ссылающихся на данные в вашей базе данных SQL Server зарегистрируйте файл подключения к базе данных с сайтами ArcGIS Server.
Подключение из ArcMap
Для подключения к базе данных или базе геоданных SQL Server из ArcMap установите драйвер ODBC Microsoft для SQL Server на компьютер с ArcMap и создайте файл подключения в дереве Каталога. Сначала убедитесь, что экземпляр SQL Server может принимать подключения от удаленных компьютеров.
Настройка экземпляра на прием подключений
По умолчанию экземпляры SQL Server не могут принимать подключения от удаленных компьютеров. Если у вас имеется только что установленный SQL Server, убедитесь, что службаSQL Server работает и слушает необходимые порты. См. документацию Microsoft SQL Server для получения более подробной информации.
Установка драйвера ODBC для SQL Server
Загрузите драйвер Microsoft ODBC для SQL Server с сайта поддержки Microsoft Download Center или с сайта My Esri. Убедитесь, что вы загрузили ODBC Microsoft, поддерживаемый версией SQL Server, к которому вы будете подключаться. Установите драйвер на все компьютеры с ArcMap.
Если вы устанавливаете клиент на 64-разрядную ОС, запустите 64-разрядный exe-файл – он установит 32- и 64-разрядные файлы. Если вы запускаете 32-разрядный исполняемый файл на 64-разрядной операционной системе, произойдет сбой.
Подключение к базе данных
К базе данных или базе геоданных в SQL Server можно подключиться, добавив подключение в узле Подключения баз данных дереве Каталога в ArcMap или ArcCatalog или с помощью инструмента Создать подключение базы данных.
В следующих шагах описано использование диалогового окна Подключение базы геоданных:
- Разверните папку Подключения баз данных в дереве Каталога в ArcMap или ArcCatalog и щелкните дважды на Добавить подключение базы данных.
- Из ниспадающего списка Платформа базы данных выберите SQL Server.
- Введите название экземпляра SQL Server в поле Экземпляр.
Например, при использовании экземпляра по умолчанию SQL Server укажите имя экземпляра или IP-адрес сервера в текстовом окне Источник данных. При задании IPV6-адреса заключите адрес в квадратные скобки. Например, если IPV6-адрес сервера 2000:ab1:0:2:f333:c432:55f6:d7ee, введите [2000:ab1:0:2:f333:c432:55f6:d7ee] в текстовом окне Экземпляр.
Если ваша база данных использует порт, отличный от заданного по умолчанию (1433), включите номер порта в экземпляр. Например, если экземпляр SQL Server – basset\spatial, и он использует порт 61000, введите basset\spatial,61000 в текстовом поле Экземпляр.
Если имя вашего экземпляра Azure SQL Database – cloudy4u.database.windows.net, введите cloudy4u.database.windows.net в текстовом поле Экземпляр. Если вы работаете с экземпляром SQL Server с именем terra\gis, введите terra\gis в текстовом окне Экземпляр.
Примечание:
В текстовом поле Экземпляр требуется дополнительная информация для подключения к базе данных с высокой доступностьюSQL Server.
- Выберите тип аутентификации, который будет использоваться при подключении к базе данных: Аутентификация в базе данных или Аутентификация средствами операционной системы .
- Если вы выберете Аутентификация средствами операционной системы, вам не потребуется вводить имя пользователя и пароль – подключение будет создано с помощью имени пользователя и пароля, которые используются для входа в операционную систему. Если имя пользователя, которое используется для входа в операционную систему, не является корректным именем пользователя базы данных, подключение не будет установлено.
Если вы выбираете Аутентификация в базе данных, вы должны ввести корректные имя пользователя и пароль в текстовых полях Имя пользователя и Пароль соответственно. Имена пользователей могут иметь длину не более 30 символов.
Снимите отметку с опции Сохранять имя пользователя и пароль, если вы предпочитаете не сохранять свои данные для входа в качестве части соединения; такие действия помогут обеспечить безопасность базы данных. Однако если вы это сделаете, при каждом подключении с настольных клиентов вы должны будете вводить имя пользователя и пароль.
Примечание:
- Опция Сохранять имя пользователя и пароль должна быть включена для файлов подключения, обеспечивающих сервисам ArcGIS доступ к базе данных, либо, если вы хотите найти данные ArcGIS Desktop, полученные через этот файл подключения.
- Вне ArcGIS вы можете создать имена пользователей SQL Server, содержащие специальные символы. Такие имена пользователей при использовании должны разделяться. ArcGIS автоматически добавляет разделитель при передаче в SQL Server; вам не нужно вводить разделители в имя пользователя. Например, если имя пользователя – map.user, введите map.user, а не «map.user» в поле Имя пользователя. Для получения более подробной информации об обычных и сложных идентификаторах обратитесь к документации к SQL Server.
- В поле База данных введите или выберите имя определенной базы данных SQL Server или на экземпляре Azure SQL Database, к которой вы хотите подключиться. Длина имени базы данных ограничена 31 символом.
Подсказка:
Вводить имя базы данных при подключении к экземпляру SQL Server необязательно, но только в том случае, если вы подключаетесь к базе данных, которая была назначена базой данных по умолчанию в экземпляре SQL Server. Имя базы данных требуется при подключении к Azure SQL Database.
В следующем примере выполнено подключение к базе данных spatialdata на экземпляре SQL Server server1\ss08r2 с использованием аутентификации в базе данных.
- Нажмите OK для подключения.
Файл создается в \\<computer_name>\Users\<user_name>\AppData\Roaming\ESRI\Desktop<release#>\ArcCatalog.
Вы можете переместить файл подключения в другое место, предварительно убедившись, что пользователи и приложения, которым потребуется подключение, имеют права чтения информации в директории, куда вы хотите его переместить.
Если вы используете данные из этого подключения в качестве источника для таких сервисов, как геообработка или геокодирование, возможно, потребуется поместить файл подключения в папку с общим сетевым доступом. Дополнительные сведения о публикации файла подключения см. в разделе Предоставление доступа к данным для ArcGIS Server.
Подключение из ArcGIS Server
Если SQL Server и ArcGIS Server находятся на разных серверах, установите драйвер Microsoft ODBC SQL Server на всех компьютерах сайта ArcGIS Server. Сначала убедитесь, что экземпляр SQL Server настроен на прием подключений с удаленных компьютеров.
Настройка экземпляра на прием подключений
По умолчанию экземпляры SQL Server не могут принимать подключения от удаленных компьютеров. Если у вас имеется только что установленный SQL Server, убедитесь, что службаSQL Server работает и слушает необходимые порты. См. документацию Microsoft SQL Server для получения более подробной информации.
Установка драйвера ODBC для SQL Server
Если ArcGIS Server и SQL Server установлены на разных компьютерах, необходимо установить 64-разрядный драйвер ODBC Microsoft для SQL Server на все компьютеры сайта ArcGIS Server. Его можно получить на сайте Download Center Microsoft. Убедитесь, что вы загрузили ODBC Microsoft , поддерживаемый версией SQL Server, к которому будет подключаться сайт ArcGIS Server.
Примечание:
При подключении из ArcGIS Server на Ubuntu к любой версии SQL Server вы должны установить пакет Microsoft unixodbc-dev на все машины с ArcGIS Server в дополнение к драйверу ODBC.
Регистрация базы данных
Если вы хотите, чтобы публикуемые на ArcGIS Server сервисы использовали данные из базы данных или базы геоданных SQL Server, необходимо зарегистрировать базу данных на сайте ArcGIS Server. Это можно выполнить в ArcMap или ArcGIS Server Manager.
SQL Server WHERE
Резюме : в этом руководстве вы узнаете, как использовать предложение SQL Server WHERE
для фильтрации строк, возвращаемых запросом.
Введение в SQL Server
WHERE
предложение
Когда вы используете оператор SELECT
для запроса данных по таблице, вы получаете все строки этой таблицы, что необязательно, поскольку приложение может обрабатывать только набор строк в время.
Чтобы получить строки из таблицы, которые удовлетворяют одному или нескольким условиям, вы используете WHERE
предложение следующим образом:
SELECT select_list ОТ имя_таблицы ГДЕ условие_поиска; Язык кода: SQL (язык структурированных запросов) (sql)
В предложении WHERE
вы указываете условие поиска для фильтрации строк, возвращаемых предложением FROM
. Предложение WHERE
возвращает только те строки, в которых условие поиска оценивается как TRUE
.
Условием поиска является логическое выражение или комбинация нескольких логических выражений. В SQL логическое выражение часто называют предикат .
Обратите внимание, что SQL Server использует логику трехзначных предикатов, где логическое выражение может принимать значение TRUE
, FALSE
или UNKNOWN
. Предложение WHERE
не вернет строку, в результате которой предикат оценивается как FALSE
или UNKNOWN
.
SQL Server
WHERE
примеров
Для демонстрации мы будем использовать таблицу production.products
из примера базы данных.
A) Поиск строк с помощью простого равенства
Следующий оператор извлекает все продукты с идентификатором категории 1:
SELECT Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство.продукция ГДЕ id_категории = 1 СОРТИРОВАТЬ ПО list_price DESC; Язык кода: SQL (язык структурированных запросов) (sql)
B) Поиск строк, соответствующих двум условиям
В следующем примере возвращаются продукты, соответствующие двум условиям: идентификатор категории равен 1, а модель — 2018. логический оператор И
для объединения двух условий.
ВЫБОР Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство.продукция ГДЕ category_id = 1 И model_year = 2018 СОРТИРОВАТЬ ПО list_price DESC; Язык кода: SQL (язык структурированных запросов) (sql)
C) Поиск строк с помощью оператора сравнения
Следующая инструкция находит продукты, прайс-лист которых превышает 300, а модель — 2018.
ВЫБОР Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство.продукция ГДЕ list_price > 300 И model_year = 2018 СОРТИРОВАТЬ ПО list_price DESC; Язык кода: SQL (язык структурированных запросов) (sql)
D) Поиск строк, удовлетворяющих любому из двух условий одно из этих условий включается в набор результатов.
ВЫБОР Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство. продукция ГДЕ list_price > 3000 ИЛИ model_year = 2018 СОРТИРОВАТЬ ПО list_price DESC; Язык кода: SQL (язык структурированных запросов) (sql)
Обратите внимание, что оператор OR
объединяет предикаты.
E) Поиск строк со значением между двумя значениями
Следующий оператор находит продукты, прейскурантные цены которых находятся между 1,899 и 1999,99:
ВЫБОР Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство.продукция ГДЕ list_price МЕЖДУ 1899.00 И 1999.99 СОРТИРОВАТЬ ПО list_price DESC; Язык кода: SQL (язык структурированных запросов) (sql)
F) Поиск строк со значением в списке значений
В следующем примере оператор IN
используется для поиска продуктов, прейскурантная цена которых составляет 299,99. или 466,99 или 4890,99.
ВЫБОР Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство. продукция ГДЕ list_price IN (299,99, 369,99, 489,99) СОРТИРОВАТЬ ПО list_price DESC; Язык кода: SQL (язык структурированных запросов) (sql)
G) Поиск строк, значения которых содержат строку
В следующем примере оператор LIKE
используется для поиска продуктов, название которых содержит строку Cruiser
:
ВЫБЕРИТЕ Код товара, наименование товара, id_категории, год выпуска, список цен ОТ производство.продукция ГДЕ product_name НРАВИТСЯ '%Cruiser%' СОРТИРОВАТЬ ПО список цен; Язык кода: SQL (язык структурированных запросов) (sql)
Из этого руководства вы узнали, как использовать предложение SQL Server WHERE
для фильтрации строк на основе одного или нескольких условий.
Как просмотреть расположение файлов базы данных SQL Server
Собственное решение
Netwrix Auditor для SQL Server
Шаги
- Запуск Microsoft SQL Server Management Studio (MSSMS) .
- В меню Файл выберите Подключить обозреватель объектов . В диалоговом окне Подключиться к серверу :
- В списке Тип сервера выберите Database Engine .
- В текстовом поле Имя сервера введите имя сервера кластера SQL.
- В списке Аутентификация выберите метод Аутентификация SQL Server и укажите учетные данные пользователя. Если вы не хотите повторно вводить пароль каждый раз при подключении к серверу, отметьте Запомнить пароль .
- Нажмите Подключить .
- После подключения нажмите « New Query » и вставьте следующий скрипт в поле запроса:
SELECT
mdf.database_id,
mdf.name,
mdf.physical_name as data_file,
ldf.physical_name as log_file,
db_size = CAST((mdf. size * 8.0)/10 24 AS DECIMAL(8,2)),
log_size = CAST((ldf.size * 8.0/1024) AS DECIMAL(8,2))
FROM (SELECT * FROM sys.master_files WHERE type_desc = ‘ROWS’ ) mdf
JOIN (SELECT * FROM sys.master_files WHERE type_desc = ‘LOG’ ) ldf
ON mdf.database_id = ldf.database_id
- Щелкните Выполнить (или нажмите клавишу F5).
- Просмотрите список файлов базы данных сервера в результатах выполнения запроса:
Щелкните здесь для редактирования
- Откройте Netwrix Auditor и перейдите к Report s -> Predefined -> SQL Server — State-in- Время -> Базы данных SQL Server .
- Щелкните Просмотр .
Microsoft SQL Server стал одной из самых популярных систем управления реляционными базами данных как для малого, так и для крупного бизнеса. ИТ-специалисты должны иметь возможность точно сказать, где хранятся важные файлы базы данных SQL, без задержек или ошибок по нескольким причинам, например, для облегчения процессов резервного копирования и восстановления, для передачи файлов в другое место или для поиска папки, если сервер Экземпляр был установлен в нестандартное место.
SQL Server хранит данные, используя два расширения файлов:
- Файлы MDF — это файлы данных, которые содержат данные и объекты, такие как таблицы, индексы, хранимые процедуры и представления.
- Файлы LDF — это файлы журнала транзакций, в которых записываются все транзакции и модификации базы данных, сделанные каждой транзакцией.
Расположение файла базы данных по умолчанию для экземпляров сервера зависит от версии программного обеспечения Microsoft SQL Server:
- SQL Server 2014 — C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA\
- SQL Server 2016 — C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\DATA\
- SQL Server 2017 —C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\
У вас есть два встроенных способа узнать, где SQL-сервер хранит свои файлы базы данных: либо щелкнуть правой кнопкой мыши имя экземпляра в SQL Server Management Studio (SSMS) и перейдите на вкладку «Параметры базы данных» или используйте запрос T-SQL.