新建登陆用户,登陆后备份数据库出现用户没有RESTORE数据库XXX的权限的提示。
我新建登陆用户,代码如下:
- C# code
DataOperate.strCon = "Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=master;"; string strSql = "EXEC sp_addlogin 'skyland','1818','es_CostumeStore_01_01'"; DataOperate.ExecuteCmd(strSql); DataOperate.strCon = "Data Source=LocalHost;Integrated Security=SSPI;Initial Catalog=es_CostumeStore_01_01;"; strSql = "sp_adduser 'skyland','skylandUser','db_owner'"; DataOperate.ExecuteCmd(strSql);
然后用该用户登陆,进行准备份:
- C# code
strSql += "RESTORE DATABASE es_CostumeStore_01_01 FROM DISK ='" + pDlg.FileName + "' "; strSql += " WITH MOVE 'es_CostumeStore_01_01_Data' TO '" + Application.StartupPath + @"\database\es_CostumeStore_01_01.MDF', "; strSql += " MOVE 'es_CostumeStore_01_01_Log' TO '" + Application.StartupPath + @"\database\es_CostumeStore_01_01_Log.LDF' "; SqlConnection con = new SqlConnection("server=" + strServer + ";database=master;uid=" + strLogonName + ";pwd=" + strPwd); SqlCommand sqlcmd = new SqlCommand(strSql, con);
出现如上错误,我知道是新建的登陆用户没有权限,我想问怎样给新建的用户赋权限,谢谢
[解决办法]
http://topic.csdn.net/t/20041120/10/3570984.html
[解决办法]
业管理器--安全性--右键登录--新建登录
常规项
--名称中输入用户名
--身份验证方式根据你的需要选择(如果是使用windows身份验证,则要先在操作系统的用户中新建用户)
--默认设置中,选择你新建的用户要访问的数据库名
服务器角色项
这个里面不要选择任何东西
数据库访问项
勾选你创建的用户需要访问的数据库名
数据库角色中允许,勾选 "public ", "db_ownew "
确定,这样建好的用户与上面语句建立的用户一样
---------------------------------------
最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例:
--添加只允许访问指定表的用户:
exec sp_addlogin '用户名 ', '密码 ', '默认数据库名 '
http://ynwildfox.blog.sohu.com/172181328.html
方法二:GRANT --授予用户访问权限
http://blog.sina.com.cn/s/blog_669129380100mawi.html