문제

SQL Azure에서 작성 해야하는 사용자 계정 및 서버 계정 (및 4 개의 다른 환경에서 (Dev, QA, UAT & Pre Production) 몇 가지 문제가 발생합니다.

문제 1. 마스터 / 생성 사용자에서 로그인 작성을 수행해야합니다. 데이터베이스에서 수행해야합니다. 그러나 데이터베이스를 a로 전환 할 수 없기 때문입니다 Use 성명서, 최소한 2 개의 배치로 이것을해야 할 것입니다.

문제 2. 동적 SQL 또는 IF 차단하여 각 생성 명령문을 확인하지 않으면 할 수 없습니다.

여기에 스누커를 받았습니까, 아니면 SQL Azure에서 기본 존재 확인을 통해 SQL 로그인 및 DB 사용자의 생성을 스크립트하는 다른 쉽고 강력한 방법이 있습니까?

도움이 되었습니까?

해결책

필요한 것을 달성하기 위해 Azure를 위해 PowerShell을 사용할 수 있어야합니다.

다음은 데이터베이스를 만드는 방법의 예입니다.http://blogs.msdn.com/b/windowsazure/archive/2013/02/07/windows-azure-sql-database-management-with-powershell.aspx

다음은 SQL 사용자 생성의 PowerShell 예입니다.http://sqldbawithabeard.com/2013/09/23/add-user-to-database-role-with-powershell/

다른 팁

나는 당신이 이것을 해결했다고 확신하지만,이 스크립트를 Azure SQL에서 사용하여 로그인이 존재하지 않으면 (실행 중입니다. master):

IF NOT EXISTS (SELECT * FROM sys.sql_logins WHERE name = 'Blah')
    CREATE LOGIN Blah WITH PASSWORD = 'BS#ah12!!@#' 
ELSE
    PRINT 'Already exist'

이 스크립트가 존재하지 않으면 사용자를 생성하기위한이 스크립트 (실제 데이터베이스에 대해 실행) :

IF NOT EXISTS (SELECT * FROM sys.sysusers WHERE name='Blah')
    CREATE USER Blah FOR LOGIN Blah WITH DEFAULT_SCHEMA = dbo
ELSE
    PRINT 'Already exists'

(부수적으로 SID 값을 가져와야합니다. sys.sql_logins 그리고 그것을 조회하기 위해 사용합니다 sys.sysusers, 그러나 나는 그 일을하기 위해 컨벤션을 사용하고 있습니다. 보다 https://stackoverflow.com/a/36654590/1462905)

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top