Вчора я задав це питання щодо зміни dbo декількох баз даних, які у мене є. Зміна має сенс, але я хочу бути зрозумілою.
Чи є якась вагома причина чи обставина, чому я не повинен встановлювати dbo бази даних на [sa]?
Вчора я задав це питання щодо зміни dbo декількох баз даних, які у мене є. Зміна має сенс, але я хочу бути зрозумілою.
Чи є якась вагома причина чи обставина, чому я не повинен встановлювати dbo бази даних на [sa]?
Відповіді:
Зробити SA власником бази даних насправді спрощує та / або вирішує ряд речей, але може мати певні наслідки для безпеки.
Зокрема, пам’ятайте, що якщо SA є власником бази даних, то dbo = 'SA'
. Це означає, що, крім усього іншого, будь-які процедури в схемі [dbo] (що є типовим за замовчуванням), у яких "ВИКОНАННЯ як власника", насправді виконуються як SA. Це не зовсім так погано , як це звучить, тому що , якщо ви не ставите галочку базу даних як заслуговує довіру, SQL Server не дозволить сеанс або завдання з бази даних з уособлених основним рівнем сервера , як це.
Що викликає наступний момент: ніколи не відзначити такі бази даних , як заслуговує на довіру, якщо ви не на самому ділі , на самому ділі впевнений , що це безпечно. Тому що кожен, хто має можливість створювати процедури в схемі [dbo], може виконувати як SA, на всьому сервері, якщо захоче.
Інша проблема може виникнути через те, що багато продуктів і додатків, які мають власну базу даних SQL Server, часто вказують, що вхід для їх застосування повинен бути DBO бази даних. Очевидно, ви могли це вирішити, зробивши реєстраційну заявку на "SA". Будемо сподіватися, що також очевидно, що ви ніколи цього не робите, якщо тільки інстанція SQL Server не використовується ні для чого іншого (навіть тоді я б рекомендував проти цього).