簡體   English   中英

在SQL Server 2014中創建具有特定SID的用戶

[英]Create user with specific SID in SQL Server 2014

我需要在測試服務器上創建一個與實時服務器上的用戶具有相同SID的用戶。 這是由於以下事實:我們經常將數據庫從實時服務器復制到測試服務器以獲取新數據,完成后,我在測試服務器上擁有的用戶將無法訪問復制的數據庫,因為該用戶具有不同的SID而不是實時服務器上。

我想我已經有了解決方案,但是我有點害怕直接運行它。 如果我把事情搞砸了,那我就有麻煩了。 當然,沒有像在實時服務器上運行那樣麻煩,但是仍然如此。 也不是最好固定測試服務器。

USE master
GO

DROP LOGIN myuser
GO

CREATE LOGIN [myuser] 
     WITH PASSWORD = 'mypassword',
     SID = 0xEEEEEEEEEEEEEEEEEEEEEEEEEEEE40EE,
     DEFAULT_DATABASE = [MYDB],
     DEFAULT_LANGUAGE = [us_english],
     CHECK_EXPIRATION = OFF,
     CHECK_POLICY = ON
GO

ALTER LOGIN [myuser] ENABLE
GO

USE MYDB
GO

DROP USER myuser
GO

CREATE USER myuser FOR LOGIN myuser
GO

EXEC sp_addrolemember 'db_datareader', 'myuser'
EXEC sp_addrolemember 'db_datawriter', 'myuser'

這個對嗎??

您實際上不需要這樣做。 您需要做的只是同步將用戶與登錄名關聯的SID。 如果您嘗試使用的SID在您的實例中存在,會發生什么?

使用此處發布的腳本Erland容易得多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM