Адміністратори баз даних

Питання та відповіді для професіоналів баз даних, які бажають покращити свої навички роботи з базами даних та дізнатися від інших у спільноті

5
Спроба повернути невикористаний простір призводить до значного збільшення використовуваного простору на SQL Server
У мене є таблиця у виробничій базі даних, що має розмір 525 ГБ, з яких 383 ГБ не використовується: Я хотів би відновити частину цього простору, але, перш ніж поплутатися з виробничим БД, я тестую деякі стратегії на ідентичній таблиці в тестовій БД з меншою кількістю даних. Ця таблиця має …

2
SQL Server 2017 з 500 базами даних - Часті АГ відключаються з CU9
Привіт усім і заздалегідь дякую за допомогу. У нас виникають проблеми з групами доступності SQL Server 2017. Фон Компанія - це роздрібне програмне забезпечення для B2B. Близько 500 баз даних одного орендаря та 5 спільних баз даних, якими користуються всі орендарі. Характеристика робочого навантаження читається здебільшого, і більшість баз даних …

2
Як час очікування може бути більшим за годинний?
Коли я відстежую очікування з sp_BlitzFirst, я отримую цю деталь: <?ClickToSeeDetails -- For 20 seconds over the last 5 seconds, SQL Server was waiting on this particular bottleneck. -- ?> Чи слід це читати "протягом 20 секунд 20 разів?" Знахідку було CLR_SEMAPHORE.

2
Індекс стовпців стовпців у групі файлів read_only заважає CheckDB
Здається, встановлення групи файлів read_onlyзапобігає dbcc checkdbдля всієї бази даних, якщо група файлів містить індекс стовпців стовпців. При спробі запуску checkdbабо checkfilegroup( для будь-якої групи файлів у базі даних, включаючи вторинники для читання і запису[PRIMARY] ), повертається нижче помилка ... Msg 8921, Level 16, State 1, Line 24 Check terminated. …

3
SQL Server: Як відключити тригер для оновлення лише для вашого поточного сеансу?
Я працюю над SQL Server 2008 R2. У мене є таблична вигода, яка має ПІСЛЯ ВСТАВИТИ, ОНОВЛЕННЯ тригера під назвою tiu_benefit . Я хочу написати операцію UPDATE для цієї таблиці, щоб оновити 1 рядок, але я не хочу, щоб його тригер спрацював. Я знаю, що можу вимкнути тригер перед UPDATE, …

2
Як знайти запит, який все ще містить замок?
Запит sys.dm_tran_locksDMV показує, які сеанси (SPID) містять блокування на таких ресурсах, як таблиця, сторінка та рядок. Чи існує спосіб придбання блокування для кожного придбаного блокування? Я знаю, що most_recent_query_handleстовпець sys.dm_exec_connectionsDMV дає нам текст останнього виконаного запиту, але кілька разів інші запити виконувались раніше за той же сеанс (SPID) і все …

1
Чому COALESCE в підзапиті повертає NULL?
З огляду на цю схему: CREATE TABLE #TEST_COALESCE ( Id int NOT NULL, DateTest datetime NOT NULL, PRIMARY KEY (Id, DateTest) ); INSERT INTO #TEST_COALESCE VALUES (1, '20170201'), (1, '20170202'), (1, '20170203'), (2, '20170204'), (2, '20170205'), (2, '20170206'); Якщо я використовую COALESCE в підзапиті, він повертає NULL. SELECT t1.Id, t1.DateTest, …
15 sql-server 

1
Поганий підзапит із порівнянням дат
Використовуючи підзапит для пошуку загальної кількості всіх попередніх записів із відповідним полем, продуктивність на столі з жахливими записами на 50 тис. Без підзапиту запит виконується за кілька мілісекунд. З підзапитом час виконання - вище хвилини. Для цього запиту результат повинен: Включіть лише ті записи в заданий діапазон дат. Включіть кількість …

1
Чи безпечно додати новий вузол до кластеру Кассандра під час ремонту?
Я готуюсь розширити існуючий кластер Кассандри. У мене заплановані ремонти, які потрібно проводити повторно. Чи потрібно відключити ремонт при додаванні нового вузла в кластер, чи можу я завантажувати нові вузли, коли ремонт працює в іншому місці кластера?

6
Запит із деталізацією відмінностей між рядками для великого обсягу даних
У мене є ряд великих таблиць, кожна з яких> 300 стовпців. Додаток, який я використовую, створює "архіви" змінених рядків, роблячи копію поточного рядка у вторинній таблиці. Розглянемо тривіальний приклад: CREATE TABLE dbo.bigtable ( UpdateDate datetime, PK varchar(12) PRIMARY KEY, col1 varchar(100), col2 int, col3 varchar(20), . . . colN datetime …

3
Бінарний шлях у налаштуваннях pgAdmin
Я встановив PostgreSQL, оскільки мені потрібно відновити великий .backupфайл, який я отримав для завантаження на іншу платформу (це 38 мільйонів рядків, що, очевидно, було занадто великим, щоб людина могла експортувати будь-яким іншим способом). Коли я намагаюся "відновити" в pgAdmin 4, я отримую повідомлення: Налаштуйте бінарний шлях PostgreSQL у діалоговому вікні …

2
Приєднуйтесь до запиту, який займає 11 хвилин для роботи на таблиці 300 000 рядків
Нижче на запит потрібно більше 11 хвилин. SELECT `c`.*, `e`.`name` AS `employee_name`, `e`.`emp_no`, `d`.`code` AS `department_code`, IF(ew.code IS NOT NULL, ew.code, egw.code) AS shift_code, IF(ew.code IS NOT NULL, ew.time_in_from, egw.time_in_from) AS time_in_from, IF(ew.code IS NOT NULL, ew.time_out_to, egw.time_out_to) AS time_out_to, IF(ew.code IS NOT NULL, ew.next_day, egw.next_day) AS next_day FROM `tms_emp_badge_card` …

4
Опускання стовпців PostgreSQL 9.6 та побічні ефекти для функцій SQL з CTE
Якби у мене була таблиця з 3 стовпцями - скажімо, A, B і D - і мені довелося ввести нову - скажімо C, щоб замінити поточну позицію D. Я б застосував такий метод: Введіть 2 нові колонки як C і D2. Скопіюйте вміст від D до D2. Видалити D. Перейменуйте …


2
Як перевірити наявність персонажів, які не належать до Ассії
Який найкращий спосіб перевірити, чи є в полі VARCHAR символи Non-Ascii? CHAR(1)через CHAR(31)та CHAR(127)через CHAR(255). Я спробував використати PATINDEXі натрапив на наступну проблему. Перевірка нижнього діапазону працювала правильно. SELECT * FROM mbrnotes WHERE PATINDEX('%[' + CHAR(1)+ '-' +CHAR(31)+']%',LINE_TEXT) > 0 У моїх даних було три записи з 0x1E і всі …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.