學習SQLServer 的Login和user
實驗步驟:
一:同臺server上建立的實驗
1 首先需要創建一個DB--ygzhouDB,并且創建一個Login--登錄者ygzhou,將DB_name--ygzhou設置成Login_name--ygzhou的默認數據庫
create database ygzhouDB; exec sp_addLogin 'ygzhou';
exec sp_defaultdb 'ygzhou','ygzhouDB';
2 切換數據庫到ygzhouDB,并且為DB--ygzhouDB添加user--ygzhou
exec sp_grantdbaccess 'ygzhou'; --相當于映射DB_User到Login_name
- ---此時可以通過Login_name=ygzhou,password=null登錄DBServer只能查詢ygzhouDB
3 備份數據庫 ygzhouDB
backup database ygzhouDB to disk='G:\backup\ygzhouDB.bak';
4 此時創建獨立的DB_User ygzhou
run{use mastre;
go
drop database ygzhouDB;
exec sp_droplogin 'ygzhou';
} ---- 一般在MSSQLServer上完全刪除 Login和user的方法是:
exec sp_droplogin 'yugzhou';
exec sp_dropuser 'ygzhou';
備份集中有user_name=ygzhou的信息,但是在syslogins視圖中沒有Login_name=ygzhou的登錄用戶。
5 還原數據庫ygzhouDB:
restore database ygzhouDB from disk='G:\backup\ygzhouDB.bak';
--此時的DB中存在的user就是孤立用戶
二:backupDB上建立primaryDB上user擁有的所有權限
primaryDB上操作:
select *from sys.sysusers;
copy相應user的sid;
backupDB上操作:
sp_addlogin 'user_name','user_password',@sid=