在sql server数据库新建用户,然后给用户赋权,然后在这个用户下建一个数据表,这些脚本应该怎么写,这些好像在sql server里不能生成sql脚本

解决方案 »

  1.   

    --创建用户
    EXEC sp_adduser 'Margaret'--赋权限
    GRANT INSERT, UPDATE, DELETE
    ON authors
    TO Margaret"然后在这个用户下建一个数据表"这句话是什么意思?
      

  2.   

    create table Margaret.表名(id int)
      

  3.   

    创建数据库的脚本是这样的:EXEC sp_adduser 'ZYY'
    GRANT INSERT, UPDATE, DELETE ON zyyunu TO ZYY
    GOif exists (select * from ZYY.sysobjects where id = object_id(N'[ZYY].[FK_t_ph_photo_t_ph_person]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
    ALTER TABLE [ZYY].[t_ph_photo] DROP CONSTRAINT FK_t_ph_photo_t_ph_person
    GOif exists (select * from ZYY.sysobjects where id = object_id(N'[ZYY].[FK_t_ph_templates_t_ph_person]') and OBJECTPROPERTY(id, N'IsForeignKey') = 1)
    ALTER TABLE [ZYY].[t_ph_templates] DROP CONSTRAINT FK_t_ph_templates_t_ph_person
    GOif exists (select * from ZYY.sysobjects where id = object_id(N'[ZYY].[t_ph_person]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [ZYY].[t_ph_person]
    GOif exists (select * from ZYY.sysobjects where id = object_id(N'[ZYY].[t_ph_photo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [ZYY].[t_ph_photo]
    GOif exists (select * from ZYY.sysobjects where id = object_id(N'[ZYY].[t_ph_templates]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
    drop table [ZYY].[t_ph_templates]
    GOCREATE TABLE [ZYY].[t_ph_person] (
    [F_PID] [numeric](28, 0) IDENTITY (1, 1) NOT NULL ,
    [F_ZJLX] [nvarchar] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_GMSFHM] [nvarchar] (18) COLLATE Chinese_PRC_CI_AS NOT NULL ,
    [F_XM] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_XB] [nvarchar] (6) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_MZ] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_CSRQ] [datetime] NULL ,
    [F_ZZ] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_QFJG] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_YXQX] [nvarchar] (21) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_IMG] [image] NULL ,
    [F_CDT] [datetime] NULL ,
    [F_PHOTO] [image] NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GOCREATE TABLE [ZYY].[t_ph_photo] (
    [F_RID] [numeric](28, 0) NOT NULL ,
    [F_PID] [numeric](28, 0) NOT NULL ,
    [F_ZPLY1] [nvarchar] (2) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_ZPLY2] [nvarchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
    [F_PHOTO] [image] NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GOCREATE TABLE [ZYY].[t_ph_templates] (
    [F_RID] [numeric](28, 0) IDENTITY (1, 1) NOT NULL ,
    [F_PID] [numeric](28, 0) NOT NULL ,
    [F_CDT] [datetime] NULL ,
    [F_TMV] [image] NULL ,
    [F_TMI] [image] NULL 
    ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
    GO运行的时候报这样的错误:服务器: 消息 15007,级别 16,状态 1,过程 sp_adduser,行 15
    登录 'ZYY' 不存在。
    服务器: 消息 208,级别 16,状态 11,行 2
    对象名 'zyyunu' 无效。
    服务器: 消息 208,级别 16,状态 1,行 2
    对象名 'ZYY.sysobjects' 无效。
    服务器: 消息 208,级别 16,状态 1,行 2
    对象名 'ZYY.sysobjects' 无效。
    服务器: 消息 208,级别 16,状态 1,行 2
    对象名 'ZYY.sysobjects' 无效。
    服务器: 消息 208,级别 16,状态 1,行 2
    对象名 'ZYY.sysobjects' 无效。
    服务器: 消息 208,级别 16,状态 1,行 2
    对象名 'ZYY.sysobjects' 无效。
    服务器: 消息 2760,级别 16,状态 1,行 2
    指定的所有者名称 'ZYY' 不存在,或者您没有使用该名称的权限。
    服务器: 消息 2760,级别 16,状态 1,行 2
    指定的所有者名称 'ZYY' 不存在,或者您没有使用该名称的权限。
    服务器: 消息 2760,级别 16,状态 1,行 2
    指定的所有者名称 'ZYY' 不存在,或者您没有使用该名称的权限。
      

  4.   

    EXEC sp_adduser 'ZYY'
    不够的,还要添加登陆
    EXEC sp_addlogin ... ...
      

  5.   

    EXEC sp_addlogin '登陆名', '密码', '数据库名', '用户组'
      

  6.   

    EXEC sp_addlogin 'ZYY','ZYY', 'RXSB', 'DBO'
    还是报同样的错误