Sql server в питаннях і відповідях

SQL Server в питаннях і відповідях.

eManual.ru - електронна документація SQL Server в питаннях і відповідях

Дивно, але і ODBC і OLE DB обходять цю установку. Можна спробувати використовувати різні опції для тонкої настройки роботи з Null. На рівні бази даних для вибору методу роботи (ANSI, або режим зворотної сумісності SQL Server) можна застосовувати функцію sp_dboption. Крім того, є можливість змінювати параметри установок конкретного сеансу зв'язку з базою, за допомогою команди Transact SQL (T-SQL) SET ANSI_NULL_DFLT, а для визначення поточних установок обробки Null користуватися функцією GETANSINULL ().

В: Що таке утиліта ScriptPkg в Data Transformation Services (DTS) і де її знайти?

ScriptPkg записує весь пакет DTS як одну процедуру, а розмір процедури в VB не може бути більше 64 Кбайт. Тому, якщо сценарій ScriptPkg більше ніж 64 Кбайт, треба вручну розбити його на кілька частин.

ScriptPkg - це потужне діагностичне засіб, який до того ж дозволяє навчитися DTS-програмування із застосуванням технології COM. Ви можете використовувати ScriptPkg, щоб вивчити недокументовані можливості DTS. Надалі знання VBScript стане в нагоді Вам у вирішенні завдань адміністрування SQL Server.

В: Я відкрив невелику телекомунікаційну фірму. Microsoft Visual FoxPro використовувався мною як середовище розробки додатків і зберігання даних. Я хотів би імпортувати ряд додатків в SQL Server. Однак мої програми пов'язані з UDF, і я не знаю, як визначити їх в SQL Server. Я переглядав групи новин і Новомосковскл SQL Server 7.0 Books Online (BOL). Так чи підтримує SQL Server 7.0 UDF чи ні?

В: За допомогою яких засобів були створені дані для програми FoodMart, яке поставляється разом з Microsoft SQL Server OLAP Services (MSOLAP)? Чому для даних FoodMart використовувалася база даних Access, а не таблиці SQL Server?

Про: Хоча на одному комп'ютері можна запускати кілька примірників SQL-сервера, залишити на ньому різні версії утиліт не можна. З новою версією SQL Server доведеться використовувати відповідні версії утиліт (Query Analyzer, SQL Enterprise Manager, SEM, Microsoft Data Access Components, MDAC) для роботи з SQL Server 7.0. Не встановлюйте нові екземпляри, якщо не хочете втратити старі версії утиліт.

Теоретично можна "зламати" виконувані модулі і DLL або ж внести необхідні зміни до реєстру, але в цьому випадку Ви ризикуєте порушити стабільну роботу системи. Поки ми не дізнаємося, як коректно обійти це обмеження, не варто вирішуватися на подібні експерименти.

В: Я хотів би зберігати опису полів таблиць, їх основних властивостей, а також бізнес-властивостей. Наприклад, якщо у мене є стовпець OrderDate в таблиці Orders, я повинен знати, чи містить поле дату розміщення замовлення клієнтом або в ньому вказана дата виконання замовлення. Як це зробити за допомогою Microsoft Repository?

Наприклад, щоб зберегти опис стовпця au_id в таблиці authors в базі даних pubs, потрібно натиснути правою кнопкою миші на імені стовпчика в вікні Object Browser (новий інтерфейс Query Analyzer), потім вибрати Extended Properties. Тепер слід додати нову властивість WhatAmI і внести значення "I am the author id column.". Те ж саме можна зробити, використовуючи процедуру sp_addextendedproperty:

sp_addextendedproperty 'WhatAmI2', 'This is a new property value', 'user', dbo, 'table', authors, 'column', au_id

Потім можна застосувати стандартний оператор SELECT з новою функцією fn_listextendedproperty, щоб витягти інформацію:

SELECT * FROM. fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'authors', 'column', default) Objtype objname name value COLUMN au_id WhatAmI I am the author id column. COLUMN au_id WhatAmI2 This is a new property value SELECT * FROM. fn_listextendedproperty (NULL, 'user', 'dbo', 'table', 'authors', 'column', default)

Про: Найкраще розробити додаток (або прототип), яке вирішує реальні завдання. Раджу придумати додаток для себе або створити базу даних для невеликої організації.

В: Я писав збережену процедуру і зіткнувся з проблемою при використанні оператора TOP з локальної змінної замість фіксованого числа. Наприклад, коли я пишу: DECLARE @Counter INT SELECT @ Counter = 5 SELECT TOP @Counter * FROM процедура повертає помилку. Але рядок SELECT TOP 5 * FROM працює. Що робити в такому випадку?

Про: Згідно SQL Server Books Online (BOL), можна використовувати N в розділі TOP, щоб обмежити кількість рядків, що повертаються в результаті виконання SELECT запиту. Але N має бути числом типу integer. У SQL Server 7.0 мову Transact SQL (T-SQL) не дозволяє задіяти локальну змінну в розділі TOP N, навіть якщо та має тип integer. Локальні і глобальні змінні можна ідентифікувати за допомогою префіксів: @ - для локальних і @@ - для глобальних змінних. Можна також використовувати оператор SET, щоб привласнити значення локальної змінної, або ж визначити локальні змінні, посилаючись на них в списку полів оператора SELECT. Наступний приклад, ймовірно, допоможе вирішити Вашу задачу: DECLARE @counter INT DECLARE @sql VARCHAR (255) SET @ Counter = 5 SELECT @sql =