none
使用SQL2008 MANAGEMENT STUDIO管理介面新增TABLE失敗,但用指令執行可以 RRS feed

  • 問題

  • dear all:
    我有GRANT CREATE TABLE的權限給帳號USER1,
    但是用USER1這個帳號透過SQL2008 MANAGEMENT STUDIO的管理介面要新增TABLE時,
    會出現 "您不是以資料庫擁有人或系統管理員的身分登入,您不能變更儲存到不屬於您的資料表中"的錯誤訊息,
    可是如果透過指令例如:CREATE TABLE T1 (C1 INT)去新增TABLE是OK的,
    請問各位是不是我的設定有問題呢?謝謝.
    2010年5月12日 上午 09:32

解答

所有回覆

  • hi

    權限你確認過應該是沒問題。

    你用user1 帳號登入SSMS,那user1是否為該資料庫的owner?(只要使用者不是資料庫擁有人或屬於 db_owner 角色的成員登入,修改作業就會失敗)

    所以先確認一下到底是什麼角色?

     



    2010年5月12日 上午 10:19
    版主
  • 可能是擁有權鏈結的問題,嘗試把該使用者加入該資料庫的 db_datareader、db_datawriter 固定資料庫角色
    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    在本討論區使用正體中文(即繁體中文),是對參與的朋友的一種尊重,因此請用本討論區的語言:正體中文。
    2010年5月12日 上午 10:21
    版主
  • Dear ricoisme,

           user1並未加入該資料庫的任何角色,

           只有grant create table及部份table的select,insert,update,delete權限,

            以user1 帳號,在查詢視窗執行create table或alter table的指令是可以成功的,

            但是用ssms介面-->資料庫-->資料表-->右鍵-->新增資料表,就會失敗?

    2010年5月13日 上午 01:24
  • Dear Alex,

            user1加入 db_datareader、db_datawriter的權限後,還是不行,

            而且user1對該資料庫的只允許存取某些特定的資料表,如果加上述兩個角色,就會所有的資料表都可以存取了.

    2010年5月13日 上午 01:29
  • Go to Tools -> Options -> Designers-> Uncheck "Prevent saving changes that require table re-creation" in ssms then try again.
    2010年5月13日 上午 02:05
  • 參考:當您嘗試在 SQL Server 2008 中儲存資料表時,出現錯誤訊息: 「 正在儲存變更不允許 」
    ☞ 這裡是「免費的討論區」付費支援服務請造訪 此處享受尊榮服務
    如果回覆對您有幫助,請記得按下標示為解答」
    在本討論區使用正體中文(即繁體中文),是對參與的朋友的一種尊重,因此請用本討論區的語言:正體中文。
    2010年5月18日 上午 02:20
    版主