為SQL Server快照snapshot DB建立login訪問
為了提供sql server的報表查詢功能,通常在備庫mirror上建立定時snapshot job以提供web查詢。
但是眾所周知的是快照DB只讀不可寫,所以直接在備庫建立login mapping及賦許可權時會報錯:
USE [WEB02]
GO
CREATE USER [test] FOR LOGIN [test]
GO
USE [WEB02]
GO
EXEC sp_addrolemember N'db_datareader', N'test'
GO
Failed to update database "WEB02" because the database is read-only. (Microsoft SQL Server, Error: 3906)
建立方法:
1.先在主庫建立login及mapping對應db的user
2.查詢主庫中新建login的sid
執行:
select name,sid from sys.server_principals
或 select name,sid from sys.sql_logins
3.然後備庫中新建login,並設定sid等於主庫login的sid
USE [master]
GO
CREATE LOGIN [test] WITH PASSWORD=N'test', DEFAULT_DATABASE=[master], CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF sid=0xA366990EC2C0EE47B8826E5DAB5851CD
GO
至此完成,
下次重新整理建立快照後,login及user相關許可權即可和主庫同步,也就可以使用login訪問快照DB了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25583515/viewspace-2644981/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL Server建立Linked Server訪問OracleSQLServerOracle
- SQL Server SnapshotSQLServer
- 淺談SQL Server中的快照問題SQLServer
- 關於SQL Server 映象資料庫快照的建立及使用SQLServer資料庫
- 從Oracle訪問SQL Server(GATEWAYS)OracleSQLServerGateway
- snapshot standby快照備庫角色
- LVM快照Snapshot備份LVM
- SQL Server 資料訪問策略:CLRMESQLServer
- SQL Server 資料訪問策略:即席SQLCUSQLServer
- sql server 2005資料庫快照SQLServer資料庫
- SQL Server 2008快照備份SQLServer
- ORACLE 9i 建立透明閘道器訪問SQL Server 2008OracleSQLServer
- Oracle Gateways透明閘道器訪問SQL ServerOracleGatewaySQLServer
- SQL Server 2005 Beta 2 快照隔離SQLServer
- SQL SERVER建立索引需要注意的問題SQLServer索引
- SQL Server通過dblink訪問Oracle資料SQLServerOracle
- oracle透過透明閘道器訪問sql serverOracleSQLServer
- SQL Server 2016 快照代理過程分析SQLServer
- 無法使用SQL login去登陸SQL Server - 'Password did not match'SQLServer
- 無法使用SQL login去登陸SQL Server - 'Password did not match'SQLServer
- Oracle 快照控制檔案(snapshot control file)Oracle
- Oracle快照控制檔案(snapshot control file)Oracle
- SQL Server跨庫跨伺服器訪問實現SQLServer伺服器
- SQL Server 資料訪問策略:儲存過程QCSQLServer儲存過程
- SQL Server 不同網段IP通過名稱訪問SQLServer
- 在Oracle裡設定訪問多個SQL Server(轉)OracleSQLServer
- MSSQL Server Login and DBUserSQLServer
- [AlwaysOn] 建立SQL Server高可用性組T-SQL語法:DB_FAILOVER引數SQLServerAI
- SQL Server資料庫檢視login所授予的具體許可權問題SQLServer資料庫
- SQL Server如何匯出db所有使用者許可權建立語句SQLServer
- 建立索引——提高SQL Server效能索引SQLServer
- DB2 snapshot 管理檢視DB2
- login.sqlSQL
- Oracle 18C新特性之PDB snapshot(快照) CarouselOracle
- SQL Server不存在或拒絕訪問故障的排除SQLServer
- Sql Server在.net中的資料訪問輔助類SQLServer
- SQL Server 2005 管理併發資料訪問[zt]SQLServer
- 配置sql server 2000以允許遠端訪問SQLServer