geo レプリケートされたデータベースにログインとユーザーを作成する必要があります。ユーザーには、このデータベースに対する「db_datareader」の役割が付与されます。
試行されたアプローチは、次のように SID (同一 ID) パラメーターを使用することでした。
-- 1. PRIMARY_DATABASE: Run on master database of Primary Database to create login
CREATE LOGIN [LOGINUSER] WITH password='XYZ'
GO
-- 2. Select details for created SQL login
SELECT [name], [sid]
FROM [sys].[sql_logins]
WHERE [type_desc] = 'SQL_Login'
AND [name] = 'LOGINUSER'
GO
-- 3. SECONDARY_DATABASE: Run on master database of Secondary Database to create login with associated SID
CREATE LOGIN [LOGINUSER]
WITH PASSWORD = 'XYZ',
SID = <SID from Step 2>
GO
ログインの作成は両方のデータベースで正常に機能しますが、PRIMARY_DATABASE へのアクセスは許可され、SECONDARY_DATABASE へのアクセスは次のエラーで拒否されました。
The server principal "LOGINUSER" is not able to access the database "master" under the current security context.
Cannot open user default database. Login failed.
Login failed for user 'LOGINUSER'. (Microsoft SQL Server, Error: 916)
- これは、geo レプリケートされたデータベースでログインを設定するための正しいアプローチですか?
- これらのデータベースでユーザーを設定するにはどうすればよいですか?