代码如下
if not exists (select * from master.dbo.syslogins where loginname='sysAdministrator')
begin
exec sp_addlogin 'sysAdministrator','1234'
exec sp_defaultdb 'sysAdministrator','bankDB'
end
go
exec sp_grantdbaccess 'sysAdministrator','sysAdminDBUser'
go
grant select,delete,update,insert on cardInfo to sysAdminDBUser
grant select,delete,update,insert on transInfo to sysAdminDBUser
grant select,delete,update,insert on userInfo to sysAdminDBUser
go
然后就弹出错误对话框说无法连接

解决方案 »

  1.   

    不知道怎么解决 但执行你的SQL语句后 你的数据库内的角色并不存在你创建的那个
      

  2.   

    sysAdminDBUser  , 这个用户没权限吧
      

  3.   

    if not exists (select * from master.dbo.syslogins where loginname='sysAdministrator') 
        begin 
    exec sp_addlogin 'sysAdministrator','1234' 
    exec sp_defaultdb 'sysAdministrator','bankDB' 
        end 
    else
    begin
    if not exists(select * from sysusers where name='sysAdminDBUser')
       exec sp_adduser   'sysAdministrator' ,  'sysAdminDBUser'
    if not exists (select * from syspermissions  where grantee  in (select uid from sysusers where name='sysAdminDBUser') )
               exec sp_grantdbaccess 'sysAdministrator','sysAdminDBUser' 
    REVOKE   all on  cardInfo to sysAdminDBUser 
    grant select,delete,update,insert on cardInfo to sysAdminDBUser 
    grant select,delete,update,insert on cardInfo to sysAdminDBUser 
    grant select,delete,update,insert on cardInfo to sysAdminDBUser 

    end
    go