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

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

1
SSDT-схема порівняння не працює, поки працює BULK INSERT
Я працюю над великим проектом ETL та DW, де ми використовуємо управління TFS / джерелом разом із SSIS та SSDT. Сьогодні я з’ясував, що хоча пакет SSIS виконує ВСТУПНУ ВСТУПУ в таблиці бази даних, неможливо виконати порівняння схеми SSDT з цією базою даних. Це прикро, оскільки для завершення деяких наших …
11 sql-server  ssis  ssdt 

6
Перехід із SQL Server 2000 на 2012 рік без примірника 2005 або 2008
Я натрапив на три старі бази даних, що знаходяться на SQL Server 2000, які мені потрібно перенести до 2012 року. Я вважаю, що стандартним підходом є відновлення в екземплярі 2005 або 2008 років, оновлення, реекспорт і, нарешті, відновлення до 2012 року. Штраф, за винятком випадків, коли ми не маємо примірників …

2
Як отримати контекст винятку для піднятого вручну винятку в PL / pgSQL?
У Postgres ми отримуємо "стек стеження" винятків за допомогою цього коду: EXCEPTION WHEN others THEN GET STACKED DIAGNOSTICS v_error_stack = PG_EXCEPTION_CONTEXT; Це чудово працює для "природних" винятків, але якщо ми створимо виняток, використовуючи RAISE EXCEPTION 'This is an error!'; ... тоді сліду стека немає. Згідно запису списку розсилки , це …

3
Підтвердження політики паролів на існуючих користувачах
Нещодавно я потрапив у середовище, коли для багатьох вхідних баз даних не enforce_password_policyвключено прапор. Майбутній аудит вимагає перевірити паролі цих входів. Я використовував наступний запит, щоб отримати список входів і те, чи увімкнено чи вимкнено прапори. select @@SERVERNAME as servername, name, IS_SRVROLEMEMBER('sysadmin', name) as SYSADMIN, type_desc, create_date, is_policy_checked, is_disabled, password_hash, …

1
Що це за перевернутий срібний значок ключа
Я успадкував сторонній сервер і базу даних SQL Server 2005, щоб шукати, щоб можна було генерувати звіти та інформаційні панелі. На одному столі я знайшов нову піктограму: синьо-сріблястий перевернутий ключ поряд з іншими моїми первинними та зовнішніми ключами. Коли я клацнув правою кнопкою миші, контекстне меню дає мені можливість "Сценарій …

1
Знімки для зберігання для постійного резервного копіювання postgresql - різні дані та обсяги журналу
Ми запускаємо багато віртуальних машин Linux у середовищі зберігання vmware / спільного зберігання, кожен з яких має свій власний екземпляр postgreSQL (поєднання 9.0 та 9.3). В даний час весь VM сидить на одному кореневому розділі / томі, і ми мали великий успіх (~ 8 років), використовуючи на основі сховища знімки …

2
Зберігання IP-адрес - varchar (45) vs varbinary (16)
Я збираюся створити таблицю з двома полями - IDяк BIGINTі IPAddressяк або varchar(45)або varbinary(16). Ідея полягає в тому, щоб зберігати всі унікальні IP-адреси та використовувати посилання IDзамість фактичного IP addressв інших таблицях. Як правило, я збираюся створити збережену процедуру, яка повертає IDзадану IP addressабо (якщо адресу не знайдено) вставити адресу …

1
Блокування в Postgres для комбінації UPDATE / INSERT
У мене дві таблиці. Один - таблиця журналів; інший, по суті, містить купонні коди, які можна використовувати лише один раз. Користувачеві необхідно мати можливість викупити купон, який вставить рядок у журнальну таблицю та позначить купон як використаний (оновивши usedстовпчик до true). Природно, тут очевидний стан гонки / проблема безпеки. У …

1
Високий PAGELATCH_ * і WRITELOG чекає. Вони пов'язані?
Ми спостерігаємо дуже високі типи очікування PAGELATCH_EX та PAGELATCH_SH, а також високий WRITELOG очікування. Я діагностував запит, що спричиняє очікування PAGELATCH і може усунути їх, зменшивши швидкість вставки в зайнятий кластерний первинний ключ, визначений значенням IDENTITY. Я розумію, що це явище відоме як суперечка із засувкою на останній сторінці. Однак …

2
ROLLBACK не працює після введення в новостворену таблицю призначення
Я працюю над PHP-скриптом, який імпортує файл CSV ( customers.csv) у таблицю MySQL ( customers). Перш ніж вставляти вміст CSV-файлу в таблицю mysql, я спочатку створюю резервну копію оригінальної customersтаблиці. Я завершую весь процес імпорту (включаючи резервне копіювання) транзакцією mysql (щоб врахувати випадки, коли CSV пошкоджений десь посередині, і щоб …

2
Оцінка кардинальності SARG: чому б не провести повне сканування?
Чому не існує повного сканування (на SQL 2008 R2 та 2012)? Дані тесту: DROP TABLE dbo.TestTable GO CREATE TABLE dbo.TestTable ( TestTableID INT IDENTITY PRIMARY KEY, VeryRandomText VarChar(50), VeryRandomText2 VarChar(50) ) Go Set NoCount ON Declare @i int Set @i = 0 While @i < 10000 Begin Insert Into dbo.TestTable(VeryRandomText, …

1
Було б краще, щоб плани запитів були розділені заявою для повторної використання?
З моїх обмежених знань про те, як плани запитів складаються, зберігаються та отримуються за допомогою запитів, я розумію, що запит із декількома операторами або збережена процедура генерує план запитів, який буде зберігатися в кеші плану плану, який буде використаний запитом у майбутніх виконаннях. Я думаю, що цей план витягується з …

3
SQL Server: надайте вибір вибору користувачеві в представленні, а не в його таблицях
У мене є екземпляр SQL Server 2012 з кількома базами даних. В одному з них я створив представлення, яке вибирає таблиці більш ніж у базі даних. Я хочу, щоб користувач міг вибрати цей вид, але він не повинен вибирати його таблиці. Представлення створено саме тому, що користувач не може вибрати …


2
Розуміння статистики, планів виконання та "ключова проблема"
Я намагаюся краще зрозуміти (концептуально) взаємозв'язок між статистикою, планами виконання, виконанням збереженої процедури. Чи правильно я кажу, що статистичні дані використовуються лише при створенні плану виконання збереженої процедури, і вони не використовуються в реальному контексті виконання? Іншими словами, якщо це правда, як тільки план створений (і якщо припустити його належним …

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