Не дотримується схема за замовчуванням SQL Server 2008?


9

Ми просто скопіювали базу даних SQL 2008 на інший сервер для тестування. Типовий користувач, який входить в систему, використовує деякі об'єкти в певній схемі. Скажімо, це користувач fooі схема bar.

fooСхема за замовчуванням знаходиться barяк на рівні екземпляра, так і на базі даних. Однак, коли fooжурнали в ньому не можуть знайти жодних об'єктів у barсхемі, не використовуючи повністю кваліфіковане ім'я.

Чому тут не працює схема за замовчуванням?

Відповіді:


13

Чи має користувач foo sysadmin права на SQL Server? Тому що якщо це так, будь-який користувач sysadmin матиме за замовчуванням призначену схему dbo , незалежно від того, що встановлено у властивостях користувача для конкретної бази даних.

Отже, щоб мати схему за замовчуванням, користувачеві потрібно мати ролі бази даних, такі як db_owner, db_datawriter тощо, замість ролі сервера sysadmin.

Скажіть, якщо це не ваш випадок.


1
Ви бог, і я кланяюся вашим знанням, я був спантеличений, поки не натрапив на це!
Єнс

1

Ще один сценарій, за якого може виникнути ця проблема (SQL 2008 R2) ...

У мене був користувач, пов’язаний із входом у систему автентифікації SQL, який я намагався пов'язати з існуючою схемою. Увійти в систему не було прав на систематичне управління , тому наведене вище рішення не допомогло.

Зрештою я зрозумів, що база даних все ще налаштована в режимі сумісності SQL 2000. Перехід на SQL 2005 вирішив проблему.


Як не дивно, у мене, як видається, є така проблема (користувач, пов’язаний із входом до системи автентифікації SQL, що я намагався пов'язати з існуючою схемою), за винятком мого рівня сумісності: 'SQL Server 2016 (130)'
tbone

0

Передбачається, що схемою за замовчуванням на новому сервері є dbo; Якщо схема не була скопійована з базою даних.

Не рішення, але, можливо, це може допомогти, переглянувши статтю msdn. http://msdn.microsoft.com/en-us/library/dd283095.aspx


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