SQL 链接服务器及权限限制

 

新增一个用户且只赋予它表A及表B select的权限

方法一:T-SQL语法,

exec sp_addlogin 'username','password','DB1'
exec sp_adduser 'username'
grant select on TB1 to username
grant select on TB2 to username
方法二:图形化界面操作
参考http://wenwen.soso.com/z/q230175388.htm
关键点:新建一个数据库实例的登录用户,然后在具体的数据库中“安全性”-->“用户”设定表权限
分布式查询--》链接服务器

远程连接SQL2000时,需要用到系统存储过程 sp_addlinkedserver和sp_addlinkedsrvlogin

例:我要通过查询分析器连接172.20.40.208电脑上的Sea数据库,并查询"pknglst"表,代码如下:

exec sp_addlinkedserver   'ITSV ', '', 'SQLOLEDB','172.20.40.208 ','','','sea'
exec sp_addlinkedsrvlogin  'ITSV ', 'false ',null, 'sa ', 'confidence'
select * from ITSV.sea.dbo.pknglst

"ITSV"为连接此数据库的别名。

"SQLOLEDB"为与此数据源相对应的 OLE DB 提供程序的唯一程序标识符 (PROGID)。MSSQL为SQLOLEDB。

以后不再使用时删除链接服务器代码

exec sp_dropserver  'ITSV ', 'droplogins '

 

 

exec sp_addlinkedserver   'ITSV', '', 'SQLOLEDB','127.0.0.1 '

EXEC sp_addlinkedsrvlogin
     'ITSV', --被访问的服务器别名
     'false',
     NULL,
     'sa', --帐号
     'zhouqing' --密码

Exec sp_droplinkedsrvlogin 'ITSV',Null
Exec sp_dropserver 'ITSV'

 

SQL權限問題,利用Linked Server 建view user存取的相關權限

今天我們有一個外部廠商要存取我們資料庫的某些資料

由於公司不想讓廠商直接連到我的主要的SQL server(假設為A server)

因此要另外架一台SQL,server(假設為B server),

然後在B server利用linked server去A抓一些table建成view存在B server

在B server上開帳號給廠商,讓廠商帳號只能讀 B server上的某些view

但問題是,廠商的權限並無法存取linked server,所以要select view 時就會失敗

訊息 18456,層級 14,狀態 1,行 1

連結伺服器 "XXXXX" 的 OLE DB 提供者 "SQLNCLI" 傳回訊息 "無效的連線字串屬性"。

有解決的方法嗎?

究竟要怎樣提供廠商存取view的權限..但又不讓他直接連到A server

 

 

思路:

要先在A建一個只能select view_A 的 account

然後在B用A這個account來建立 linked server的連線

(同時在安全性裏 選擇廠商的account去對應A的account)

我就在本機伺服器與遠端伺服器登入對應的項目中 加入一筆

本機使用者   摸擬             遠端使使用者      遠端密碼

userB         沒勾選             userA            XXXXXXXX  

参考:http://social.technet.microsoft.com/Forums/zh-TW/sqlservermanagementzhcht/thread/ab6ab7f4-6c6e-41ca-b333-30c7b64c4ddd

 

 

 

权限说明:执行需要的sp_addlinkedserver权限    执行许可权限默认授予 sysadmin 和 setupadmin 固定服务器角色的成员

 

参考:SQL Server的链接服务器技术小结【摘自:91qz.com】 http://www.cnblogs.com/ding0910/articles/419807.html 

SQL Server分布式查询详细介绍 http://www.qqread.com/sqlserver/2010/09/f495658.html

sp_addlinkedserver的一些操作 http://hi.baidu.com/lvzhnan/blog/item/036a98c28084d553b219a87f.html

SQL SERVER2005建Link Server http://space.itpub.net/7728585/viewspace-682567

posted @ 2011-02-23 22:22  zqstc  阅读(4833)  评论(0编辑  收藏  举报